htmlentities无法阻止加载警报-XSS

时间:2019-03-12 03:20:12

标签: security xss php-7 html-entities

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);
}

0 个答案:

没有答案