История изменений
Исправление kaldeon, (текущая версия) :
Для того, чтобы проверить сессию, достаточно одной сессионной куки. Не надо две (JSESSIONID и CSRF_TOKEN).
Сессионная кука никак не поможет. Например, ты открываешь ссылку «удалить профиль» из почты от злоумышленника. Сессионная кука позволяет серверу аутентифицировать твоего пользователя и твой профиль успешно удаляется. (От этой проблемы можно защититься через SameSite=Strict или SameSite=Lax, в качестве альтернативного, но менее надёжного решения.)
Однако, в ссылке на почте отсутствует CSRF-токен. Он живёт только в сессии браузера и злоумышленник, при идеальной безопасности, его не может достать заранее. Токен должен быть явно добавлен в запрос, через скрытое поле или JS, а не автоматически проставлен как кука.
Суть не в том, какое значение или поле используется. Суть в гарантии того, что значение было установлено доверенным лицом.
Исходная версия kaldeon, :
Для того, чтобы проверить сессию, достаточно одной сессионной куки. Не надо две (JSESSIONID и CSRF_TOKEN).
Сессионная кука никак не поможет. Например, ты открываешь ссылку «удалить профиль» из почты от злоумышленника. Сессионная кука позволяет серверу аутентифицировать твоего пользователя и твой профиль успешно удаляется. (От этой проблемы можно защититься через SameSite=Strict или SameSite=Lax, в качестве альтернативного решения.)
Однако, в ссылке на почте отсутствует CSRF-токен. Он живёт только в сессии браузера и злоумышленник, при идеальной безопасности, его не может достать заранее. Токен должен быть явно добавлен в запрос, через скрытое поле или JS, а не автоматически проставлен как кука.
Суть не в том, какое значение или поле используется. Суть в гарантии того, что значение было установлено доверенным лицом.