XSS的过滤
Posted 区块链小哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS的过滤相关的知识,希望对你有一定的参考价值。
1、输入过滤,在接收到用户的输入数据之后立即对其进行处理,目前最常用的方法包括黑名单过滤和白名单过滤两种。
黑名单过滤例子
将<script>和</script>替换为空
<?php
$name = $_GET[“name”];
$name = preg_replace(“/<script>/i”,””,$name);
$name = preg_replace(“/<\/script>/i”,””,$name);
echo $name;
?>
如果有alert字符串就报错退出
<?php
if (preg_match(‘/alert/i’,$_GET[“name”])){
die(“error”);
}
?>
白名单过滤例子
<?php
$name = $_POST[“name”];
If(preg_match(“/^[0-9a-zA-z]{3,12}$/”,$name))
die(“error”);
?>
2、对输出内容进行编码或转义。
3、使用相应对的编解码函数
<html>
Hello
<script>
var $a = ‘<?php echo htmlentities($_GET[“name”],ENT_QUOTES); ?>’;
</script>
</html>
以上是关于XSS的过滤的主要内容,如果未能解决你的问题,请参考以下文章