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

hyperf 和 laravel、lumen防止xss攻击中间件封装

hyperf 防止xss攻击自定义中间件封装

<?phpdeclare(strict_types=1);namespace App\Middleware;use Psr\Container\ContainerInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;class XSSProtectionMiddleware implements MiddlewareInterface
{/*** @var ContainerInterface*/protected $container;public function __construct(ContainerInterface $container){$this->container = $container;}public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface{$input = $request->all();array_walk_recursive($input, function(&$input) {$input = (strip_tags(htmlspecialchars(htmlentities($input, ENT_QUOTES, 'UTF-8'))));});$request = $request->withQueryParams($input);return $handler->handle($request);}
}

laravel、lumen防止xss攻击自定义中间件封装

<?phpnamespace App\Http\Middleware;use Closure;
use Illuminate\Http\Request;class XSSProtectionMiddleware
{/*** Handle an incoming request.** @param  \Illuminate\Http\Request  $request* @param  \Closure  $next* @return mixed*/public function handle(Request $request, Closure $next){$input = $request->all();array_walk_recursive($input, function(&$input) {$input = (strip_tags(htmlspecialchars(htmlentities($input, ENT_QUOTES, 'UTF-8'))));});$request->merge($input);return $next($request);}
}
http://www.lryc.cn/news/286242.html

相关文章:

  • flask web 学习之用户认证与会话管理
  • 更改wpf原始默认按钮的样式
  • 【协议】HTTP、HTTPS和HTTP2.0学习总结
  • [数据结构]顺序表
  • 北斗卫星为野外科考人员提供安全保障
  • Linux的一些快捷键(hot keyboard)
  • Charles将证书安装到系统的方法(adb)
  • git 常用指令 (先收藏再说)
  • 2024问题汇总
  • 爬虫(学习笔记)
  • 让业务满意的性能测试报告模板应该是怎样的?
  • 高防IP如何保护服务器
  • C++提高编程——STL:string容器、vector容器
  • three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图
  • Gradle 笔记
  • flume案例
  • 信用评价研究MATLAB仿真代码
  • 网络安全产品之认识防毒墙
  • android 防抖工具类,经纬度检查工具类
  • PgSQL - 17新特性 - 块级别增量备份
  • Vue3setup()的非语法糖和语法糖的用法
  • HTTP状态信息
  • CSS之边框样式
  • k8s-helm
  • 黑马程序员JavaWeb开发|Maven高级
  • 【经验分享】MAC系统安装R和Rstudio(保姆级教程)安装下载只需5min
  • 探索设计模式的魅力:“感受单例模式的力量与神秘” - 掌握编程的王牌技巧
  • SpringCloud Aliba-Seata【上】-从入门到学废【7】
  • C# Cad2016二次开发选择csv导入信息(七)
  • [陇剑杯 2021]日志分析