18

免责声明

这不是关于我们是否应该为数据库输入转义的问题。这是严格查看标题中三个功能之间的技术差异。

这个问题htmlentities()讨论和之间的区别htmlspecialchars()。但是,它并没有真正讨论filter_var(),我在 Google 上找到的信息更像是“确保在回显之前避开用户输入!”

我的问题是:

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

filter_var($var, FILTER_SANITIZE_FULL_SPECIAL_CHARS);

4

1 回答 1

11

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

于 2011-08-05T20:47:40.223 回答