У меня есть одностраничное приложение ROR с большим количеством удаленных форм. Моя проблема заключается в том, что после запроса без idempotent Rails изменяет токен CSRF и аннулирует токен, встроенный в метафайл страницы. Таким образом, повторный неиндемпотентный запрос завершается с ошибкой, если страница не обновляется.Rails автоматически обновляет токен CSRF для повторного запроса JSON
Например, если удаленная форма, отправленная через POST, с ошибками проверки и с повторной отправкой формы, она не выполняется с ошибкой InvalidAuthenticityToken.
Я думаю, эта проблема достаточно распространена для Rails, чтобы обрабатывать ее по умолчанию, но, по-видимому, нет.
Можете ли вы сделать CSRF токен сохраняются? Вам действительно нужен только один токен CSRF на сеанс пользователя, а не на «небезопасный» запрос. – SilverlightFox
@SilverlightFox Сохраняет ли токен CSRF не ниже безопасности приложений? Разве злоумышленник не может захватить токен CSRF и использовать его при выполнении запроса? –
Не совсем, [см. Здесь] (http://security.stackexchange.com/a/22936/8340). Существует некоторый риск для атаки [BREACH attack] (http://breachattack.com/), однако лучше всего отключить любое сжатие по HTTPS. – SilverlightFox