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

本文介绍了如何通过在PHP中检查搜索参数是否包含HTML标记来防止XSS和链接注入等安全漏洞。通过使用正则表达式和htmlspecialchars_decode函数,确保用户输入的安全性。
摘要由CSDN通过智能技术生成

大部分网站都包含搜索功能,根据用户搜索的词去执行服务端的业务逻辑。如果一些黑客在搜索参数包含链接(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标签,后续继续原由的处理……

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值