Php 使用ajax请求发送CRSF令牌是否会削弱其CRSF保护

Php 使用ajax请求发送CRSF令牌是否会削弱其CRSF保护,php,ajax,security,forms,Php,Ajax,Security,Forms,我有一个表单,在提交时检查并验证CSRF令牌。当我用ajax提交表单时,我试图获得同样的安全性。但是ajax请求并不提交表单本身,它只是通过post请求将数据发送到url。如果ajax请求随请求一起提交此CSRF令牌,会发生什么情况。在服务器上,我将检查CSRF令牌是否正确。这会以任何方式影响我的表单安全吗?这会导致其他人以某种方式利用ajax提交方式吗?发布到服务器并包含令牌应该与通过表单发送一样安全;这只是做同样事情的另一种方式。下面是我正在开发的一个应用程序的示例: var

我有一个表单,在提交时检查并验证CSRF令牌。当我用ajax提交表单时,我试图获得同样的安全性。但是ajax请求并不提交表单本身,它只是通过post请求将数据发送到url。如果ajax请求随请求一起提交此CSRF令牌,会发生什么情况。在服务器上,我将检查CSRF令牌是否正确。这会以任何方式影响我的表单安全吗?这会导致其他人以某种方式利用ajax提交方式吗?

发布到服务器并包含令牌应该与通过表单发送一样安全;这只是做同样事情的另一种方式。下面是我正在开发的一个应用程序的示例:

        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不能读取令牌。这是可能发生的,比如这个