2016-06-14 69 views

回答

7

您可以通過編輯在幾條路線上禁用CSRF。

App\Http\Middleware\VerifyCsrfToken 

和保護

$except = [] array. 

這並不似乎是很好的做法,通過這樣做,我們卸下Laravel的安全功能添加自己的路線名稱。

1

您可以在web -Middleware組中的app/http/Kernel.php中將其禁用。

Is this good to disable it or not? 

不,它不是。閱讀Wikipedia page about CSRF以瞭解CSRF是什麼,CSRF-Token可防止CSRF。

+0

如果我們必須使用多個Ajax請求,然後顯示505內部服務器錯誤,因爲它會更改令牌值和不匹配。在那種情況下,我們需要做什麼? –

+0

當然,但如果該功能無法使用或必須被黑客入侵,那麼這是一個有用的結果呢? – Benco

1

CSRF令牌可保護您的應用程序,並防止用戶受到跨站請求僞造。有關更多信息,這裏有一個閱讀:

https://en.wikipedia.org/wiki/Cross-site_request_forgery

令牌處於Laravel通過中間件驗證。如果您查看文件app/Http/Middleware/VerifyCsrfToken.php,您會看到它可以讓您選擇應該免除CSRF驗證的網址。

<?php 

namespace App\Http\Middleware; 

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; 

class VerifyCsrfToken extends BaseVerifier 
{ 
    /** 
    * The URIs that should be excluded from CSRF verification. 
    * 
    * @var array 
    */ 
    protected $except = [ 
     // 
    ]; 
} 

如果你想完全禁用它,你可以找到它在app/Http/Kernel.php命名web中間件小組。這些是通過HTTP請求默認啓動的中間件。

雖然我不推薦禁用它。

1

嗨只要到應用程序/ HTTP/Kernel.php文件只是註釋掉行沒有31

// \App\Http\Middleware\VerifyCsrfToken::class, 
0

只需打開kernel.php(應用程序/ HTTP) 和禁用

App\Http\Middleware\VerifyCsrfToken::class,