繁体   English   中英

反伪造令牌作为标头字段还是AJAX上的发布值?

[英]Anti forgery token as header field or as Post value on AJAX?

我正在研究Ring Anti Forgery,以防止该站点遭受CSRF攻击。 现在,我是否应该将令牌作为AJAX请求上的标头字段或post值传递,因为它们似乎都可以工作。

在文档上说:

中间件还在X-CSRF-Token和X-XSRF-Token标头字段中查找令牌,这些字段通常在AJAX请求中使用。

在我这边将其设置为标头字段的不利之处在于,我必须将每个Jquery $.post更改为一个简单的$.ajax以便我可以设置标头。

例如

$.ajax({
  url: "url",
  type: "post",
  data: {
    username: username, 
    sender: sender
  },
  headers: {
    "X-CSRF-Token": X_CSRF_Token,   
  }
});

$.post( "url", { username: username, sender: sender, '__anti-forgery-token': X_CSRF_Token})
  .done(function( data ) {
  // done
});

我是否需要将每个jQuery $.post更改为$.ajax以便将防伪令牌设置为标头字段?

您可以在每个ajax调用中使用$.ajaxSetup设置CSRF令牌: https : $.ajaxSetup

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM