0
点赞
收藏
分享

微信扫一扫

php判断和过滤get或者post的html标签,防止跨站点脚本(XSS),链接注入,框架注入等攻击

晴儿成长记 03-03 22:30 阅读 2

大部分网站都包含搜索功能,根据用户搜索的词去执行服务端的业务逻辑。如果一些黑客在搜索参数包含链接(a)、嵌入其他网页(iframe)、前端代码(script)等html字符,再加上服务端php不加任何处理去解析或者展示了用户请求的参数,就可能出现跨站点脚本(XSS),链接注入,框架注入等安全漏洞。

下面通过直接判断请求字符串是否包含html标记,去屏蔽非法请求,从而杜绝这类攻击。

// 搜索的php处理页面,如搜索关键词参数为s
$s = $_GET['s'];
if (preg_match('/<[^>]+>/', $s) || preg_match('/<[^>]+>/', htmlspecialchars_decode($s))) {
    // echo "搜索的关键词不能包含HTML标签";
    echo "非法参数";
    exit();
}
// 不包含HTML标签,后续继续原由的处理……
举报
0 条评论