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