1

我刚刚开始使用 HTML Purifier http://htmlpurifier.org过滤来自所见即所得编辑器的内容。内容将显示回用户或同一组中的其他用户。系统上还有其他组,数据完整性非常重要。

我正在使用 PHP,内容存储在 MySQL 数据库中。

HTML Purifier 使用了大量的处理器能力,所以我只想在入站内容上使用它,并直接从数据库中显示出站内容,而不需要任何过滤器。听起来很简单,它已被过滤,所以它应该是安全的,但我不是 100% 确定,它安全吗?

入站 'p[style],strong,em,u,h1,h2,h3,h4,h5,h6,li,ol,ul,span[style],div[style],br,ins,del' 的允许列表

编辑:我发现该网站建议在http://htmlpurifier.org/docs/enduser-slow.html上执行此操作,但由于重要性很高,我想在这里提出一些意见。

4

1 回答 1

1

当您将输入发送到数据库时对其进行清理,否则您将遇到每秒几页浏览量的大麻烦,因为这是一个 CPU 密集型步骤。

但是,您必须确保数据库中的每一行都经过清理,否则有一天您会将自己暴露给 XSS(检查每个编辑或添加条目的请求,并考虑数据库中现有的行)。

小提示:如果您负担得起空间,请存储已消毒和未消毒的输入。如果有一天,您必须更改参数中的某些内容,或者 HTMLPurifier 有一个主要的 0 天,您将能够更新整个表格。但是,如果你有一天这样做,要对效果非常谨慎;)

编辑:通过允许样式来确定你在做什么,或者只允许几个 CSS 样式......

于 2012-07-05T12:53:31.140 回答