簡體   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