首頁  >  文章  >  後端開發  >  如何在laravel 5中建立用於XSS防禦的中間件?

如何在laravel 5中建立用於XSS防禦的中間件?

藏色散人
藏色散人原創
2019-03-02 11:45:043593瀏覽


XSS(跨站點腳本)防禦可以說是在站點中必須使用的,如果不使用XSS防禦,那麼你的站點就極度不安全。 XSS過濾器可以從輸入值中刪除html標記,所以為了安全起見,刪除html標記非常重要。在laravel 5.2中,可以透過在專案中使用中間件概念來實現。

如何在laravel 5中建立用於XSS防禦的中間件?

下面我就跟大家介紹如何在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn