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中文網其他相關文章!