У меня есть сценарий, в котором пользователь может бездействовать на странице, и примерно через 15 минут почтовый запрос из браузера пользователя вызовет ошибку неверного токена CSRF. Этот вопрос был в некоторой степени полезным, но я все еще не уверен, как мне поступить с ошибкой.
Rails protect_from_forgery нарушает форму входа в систему, если она простаивает
Один комментарий к вопросу, который я связал с вышеупомянутыми проблемами безопасности, связанными с продлением срока действия файлов cookie Rails. Так ли это на самом деле? Должен ли я вместо этого обновлять страницу при появлении этой ошибки? Я не хочу отключать защиту CSRF. Как лучше всего справиться с этой ошибкой и сохранить удобство использования? Я также использую Devise в своем приложении.
Can't verify CSRF token authenticity.
Completed 422 Unprocessable Entity in 4ms (ActiveRecord: 0.0ms)
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Ответ, который вы связали, уже дает некоторое представление о том, что вы можете сделать на стороне сервера.
Однако вы можете предотвратить отправку устаревших форм на стороне клиента. Некоторые настройки javascript / пользовательского интерфейса могут вам помочь.
Вот несколько идей: - Отображение обратного отсчета - Через 15 минут появляется всплывающее окно с сообщением о необходимости обновления. и т.п.
Кто-то всегда может открыть код и отправить, но тогда вас не волнует эта ошибка 422 в глазах людей, пытающихся взломать.
Похоже, что вопрос, который вы задаете, является точной копией вопроса, на который вы ссылаетесь, и ваши вопросы уже обсуждаются и там даны ответы. Можете ли вы объяснить, почему вы задали еще один вопрос, и почему существующие ответы на повторяющийся вопрос не работают для вас?