就像我们使用htmlspecialchars
避免html标签作为输入一样。
htmlspecialchars
不关心脚本标签。
任何建议。div ?
使用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>
看看不同的消毒过滤器。不要对所有内容都使用fullspecialchars,而是使用适用于您期望的输入的过滤器…例如,如果你要一个数字,使用数字过滤器。
它应该照顾脚本标记,因为<
和>
标记是翻译的。
<
(小于)变为<
>
(大于)变为>
查看PHP文档:http://php.net/manual/en/function.htmlspecialchars.php