前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ThinkPHP6 预防XSS攻击的一点小建议

ThinkPHP6 预防XSS攻击的一点小建议

作者头像
泥豆芽儿 MT
发布2022-09-16 11:13:27
5220
发布2022-09-16 11:13:27
举报
  • 背景 前几天,我们线上项目,出现一些恶意攻击行为; 基本就是恶意用户在一些接口开放的参数上, 填写了类似 <script>alert('搞事情');</script> 的代码,从而影响网站的正常访问
  • 分析 这是典型的 XSS 攻击行为 最简单的处理方式,就是过滤处理请求参数 比如,替换掉 "<script>"、"<img>" 标签等 或者在请求类中 添加过滤方式:htmlspecialchars

概念了解: 【什么是XSS攻击?如何防范XSS攻击?】【XSS攻击介绍(一)】


解决方案

  • 第 ① 种简单方式(不建议,可能造成很多字符转义,影响代码处理逻辑):

在请求处理类文件 app\Request.php 中,添加 htmlspecialchars 过滤方式

效果:htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

  • 第 ② 种方式(推荐):

找到框架文件 vendor/topthink/framework/src/think/Request.php 的方法 filterValue(), 添加过滤代码

代码语言:javascript
复制
//代码
$value = preg_replace("/<(\/?script.*?)>/si","",$value);

效果:会替换掉 <script >...</script> 两边的标签,类似微博过滤效果


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档