首页 >后端开发 >php教程 > 正文

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

原创2019-03-02 17:20:0602116
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);
        });
        $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');
});

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

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

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

以上就是如何在laravel 5中创建用于XSS防御的中间件?的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:laravel 5 XSS防御
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • PHP每日小知识(第二季)PHP每日小知识(第二季)
  • PHP语法基础与数据库详解教程PHP语法基础与数据库详解教程
  • PHP数据库编程零基础入门到精通PHP数据库编程零基础入门到精通
  • PHP经典算法面试题PHP经典算法面试题
  • 视频教程分类