artygrand
@artygrand
Прогер, кодер, писатель кода

Как работать с одноразовыми CSRF токенами в ajax запросах?

Собственно вопрос в заголовке. Загрузив с сервера страницу, лишь один токен получится создать. И отправить несколько запросов с нее уже не получится.
  • Вопрос задан
  • 470 просмотров
Пригласить эксперта
Ответы на вопрос 1
Сгенерируйте на сервере N аякс-токенов для текущего CSRF токена пользователя. Пользователю выкиньте только CSRF-токен, в скрытое поле формы, например, а для аякса делайте предзапрос, результатом которого будет один из сгенерированных аякс-токенов на сервере (естественно, подписью должен быть CSRF-токен или его хэш). После использования аякс-токена удаляем его. При обновлении страницы - меняем все токены.

Это решение позволит работать даже с параллельными ajax-запросами (при условии отсутствия race condition, что маловероятно), т.к. токенов заранее сгенерено несколько, и комбинировать их с корректной работой форм на странице (т.к. токенов как минимум два).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы