[英]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.