Php 使用ajax请求发送CRSF令牌是否会削弱其CRSF保护
我有一个表单,在提交时检查并验证CSRF令牌。当我用ajax提交表单时,我试图获得同样的安全性。但是ajax请求并不提交表单本身,它只是通过post请求将数据发送到url。如果ajax请求随请求一起提交此CSRF令牌,会发生什么情况。在服务器上,我将检查CSRF令牌是否正确。这会以任何方式影响我的表单安全吗?这会导致其他人以某种方式利用ajax提交方式吗?发布到服务器并包含令牌应该与通过表单发送一样安全;这只是做同样事情的另一种方式。下面是我正在开发的一个应用程序的示例:Php 使用ajax请求发送CRSF令牌是否会削弱其CRSF保护,php,ajax,security,forms,Php,Ajax,Security,Forms,我有一个表单,在提交时检查并验证CSRF令牌。当我用ajax提交表单时,我试图获得同样的安全性。但是ajax请求并不提交表单本身,它只是通过post请求将数据发送到url。如果ajax请求随请求一起提交此CSRF令牌,会发生什么情况。在服务器上,我将检查CSRF令牌是否正确。这会以任何方式影响我的表单安全吗?这会导致其他人以某种方式利用ajax提交方式吗?发布到服务器并包含令牌应该与通过表单发送一样安全;这只是做同样事情的另一种方式。下面是我正在开发的一个应用程序的示例: var
var getCookie = function(name) {
var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
return r ? r[1] : undefined;
};
var args = {
_xsrf : getCookie("_xsrf"),
// other args added
};
$.ajax({
url : "/ajaxhandler",
data : args,
type : "post",
dataType : "json",
// .. the rest as usual
});
是的,那应该是安全的。只要在另一个域上运行的JavaScript不能读取令牌。这是可能发生的,比如这个