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

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

Собственно вопрос в заголовке. Загрузив с сервера страницу, лишь один токен получится создать. И отправить несколько запросов с нее уже не получится.
  • Вопрос задан
  • 472 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Сгенерируйте на сервере N аякс-токенов для текущего CSRF токена пользователя. Пользователю выкиньте только CSRF-токен, в скрытое поле формы, например, а для аякса делайте предзапрос, результатом которого будет один из сгенерированных аякс-токенов на сервере (естественно, подписью должен быть CSRF-токен или его хэш). После использования аякс-токена удаляем его. При обновлении страницы - меняем все токены.

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽