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

  • 背景

    前几天,我们线上项目,出现一些恶意攻击行为;
    基本就是恶意用户在一些接口开放的参数上,
    填写了类似 <script>alert('搞事情');</script> 的代码,从而影响网站的正常访问

  • 分析

    这是典型的 XSS 攻击行为
    最简单的处理方式,就是过滤处理请求参数
    比如,替换掉 "<script>"、"<img>" 标签等
    或者在请求类中 添加过滤方式:htmlspecialchars

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


解决方案

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

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

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

  • 第 ② 种方式(推荐):

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

//代码
$value = preg_replace("/<(\/?script.*?)>/si","",$value);

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


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
thinkphp6 小程序 diy布局是在thinkphp6框架基础上开发的一款支持自定义布局的小程序。它具有以下特点和优势。 首先,thinkphp6 小程序 diy布局提供了丰富的布局模板和组件库,用户可以根据需求选择合适的模板和组件。这些模板和组件都经过精心设计和优化,具有良好的视觉效果和用户体验,能够满足用户对于小程序布局的各种需求。 其次,thinkphp6 小程序 diy布局支持自定义布局。用户可以灵活地调整页面布局,包括添加、删除、拖拽组件,设置组件属性等。用户只需要简单的操作,就可以实现自己想要的页面布局效果,无需编写复杂的代码,提高了开发效率和体验。 另外,thinkphp6 小程序 diy布局具有良好的兼容性。它基于最新的微信小程序开发框架开发,能够兼容各种小程序平台,包括iOS和Android系统。用户可以在不同的平台上使用相同的布局效果,确保了小程序在不同设备上的兼容性和一致性。 最后,thinkphp6 小程序 diy布局还提供了丰富的扩展功能和插件支持,用户可以根据自己的需求进行定制化开发。同时,它也支持与其他thinkphp6框架的功能进行集成,实现更多的功能组合和扩展。 总结起来,thinkphp6 小程序 diy布局是一款功能强大的小程序布局开发工具,它提供了丰富的布局模板和组件库,支持自定义布局和扩展功能,具有良好的兼容性和用户体验。使用它可以快速实现小程序的布局需求,提高开发效率和用户满意度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值