Back to questions
Middle
2
Что такое CSRF и как с ним бороться?
Companies where asked
TokenTech
Answer from AI
sobes.tech AI
CSRF (Cross-Site Request Forgery) — это атака, при которой злоумышленник заставляет пользователя выполнить нежелательное действие на сайте, где тот аутентифицирован.
Как бороться с CSRF:
- Использовать CSRF-токены: при загрузке формы сервер генерирует уникальный токен, который клиент должен отправить обратно. Сервер проверяет токен перед выполнением действия.
- Проверять заголовок Origin или Referer: убедиться, что запрос пришёл с доверенного домена.
- Использовать SameSite cookie: настройка куки с флагом
SameSiteограничивает отправку куки только с запросами с того же сайта.
Пример использования CSRF-токена в форме:
<form method="POST" action="/submit">
<input type="hidden" name="csrf_token" value="{{.CSRFToken}}">
<!-- другие поля -->
<button type="submit">Отправить</button>
</form>
На сервере проверяется, что csrf_token совпадает с ожидаемым.