Экранирующие переменные

мы читали, что этодостаточно и даже рекомендуется экранировать символы на выходе, а не на входе.

Это может быть легко применено ко всем переменным get, поскольку они не внедряются в базу данных с уровня формы.

Однако я'Я не уверен, что делать со всеми переменными записей. Если это не такиз базы данных, так что еслиС необработанными входными данными, экранирование полностью необходимо. Но я'используя PDO prepare / execute для экранирования всех переменных. Вопросы сейчас:

Можно ли использовать PDO?s подготовить / выполнить как в операциях выбора, так и в вставке? Isn»Это экранирование переменных дважды?Позволять'скажем, я получаю некоторую переменную через оператор PDO exeute - нормально ли отображать эту переменную просто с помощью $ _POST ['переменная»] без экранирования (если это уже было сделано в функции PDO)?Достаточно ли htmlspecialchars (), чтобы избежать таких вещей, как переменные GET, которые неиз базы данных?

И самое главное - достаточно ли всего этого, подготовки / выполнения PDO и htmlspecialchars (), чтобы предотвратить все атаки XSS? Или я должен сделать больше? Если так, что это должно быть? Удалить все теги HTML из ввода? Вместо этого используете BB-код?

Ответы на вопрос(4)

Ваш ответ на вопрос