Am使用paragonie(Paragonie noHTML)指定的以下内容转义所有html。
但是当我尝试以下操作时,警报仍然会执行。我认为htmlentities应该掩盖所有实体并加以保护。
我想念什么? 正在使用php7.2
$a="alert('hi')";
<body onload=<?php echo noHTML($a);?> > </body>
<?php
/**
* Escape all HTML, JavaScript, and CSS
*
* @param string $input The input string
* @param string $encoding Which character encoding are we using?
* @return string
*/
function noHTML($input, $encoding = 'UTF-8')
{
return htmlentities($input, ENT_QUOTES | ENT_HTML5, $encoding);
}