当前位置: 首页 > news >正文

laravel8使用中间件实现xss处理

1、创建中间件

php artisan make:middleware XSSClean

2、编辑app/Http/Middleware/XSSClean.php文件

<?phpnamespace App\Http\Middleware;use Closure;
use Illuminate\Http\Request;class XSSClean
{/*** Handle an incoming request.** @param \Illuminate\Http\Request $request* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse*/public function handle(Request $request, Closure $next){// return $next($request);$query = $request->query->all();$req = $request->request->all();// $all = $request->all();array_walk_recursive($query, function (&$params) {// $params = htmlspecialchars($params);$params = strip_tags($params);});$request->query->replace($query);// $request->merge($query);array_walk_recursive($req, function (&$params) {// $params = htmlspecialchars($params);$params = strip_tags($params);});$request->request->replace($req);// $request->merge($req);return $next($request);}
}

3、配置app/Http/Kernel.php文件

    protected $middleware = [// ...XSSClean::class, // 增加xss处理中间件// ...];

其他方案:

composer require mews/purifier

参考:

laravel8 实现XSS预防处理方案_laravel防止转义xss-CSDN博客

360通用php防护代码(使用操作详解)_php编程-跟版网

https://www.cnblogs.com/bingtang123/p/12844659.html 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 简单说一下STL中的map容器的特点、底层实现和应用场景【面试】
  • 【云原生】Kubernetes----Rancher助力Kubernetes监控
  • 开发uniapp 小程序时遇到的问题
  • DeepSORT(目标跟踪算法) 卡尔曼滤波 状态向量是如何映射到观测向量(测量向量)的即观测矩阵的构建方式
  • MySQL怎么为表添加描述
  • PR插件-图层抖动弹跳缩放旋转模糊闪烁缩放抖动动作效果预设
  • spring管理的对象通过@Init注解修饰的方法不会在new对象的时候触发
  • 【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(二)
  • css3新增的伪类有哪些
  • mysql8.0 sql_mode与ONLY_FULL_GROUP_BY报错
  • 《广告数据定量分析》核心内容——搜索广告投放优化方法
  • 湖州等保测评公司有几家?在那里?电话多少?
  • mtk镜像签名
  • 13600KF+3060Ti,虚拟机安装macOS 14,2024年6月
  • java算法:快速排序
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • CAP 一致性协议及应用解析
  • emacs初体验
  • JAVA_NIO系列——Channel和Buffer详解
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript对象详解
  • Java程序员幽默爆笑锦集
  • Linux中的硬链接与软链接
  • maven工程打包jar以及java jar命令的classpath使用
  • passportjs 源码分析
  • Python中eval与exec的使用及区别
  • Redis 中的布隆过滤器
  • 力扣(LeetCode)965
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 浅谈Golang中select的用法
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 一道闭包题引发的思考
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • #Linux(make工具和makefile文件以及makefile语法)
  • #大学#套接字
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C++哈希表01)
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (C语言)共用体union的用法举例
  • (day18) leetcode 204.计数质数
  • (javaweb)Http协议
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (六)软件测试分工
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (译) 函数式 JS #1:简介
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)为C# Windows服务添加安装程序
  • (转载)Linux 多线程条件变量同步
  • (转载)Linux网络编程入门
  • *上位机的定义