По умолчанию токен CSRF хранится в сеансе HTTP и генерируется для каждого сеанса. См. the official Spring Security documentation для более подробной информации. Таким образом, жизненный цикл по умолчанию токенов CSRF - это продолжительность сеанса.
Как и все остальное в Spring Security, хранение и извлечение токенов CSRF можно настроить в соответствии с индивидуальными потребностями. Способ сделать это предполагает создание реализации для CsrfTokenRepository
. Пользовательские реализации могут изменять токен для каждого запроса, хранить токен в реляционной базе данных и т. Д.
Спасибо. Поскольку срок службы токена CSRF по умолчанию - сеанс, в течение этого активного сеанса ссылка CSRF-атакующего может сразу же атаковать мой сайт? [Я имею в виду, если я нажимаю ссылку злоумышленника во время активного сеанса] – Rakesh
Нет, это сценарий для защиты CSRF. Если вам посчастливилось посетить вредоносный сайт во время активного сеанса на важном веб-сайте, злоумышленник не сможет успешно отправлять запросы на важный веб-сайт. Это связано с тем, что злоумышленник не будет использовать токен CSRF для сеанса, и поэтому кованные запросы будут отклонены. – manish