Ответственность
Это не вопрос о том, должны ли мы бежать для ввода в базу данных. Это строго смотрит на технические различия между тремя функциями в названии.
Существует этот вопрос , обсуждающий разницу между htmlentities()
и htmlspecialchars()
. Но в действительности это не обсуждает filter_var()
, и информация, которую я нашел в Google, была примерно такой: «Убедитесь, что вы избегаете пользовательского ввода, прежде чем он появится!»
Мои вопросы:
- Почему
htmlspecialchars()
и htmlentities()
обычно используются вместо filter_var()
?
- Есть ли какое-то снижение производительности при использовании
filter_var()
?
- Разве
filter_var()
не так безопасен, как другие два варианта?
- Есть ли какая-либо другая причина НЕ использовать следующее для кодирования пользовательского ввода до того, как
echod
filter_var($var, FILTER_SANITIZE_FULL_SPECIAL_CHARS);