【发布时间】:2013-08-17 17:56:11
【问题描述】:
如何设置 HTML.ForbiddenElements 的值,使其不允许输入任何 HTML 标签。
【问题讨论】:
标签: htmlpurifier
如何设置 HTML.ForbiddenElements 的值,使其不允许输入任何 HTML 标签。
【问题讨论】:
标签: htmlpurifier
如果你想用 HTML Purifier 禁止 一切,最简单的方法应该是用白名单 HTML.Allowed 设置一个空,而不是尝试一个彻底的黑名单。 (一般来说,我建议远离黑名单方法,除非你真的别无选择 - 有了黑名单,总有机会错过一些东西。)
但是:
HTML Purifier 是一个专门为您允许 HTML 提供帮助的工具。如果您不这样做,很可能只是计算开销,并没有为您带来好处。
对比:
也许尝试htmlspecialchars(strip_tags(...), ENT_QUOTES, 'your-encoding-goes-here') 代替?对于您要实现的目标,这应该更快且同样安全。
【讨论】:
$this->title = strip_tags($this->title); 作为标题,使用 HTMLPurifier 作为描述。我正确地使用了 strip_tags?还是必须从 htmlspecialchars 使用?
htmlspecialchars(strip_tags()),因为单独使用strip_tags() 并不安全。这意味着如果有人真的想入侵您的网站,他们可以绕过strip_tags()。当然,如果您的 $this->title 在输出之前已经被 html 转义,那么您不必在那里(实际上也不应该这样做),但如果不了解您的设置,我不能建议。祝你好运! :)