2010-11-10 55 views
1

我有一個表單,它在提交時檢查CSRF令牌並驗證它。當我用ajax提交表單時,我試圖獲得相同的安全性。但是,ajax請求不會提交表單本身,它只是通過發送請求將數據發送到url。如果ajax請求提交了此CSRF令牌和請求,會發生什麼情況。在服務器上,我將檢查CSRF令牌。這是否會以任何方式危害我的表單安全?這是否會導致ajax提交方式被其他人以某種方式利用?發送ajax請求的CRSF令牌是否削弱了它的CRSF保護

回答

0

發佈到服務器幷包含令牌應該與通過表單一樣安全;這是做同樣事情的另一種方式。以下是我正在處理的應用程序的一個示例:

 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 
     });