如何在laravel 5中创建用于XSS防御的中间件?

Posted php中文网最新课程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在laravel 5中创建用于XSS防御的中间件?相关的知识,希望对你有一定的参考价值。

如何在laravel 5中创建用于XSS防御的中间件?

源 / php中文网      源 / www.php.cn


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 AppHttpMiddleware;

use Closure;

use IlluminateHttpRequest;

class XSS

{

    public function handle(Request $request, Closure $next)

    {

        $input = $request->all();

        array_walk_recursive($input, function(&$input) {

            $input = strip_tags($input);

        });

        $request->merge($input);

        return $next($request);

    }

}

最后,必须在app/Http/Kernel.php文件中注册中间件。并在$routeMiddleware数组中添加以下行。


Kernel.php

class Kernel extends HttpKernel

{

    ....

    protected $routeMiddleware = [

        'auth' => AppHttpMiddlewareAuthenticate::class,

        ....

        'XSS' => AppHttpMiddlewareXSS::class,

    ];

}

现在你可以在你的routing .php文件中使用XSS中间件了,在下面routing .php文件中你可以这样做:


routes.php

Route::group(['middleware' => ['XSS']], function () {

  Route::get('customVali', 'CustomValDemoController@customVali');

  Route::post('customValiPost', 'CustomValDemoController@customValiPost');

});


相关laravel视频教程:《最新laravel商城实战视频教程》

http://www.php.cn/course/871.html


相关博客推荐:《防御SQL注入和XSS攻击》

http://www.php.cn/blog/detail/216.html


本篇文章就是关于在laravel 5中创建用于XSS防御的中间件的方法介绍,希望对需要的朋友有所帮助!


-END-

声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!

请点击下方:“阅读原文”,在线查看全部文章内容!


以上是关于如何在laravel 5中创建用于XSS防御的中间件?的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 8 中创建 auth guard 使用中间件

如何在octobercms中创建中间件

如何在 Laravel 5.2 中创建多重身份验证

如何在 Laravel 5 中创建表迁移

如何在 laravel 5.6 中创建自定义帮助文件?

如何使用 laravel 5.8 在控制器中创建条件?