我正在构建一个允许用户通过HTML模板构建自己网站的网站。我应该使用什么样的HTMLPurifier设置来阻止XSS攻击?
在我的模板系统中,我只允许他们编辑模板的特定部分(即不是整个HTML文件,只是其中的一部分)。这不允许他们编辑标签外部,这没关系,但我不希望他们在所述特定部分中使用javascript。
任何已经拥有此类HTMLPurifier设置的人?
答案 0 :(得分:1)
听起来你想要一个白名单。这很好,因为这就是HTML Purifier的工作原理。
您将希望自己浏览标记和属性列表,并简单地确定允许的内容。
仅允许本质安全的元素,允许不包含CSS或Javascript的属性或引用外部资源(如图像)。
说实话,你几乎可以允许表单/输入之外的所有内容,iframe,脚本/脚本,对象/嵌入,头脑中的任何东西,以及xmp。其他一切都是语义或风格的,而且大部分都是无害的。