HTML Purifier - 更改默认允许的HTML标记配置

时间:2012-11-06 23:52:17

标签: xss htmlpurifier

我想允许用户可以在论坛中使用的有限白色HTML标记列表。所以我已经像这样配置了HTML Purifier:

$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', 'p,a[href|rel|target|title],img[src],span[style],strong,em,ul,ol,li');
$purifier = new HTMLPurifier($config);

我想知道的是,HTML Purifier的默认配置是否仍然适用,除了减少数量的已接受HTML标记我是否需要重新设置每个可能的配置参数手动?

此外,我应该以任何方式调整默认配置以保证安全吗?我是整个XSS保护的新手,是HTML Purifier的新手,并没有发现手册提供了很多“基本”提示和提示。

2 个答案:

答案 0 :(得分:4)

默认情况下,HTML Purifier是安全的,并且通过更改%HTML.Allowed对其施加的任何限制都只能减少允许的标记集。查看http://htmlpurifier.org/live/smoketests/printDefinition.php以查看调整配置如何更改允许的标记集。

答案 1 :(得分:0)

为什么不使用DOM解析器并检查标记类型是否在允许的HTML标记白名单中?

将输入转换为DOM节点列表,您应该能够循环遍历所有DOM节点,并检查是否允许这种类型。 php.net有很好的例子说明如何做其他人,比如你试图解决输入清理问题。

更多信息: http://php.net/manual/en/class.domdocument.php