【发布时间】:2019-07-09 05:44:46
【问题描述】:
我正在使用 HTMLPurifier 来防止 xss。 html 包含各种标签,例如 SELECT、OPTION。但是 HTMLPurifier 删除了 SELECT、OPTION 标签并保留了纯文本。如何允许 SELECT、OPTION 标签。
这里是代码
$html = "<select>
<option value="1" selected>Test 1</option>
<option value="2" selected>Test 2</option>
</select>";
$config = \HTMLPurifier_Config::createDefault();
$config->set( 'AutoFormat.RemoveEmpty', true );
$purifier = new \HTMLPurifier( $config );
$cleanHtml = $purifier->purify( $dirtyHTML );
代码返回'Test 1Test 2'
【问题讨论】:
-
您是否查看过有关如何配置 HTMLPurifier 的用户文档?你有没有设置任何配置?你的配置是什么样的?
-
@GordonM 我试过 $config->set( 'HTML.AllowedElements', [ 'select', 'option' ] ),但它给出了一个错误:不支持元素'select'(对于有关实施此功能的信息,请参阅支持论坛)
-
那么您可能想查看支持论坛!
标签: php htmlpurifier