如何在laravel 5中创建用于XSS防御的中间件?
发布:smiling 来源: PHP粉丝网 添加日期:2020-01-16 10:43:07 浏览: 评论:0
XSS(跨站点脚本)防御可以说是在站点中必须使用的,如果不使用XSS防御,那么你的站点就极其不安全。XSS过滤器可以从输入值中删除html标记,所以为了安全起见,删除html标记非常重要。在laravel 5.2中,可以通过在项目中使用中间件概念来实现。
下面我就给大家介绍如何在laravel应用程序中创建XSS过滤中间件。
首先启动以下命令并创建中间件:
创建中间件:
php artisan make:middleware XSS
现在,你可以在app/Http/Middleware/XSS.php中看到新文件,并将下面的代码放入你的XSS.php文件中。
XSS.php
- namespace App\Http\Middleware;
- use Closure;
- use Illuminate\Http\Request;
- class XSS
- {
- public function handle(Request $request, Closure $next)
- {
- $input = $request->all();
- array_walk_recursive($input, function(&$input) {
- $input = strip_tags($input);
- //phpfensi.com
- });
- $request->merge($input);
- return $next($request);
- }
- }
最后,必须在app/Http/Kernel.php文件中注册中间件。并在$routeMiddleware数组中添加以下行。
Kernel.php
- class Kernel extends HttpKernel
- {
- ....
- protected $routeMiddleware = [
- 'auth' => \App\Http\Middleware\Authenticate::class,
- ....
- 'XSS' => \App\Http\Middleware\XSS::class,
- ];
- }
现在你可以在你的routing .php文件中使用XSS中间件了,在下面routing .php文件中你可以这样做:
routes.php
- Route::group(['middleware' => ['XSS']], function () {
- Route::get('customVali', 'CustomValDemoController@customVali');
- Route::post('customValiPost', 'CustomValDemoController@customValiPost');
- });
Tags: laravel
相关文章
- ·Laravel 5.6中的CURD操作(代码示例详解)(2020-01-15)
- ·关于Laravel重定向的七种方法详解(2020-01-26)
- ·如何在laravel 5中使用DB事务?(2020-01-31)
- ·Laravel中如何给图片加水印?(2020-04-05)
- ·Laravel框架数据库CURD操作、连贯操作总结(2021-04-10)
- ·Laravel框架路由配置总结、设置技巧大全(2021-04-10)
- ·Laravel框架中扩展函数、扩展自定义类的方法(2021-04-10)
- ·跟我学Laravel之快速入门(2021-04-16)
- ·跟我学Laravel之安装Laravel(2021-04-16)
- ·跟我学Laravel之配置Laravel(2021-04-16)
- ·跟我学Laravel之请求(Request)的生命周期(2021-04-16)
- ·跟我学Laravel之路由(2021-04-16)
- ·跟我学Laravel之请求与输入(2021-04-17)
- ·跟我学Laravel之视图 & Response(2021-04-17)
- ·laravel安装和配置教程(2021-04-19)
- ·Laravel 4.2 中队列服务(queue)使用感受(2021-04-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)