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);

15
задан Community 23 May 2017 в 12:17
поделиться