Laravel 5中CSRF处理实践

参考链接:

http://barryvdh.nl/laravel/2015/02/21/csrf-protection-in-laravel-explained/

https://www.yesdevnull.net/2015/02/using-x-xsrf-token-http-headers-for-ajax-in-laravel-5/

Laravel 5中,CSRF中间件是默认启用的,不过它仅处理POST/PUT/DELETE。

js端发送post请求时,必须在header中带上X-XSRF-TOKEN字段,或者在form中带上 _token字段。

这里使用header方案来实现:

$(function() {
    $.ajaxSetup({
        headers: {
            'X-XSRF-TOKEN': $.cookie('XSRF-TOKEN')
        }
    });
});

原理很简单,从cookie中取出XSRF-TOKEN,放到header中。另外别忘了,$.cookie需要先加载jQuery的cookie plugin。http://plugins.jquery.com/cookie/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.