Подтвердить что ты не робот

Filter_var vs htmlentities vs htmlspecialchars

Отказ

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

Существует этот вопрос, обсуждая разницу между htmlentities() и htmlspecialchars(). Но на самом деле он не обсуждает filter_var(), и информация, которую я нашел в Google, больше похожа на строку "Убедитесь, что вы избегаете пользователя перед тем, как он будет эхо!"

Мои вопросы:

  • Почему htmlspecialchars() и htmlentities() обычно используются для filter_var()?
  • Есть ли какая-то производительность при использовании filter_var()?
  • Является ли filter_var() не столь безопасным, как два других варианта?
  • Есть ли другая причина НЕ использовать следующее для кодирования ввода пользователя перед тем, как echod

filter_var($var, FILTER_SANITIZE_FULL_SPECIAL_CHARS);

4b9b3361

Ответ 1

Мое предположение (об отсутствии усыновления) было бы просто потому, что расширение фильтра было включено по умолчанию только с v5.2, тогда как методы html * были дольше.