ToB企服应用市场:ToB评测及商务社交产业平台

标题: laravel8利用中间件实现xss处理 [打印本页]

作者: 王國慶    时间: 2024-6-11 11:42
标题: laravel8利用中间件实现xss处理
1、创建中间件
  1. php artisan make:middleware XSSClean
复制代码
2、编辑app/Http/Middleware/XSSClean.php文件
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Http\Request;
  5. class XSSClean
  6. {
  7.     /**
  8.      * Handle an incoming request.
  9.      *
  10.      * @param \Illuminate\Http\Request $request
  11.      * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
  12.      * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
  13.      */
  14.     public function handle(Request $request, Closure $next)
  15.     {
  16.         // return $next($request);
  17.         $query = $request->query->all();
  18.         $req = $request->request->all();
  19.         // $all = $request->all();
  20.         array_walk_recursive($query, function (&$params) {
  21.             // $params = htmlspecialchars($params);
  22.             $params = strip_tags($params);
  23.         });
  24.         $request->query->replace($query);
  25.         // $request->merge($query);
  26.         array_walk_recursive($req, function (&$params) {
  27.             // $params = htmlspecialchars($params);
  28.             $params = strip_tags($params);
  29.         });
  30.         $request->request->replace($req);
  31.         // $request->merge($req);
  32.         return $next($request);
  33.     }
  34. }
复制代码
3、配置app/Http/Kernel.php文件
  1.     protected $middleware = [
  2.         // ...
  3.         XSSClean::class, // 增加xss处理中间件
  4.         // ...
  5.     ];
复制代码

其他方案:
  1. composer require mews/purifier
复制代码

参考:
laravel8 实现XSS防备处理方案_laravel防止转义xss-CSDN博客
360通用php防护代码(利用操作详解)_php编程-跟版网
https://www.cnblogs.com/bingtang123/p/12844659.html 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4