Zend视图中的$ this-> escape()是否足以支持xss

时间:2010-11-21 00:00:56

标签: php security zend-framework xss htmlpurifier

我在zend视图中做了很多$this->escape()。这足以阻止XSS吗?

Zend Framework之外还有HTMLPurifier。我想知道zend的$this->escape()与HTMLPurifier的比较。

2 个答案:

答案 0 :(得分:4)

HTMLPurifier用于不同的目的。 HTMLPurifier不会逃避HTML ...嗯,不完全是。它需要一个你给它的配置来定义HTML中允许的内容以及不允许的内容,并根据它进行清理。结果实际上仍然是HTML,删除/清理了某些内容。

另一方面,

escape()将类似HTML的字符转换为HTML实体,以便它们在浏览器中呈现相同的字符,而不是被解释为HTML(例如& - &gt; &amp;< - &gt; &lt;> - &gt; &gt;等等。

不同的目标。

它是否可以帮助您避免XSS问题?是的,但请确保您已正确配置字符编码。

答案 1 :(得分:4)

escape是htmlspecialchars的别名。它允许您输出纯文本,而HTMLPurifier允许您输出安全的HTML。

你不能使用纯文本的XSS。

如果要输出来自用户输入的安全HTML(例如富文本编辑器),则必须使用HTMLPurifier而不是strip_tags。