阻止攻击者在输入框中使用javascript


PHP - Stop attackers in using javascript in inputbox

就像我们使用htmlspecialchars避免html标签作为输入一样。

同样,是否有任何函数或方法,我们可以使用,以避免javascript太?

htmlspecialchars不关心脚本标签。

任何建议。div ?

使用filter_input和FILTER_SANITIZE_FULL_SPECIAL_CHARS标志

这将把<>分别转化为&lt;&gt;

$input = filter_input(INPUT_POST, 'fieldName', FILTER_SANITIZE_FULL_SPECIAL_CHARS);

:

<script>alert('hello');</script>

变成这样:

&lt;script&gt;alert(&#039;hello&#039;);&lt;/script&gt;

看看不同的消毒过滤器。不要对所有内容都使用fullspecialchars,而是使用适用于您期望的输入的过滤器…例如,如果你要一个数字,使用数字过滤器。

它应该照顾脚本标记,因为<>标记是翻译的。

<(小于)变为&lt;

>(大于)变为&gt;

查看PHP文档:http://php.net/manual/en/function.htmlspecialchars.php