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/*',
    ];
相关文章
相关标签/搜索