У меня есть форма, которая при отправке проверяет токен CSRF и проверяет его. Я пытаюсь иметь такую же безопасность, когда я отправляю форму с помощью ajax. Но запрос ajax не отправляет форму самостоятельно, она просто отправляет данные в URL с запросом на отправку. Что произойдет, если запрос ajax отправит этот токен CSRF с запросом. На сервере я проверю, есть ли токен CSRF. Является ли это каким-либо образом компрометирует мою защиту формы? Может ли это привести к тому, что способ подачи ajax будет каким-то образом использоваться другими?Отправляет ли токен CRSF с ajax-запросом ослабить его защиту CRSF
1
A
ответ
0
POST на сервер и в том числе токен должен быть столь же безопасным, как и его использование через форму; это просто еще один способ сделать то же самое. Вот пример из приложения, над которым я работаю:
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
});
0
Да, это должно быть безопасным. Пока JavaScript, работающий на другом домене, не может прочитать токен. Это может произойти, например, это JSON abuse used against gmail.