0

我有一个用 ZendFramework 编写的庞大应用程序。早些时候一切都很好。至于现在它被重新设计并获得了许多新的功能和选项,但我必须保护这个软件免受 xss 的侵害。变量取自几个来源(webform、Webservices、api 等),其中一些应该被转义,一些则不应该。您认为,在不编辑所有(2 000 +)文件并转义所有回声的情况下,保护我的网站的最佳方法是什么?

4

1 回答 1

0

Zend Framework 带有一个名为“Zend_Filter”的类。此类有一个“StripTags”过滤器选项,它将从给定字符串中删除所有标签。

http://framework.zend.com/manual/en/zend.filter.set.html#zend.filter.set.striptags

如果您注意到,如果您排除某些内容并且不应该使用它来防御 XSS 攻击,即使是带标签过滤器也不推荐用于清理输入。它建议使用 Tidy 或 HTMLPurifier。

http://tidy.sourceforge.net/

http://htmlpurifier.org/

我认为 HTML Purifier 很容易使用。从他们的文档网站:

require_once '/path/to/HTMLPurifier.auto.php';

$config = HTMLPurifier_Config::createDefault(); $purifier = 新 HTMLPurifier($config); $clean_html = $purifier->purify($dirty_html);

我希望这会有所帮助!

干杯!

于 2012-08-02T22:00:29.823 回答