我有一些我在本地编写的 HTML,并希望通过 HTML 净化器运行它。它完全由我生成,所以我知道没有 XSS 漏洞。我正在尝试通过净化器运行它,但是无论我尝试什么,都会解析出 href='javascript:myFunc()' 。
我目前的设置是:
$string = file_get_contents($myHTMLFile);
$schemes = array (
'http' => true,
'https' => true,
'mailto' => true,
'ftp' => true,
'nntp' => true,
'news' => true,
'javascript' => true,
);
$config = HTMLPurifier_Config::createDefault();
$config->set('URL.AllowedSchemes', array($schemes));
$purifier = new HTMLPurifier($config);
$string = $purifier->purify($string);
这根本不起作用 - 所有的 javascript 都被删除了。
我查看了所有各种 HTML Purifier 配置设置,但找不到我需要的。有答案吗?
提前致谢