CSRF: токены и SameSite cookies

CSRF (Cross-Site Request Forgery) — атака, при которой браузер жертвы делает запрос от её имени на другой сайт без её ведома.

Механика

Атакующий создаёт страницу с формой POST на целевой сайт. Жертва посещает страницу, будучи залогиненой на игровой платформе. Браузер автоматически прикладывает cookies к запросу. Действие выполняется от имени жертвы: вывод денег, изменение пароля, ставка.

SameSite cookies

SameSite=Strict: cookie не отправляется на cross-site запросы вообще. SameSite=Lax: отправляется только для top-level navigations. SameSite=None: обычное поведение (требует Secure). Modern browsers по умолчанию используют Lax. Основной защитный механизм в 2025 г.

CSRF tokens

Synchronizer token pattern: сервер выдаёт уникальный токен, клиент отправляет с каждым запросом. Double Submit Cookie: токен и в cookie, и в header/form. Проверка на сервере. Токен per-session или per-request. Обязателен для критичных операций.

Custom headers

X-Requested-With: XMLHttpRequest. Кросс-доменные запросы с custom headers триггерят CORS preflight, что защищает от простых CSRF. Комбинация SameSite + Custom Headers + CSRF Token = defence in depth.