我试试HTMLpurifier库,经过许多输入字符串测试我在这里堆叠,我想知道为什么会发生这种情况。具体来说,我有这个功能
function filterxss($var){
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
return $purifier->purify($var);
}
使用该输入字符串
$a = '<</script>script type="text/javascript">alert("test");<</script>/script>';
用
echo filterxss($a);
它在浏览器中将其打印为纯文本。回声产生了
<script type="text/javascript">alert("test");</script>
为什么脚本没有被执行?
请不要投反对票。我要求解释答案 0 :(得分:2)
纯化元素的源代码是:
<script type="text/javascript">alert("test");</script>
因此它显示为纯文本,而不是脚本