laravel5

$(document).ready(function() {
var text = $.cookie("XSRF-TOKEN");
$.ajaxSetup({
headers: {
'X-XSRF-TOKEN': $.cookie("XSRF-TOKEN"),
}
});

//Rest of your code here
});


在form表單裏:
input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">

該段代碼等同於全局幫助函數csrf_field的輸出:php

<?php echo csrf_field(); ?>

在Blade模板引擎中還可使用以下方式調用:ajax

{!! csrf_field() !!}


並非全部請求都須要避免CSRF攻擊,好比去第三方API獲取數據的請求。如何避開驗證,如上述代碼,如何讓其不經過CSRF驗證。Laravel的CSRF能夠在中間件(app/Http/Middleware/VerifyCsrfToken.php)的$except數組中加入須要排除驗證的URL

<?php

    namespace App\Http\Middleware;

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

    class VerifyCsrfToken extends BaseVerifier
    {
        /**
         * 指定從 CSRF 驗證中排除的URL
         *
         * @var array
         */
        protected $except = [
            'testCsrf'
        ];
    }

 

protected $except = [
        'stripe/*',
    ];
相關文章
相關標籤/搜索