2014-11-11 13 views
4

Я реализую защиты от CSRF использованием Spring безопасности согласно docSpring CSRF токен жизнь

Один вопрос у меня есть на это: Когда этот маркер будет получить аннулирована безопасности Spring? Является ли токен недействительным для каждого запроса?

ответ

6

По умолчанию токен CSRF хранится в сеансе HTTP и генерируется для каждого сеанса. См. the official Spring Security documentation для более подробной информации. Таким образом, жизненный цикл по умолчанию токенов CSRF - это продолжительность сеанса.

Как и все остальное в Spring Security, хранение и извлечение токенов CSRF можно настроить в соответствии с индивидуальными потребностями. Способ сделать это предполагает создание реализации для CsrfTokenRepository. Пользовательские реализации могут изменять токен для каждого запроса, хранить токен в реляционной базе данных и т. Д.

+0

Спасибо. Поскольку срок службы токена CSRF по умолчанию - сеанс, в течение этого активного сеанса ссылка CSRF-атакующего может сразу же атаковать мой сайт? [Я имею в виду, если я нажимаю ссылку злоумышленника во время активного сеанса] – Rakesh

+1

Нет, это сценарий для защиты CSRF. Если вам посчастливилось посетить вредоносный сайт во время активного сеанса на важном веб-сайте, злоумышленник не сможет успешно отправлять запросы на важный веб-сайт. Это связано с тем, что злоумышленник не будет использовать токен CSRF для сеанса, и поэтому кованные запросы будут отклонены. – manish

Смежные вопросы