如何在laravel 5中创建用于XSS防御的中间件?
Posted php中文网最新课程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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防御的中间件?的主要内容,如果未能解决你的问题,请参考以下文章