Sobes.tech
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 совпадает с ожидаемым.