我刚开始使用HTML Purifier http://htmlpurifier.org来过滤WYSIWYG编辑器中的内容。内容将显示回用户或同一组中的其他用户。系统上还有其他组,数据完整性非常重要。
我正在使用PHP,内容存储在MySQL数据库中。
HTML Purifier使用大量的处理器能力,因此我只想在入站内容上使用它,并直接从数据库显示出站内容而不使用任何过滤器。它听起来很简单,因此它应该是安全的,但我不是百分百肯定,是否安全?
入站允许列表 'P [式],强,EM,U,H1,H2,H3,H4,H5,H6,LI,醇,UL,跨度[式],DIV [式],BR,插入,删除'
编辑:我发现该网站建议在http://htmlpurifier.org/docs/enduser-slow.html执行此操作,但由于其重要性,我想在此提出一些意见。
答案 0 :(得分:1)
当您将输入发送到数据库时清理您的输入,否则您将遇到一些浏览量/秒的大麻烦,因为这是一个CPU密集型步骤。
但是,您必须确保清理数据库中的每一行,或者有一天您将自己暴露给XSS(检查每个编辑或添加条目的请求,并考虑数据库中的现有行)。
小提示:如果您能负担得起空间,请存储已消毒和未消毒的输入。如果有一天,您必须更改参数中的某些内容,或者HTMLPurifier有一个主要的0天,您将能够更新整个表格。但是,如果你有一天这样做,请非常谨慎;)
编辑:确保你通过允许样式做什么,或者只允许少数CSS样式...