Введение
CSRF — одна из тех уязвимостей, из-за которых можно случайно отправить действие на сайте от имени другого пользователя. Часто об этом слышат, но мало кто понимает, как это реально работает и как защититься без лишнего заморочивания. Разберём понятным языком.
Что это такое
CSRF расшифровывается как Cross-Site Request Forgery — подделка межсайтового запроса. Проще говоря, злоумышленник заставляет ваш браузер выполнить запрос к другому сайту, где вы авторизованы, без вашего ведома. Например, нажать «удалить аккаунт» или «перевести деньги», хотя вы ничего не хотели делать.
Раньше с CSRF было прям беда — защита почти никакая, и сайты просто полагались на куки. Сейчас же в основном пользуются токенами, которые проверяют, что запрос реально от тебя, а не откуда-то с другого сайта. Конечно, не идеал, но намного спокойней стало.
Ну, токены — это, конечно, не панацея. Иногда их можно как-то обойти, особенно если разработчики лажают с реализацией. Так что просто поставить CSRF-токен и расслабиться — всё равно не гарантия стопроцентной защиты. В реальности надо ещё смотреть, как вообще построена логика авторизации и проверок.