filter_var vs htmlentities vs htmlspecialchars

时间:2011-08-05 20:43:22

标签: php escaping html-entities htmlspecialchars filter-var

  

声明

     
    

这不是关于我们是否应该逃避数据库输入的问题。这严格关注标题中三个函数之间的技术差异。

  

this question讨论htmlentities()htmlspecialchars()之间的区别。但是,它并没有真正讨论filter_var(),而我在Google上发现的信息更像是“确保在回复之前逃避用户输入!”

我的问题是:

  • 为什么htmlspecialchars()htmlentities()常用于filter_var()
  • 使用filter_var()会对性能造成影响吗?
  • filter_var()不如其他两个选项安全吗?
  • echod
  • 之前,是否有任何其他原因不使用以下内容对用户输入进行编码

filter_var($var, FILTER_SANITIZE_FULL_SPECIAL_CHARS);

1 个答案:

答案 0 :(得分:9)

我的猜测(关于缺乏采用)将仅仅是因为过滤器扩展仅在v5.2之后默认启用,而html *方法已经存在更长时间。