Есть много руководств, где показано, как отключить csrf,
csrf().disable()
(и другие возможности, такие как .properties, .yml и т. д.)
а нигде не объяснили зачем они это делают?
Итак, мои вопросы:
Какова реальная причина отключить его?
Это улучшает производительность?
В учебнике это может быть просто для упрощения учебника.
@benjaminc хорошо, понятно, но почему бы просто не забыть о csrf (). disable ()? jwt и стандартный csrf как-то мешают или мешают друг другу?
@Raedwald, я думаю просто забудьте про csrf (). Disable () проще)))
@arminvanbuuren сделает запросы более подробными




Spring рекомендую использовать его при обслуживании клиенты браузера, в противном случае он может быть отключен:
Our recommendation is to use CSRF protection for any request that could be processed by a browser by normal users. If you are only creating a service that is used by non-browser clients, you will likely want to disable CSRF protection.
Я добавлю, что даже если вы обслуживаете клиентов браузера, но он используется внутри, только вы можете захотеть / удалить его.
Итак, суть моего вопроса: ** почему ** я могу захотеть это сделать? В чем причина того, что я так хочу его отключить? Почему я не могу просто забыть об этом?
Вы не хотите отключать защиту CSRF для внутренних сайтов. Это позволит злоумышленникам обойти брандмауэры, поскольку CSRF происходит в вашем браузере, который находится за любыми брандмауэрами. Рекомендую прочитать docs.spring.io/spring-security/site/docs/5.3.x/reference/htm l5 /…
What is the real-life reason to disable it?
Документация Spring предлагает:
Our recommendation is to use CSRF protection for any request that could be processed by a browser by normal users. If you are only creating a service that is used by non-browser clients, you will likely want to disable CSRF protection.
Does it improve performance?
Это не должно влиять на производительность. Фильтр (или другой компонент) будет удален из цепочки обработки запросов, чтобы сделать функцию недоступной.
What is the reason to disable
csrfin a Spring Boot application?
Да, безопасно отключить, если у вас есть другой механизм аутентификации, который нельзя замаскировать. Для внутренних корпоративных приложений это не проблема. Нам пришлось отключить его, потому что он мешал нашему существующему механизму аутентификации.
кто-то может использовать другой механизм токена, который не является csrf, для аутентификации запросов, например jwt, поэтому токен csrf не будет использоваться