Code前端首页关于Code前端联系我们

开发laravel5.2应用时创建XSS过滤中间件

terry 2年前 (2023-09-25) 阅读数 50 #后端开发

页面上可以说必须使用XSS防御(跨站脚本)。如果你不使用XSS防御,你的网站将极其危险。 XSS 过滤器可以从输入值中删除 html 标签,因此出于安全原因删除 html 标签非常重要。在 Laravel 5.2 中,这可以通过在项目中使用中间件的概念来实现。

laravel5.2应用程序开发中创建XSS过滤中间件

现在我将向您介绍如何在laravel应用程序中创建XSS过滤中间件。

首先运行以下命令来创建中间件:

创建中间件

php artisan make:middleware XSS

现在您可以在app/Http/Middleware/中看到新文件,并将以下代码粘贴到您的文件中。

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);
        });
        $request->merge($input);
        return $next($request);
    }
}

最后,中间件必须注册在文件app/Http/中。将以下行添加到 $routeMiddleware 字段。

class Kernel extends HttpKernel
{
	....
    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        ....
        'XSS' => \App\Http\Middleware\XSS::class,
    ];
}

现在您可以在路由 .php 文件中使用 XSS 中间件。您可以在以下 .php 路由文件中执行此操作:

routes.php

Route::group(['middleware' => ['XSS']], function () {
  Route::get('customVali', 'CustomValDemoController@customVali');
  Route::post('customValiPost', 'CustomValDemoController@customValiPost');
});

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门