$(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/*', ];