0

我有一个带有 CKEditor(所见即所得)的 textarea 设置,其中允许用户使用一些标记选项输入信息。但是,我需要阻止潜在的黑客利用此功能并输入恶意代码。

我可以使用 PHPs strip_tags() 使用允许的标签数组去除我不想要的标签:http: //php.net/manual/en/function.strip-tags.php

然而,攻击者仍然有可能简单地将onload等添加onclick到允许列表中的任何 HTML 标记。

那么检查此类问题的最佳选择是什么?

我最初的想法是创建一个包含这些 JavaScript 函数的黑名单数组,然后查看它们中的任何一个是否出现在输入的数据中。

这听起来像是一个好方法还是有更好的选择?

4

1 回答 1

2

使用更强大的工具,例如http://htmlpurifier.org/

它允许您清理输入、添加允许的属性、标签。你会有更多的控制权。

我强烈建议您创建白名单,而不是黑名单。使用黑名单,您可以跳过一些危险的属性,而使用白名单,您可以允许您想要的内容。

于 2012-05-25T09:55:02.150 回答