首页 文章

CSR和CORS与AngularJS Laravel

提问于
浏览
0

我正在使用带有Laravel后端的AngularJS webapp .

我想通过跨域请求启用CSRF保护 . 可能吗?

$http reference在"Cross Site Request Forgery"中说"The header will not be set for cross-domain requests"

查看开发人员工具日志,我看到在$ http.post调用之后发送了预检请求(OPTION动词)并且它设置了XSRF-TOKEN cookie,但是POST请求没有cookie,所以我不能这样做:

$http.defaults.headers.post['X-CSRFToken'] = $cookies['XSRF-TOKEN'];

任何的想法?

UPDATE:

@zeroflagL:我试过了

$http.defaults.headers.common.xsrfCookieName = 'XSRF-TOKEN';
$http.defaults.headers.common.xsrfHeaderName = 'X-XSRF-TOKEN';

现在在POST的Request Headers 中我有:

xsrfCookieName:XSRF-TOKEN
xsrfHeaderName:X-XSRF-TOKEN

但是没有传递CSRF检查(服务器上的TokenMismatchException) . 我想在Request Headers 中应该有XSRF-TOKEN才能工作......

1 回答

  • 1

    由于zeroflagL表示CSRF保护不能应用于跨域请求 .

    回答我的问题:不,这是不可能的 .

相关问题