这与HTMLPurifier - 添加到忽略列表有关。我在白名单中添加了几个标签。我现在有这个代码 -
$config->set('HTML', 'AllowedElements', array("customreport", "column", "columnseq"));
$def = $config->getHTMLDefinition(true);
$def->addElement("customreport", 'Block', 'Flow', 'Common', array());
$def->addElement("column", 'Block', 'Inline', 'Common', array());
$def->addElement("columnseq", 'Inline', 'Empty', 'Common', array('path'=>'CDATA', 'label'=>'CDATA'));
问题是,如果我发送一个带有单引号属性值的 html 标记,htmlpurifier 会将其更改为双引号。例如
<columnseq path='test' label='tlabel' />
它甚至发生在演示站点(http://htmlpurifier.org/demo.php)上,带有测试字符串
<A HREF='http://www.google.com/'>XSS</A>
这种行为可以被覆盖吗?