就像我们使用 htmlspecialchars
来避免 html 标签作为输入一样。
同样,我们是否也可以使用任何函数或方法来避免使用 JavaScript?
htmlspecialchars
不处理脚本标记。
任何建议。 ?
最佳答案
使用filter_input和 FILTER_SANITIZE_FULL_SPECIAL_CHARS标志。
这将转换 <
和>
至<
和>
,分别。
$input = filter_input(INPUT_POST, 'fieldName', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
所以这个:
<script>alert('hello');</script>
变成这样:
<script>alert('hello');</script>
看看不同的 sanitizer 过滤器。不要对所有内容都使用 fullspecialchars,而是使用适用于您期望的输入的过滤器...例如。如果您需要号码,请使用号码过滤器。
关于javascript - PHP - 阻止攻击者在输入框中使用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32257186/