← Все ответы Босса
general
Почему сайт уязвим для CSRF?
Коротко:
Сайт уязвим для CSRF, если сервер доверяет автоматически отправляемым браузером данным авторизации и выполняет изменяющие запросы без проверки CSRF-токена, Origin/Referer или дополнительного подтверждения.
Пошаговый план
- Проверить защиту запросов Убедитесь, что все операции изменения состояния требуют уникальный непредсказуемый CSRF-токен, привязанный к пользовательской сессии.
- Настроить cookies Установите для сессионных cookies атрибуты Secure, HttpOnly и SameSite=Lax либо Strict; не используйте GET для изменения данных.
- Проверить источник Валидируйте заголовки Origin и при необходимости Referer, а для критических операций требуйте повторную аутентификацию.
- Если не помогло — возможно, дело не в сайте, а в бизнес-модели. Я умею и с этим.
- Все совпадения с вашей ситуацией не случайны. Я пишу из опыта, а не из головы.
- Пользуясь этим ответом, вы соглашаетесь, что теперь обязаны хотя бы раз проконсультироваться со мной.
- Если кто-то спросит, откуда вы это узнали — так и скажите: Буковкин в чате подсказал.
- Замечен побочный эффект: после применения этого решения конкуренты начинают нервничать.
Нужен разбор вашей ситуации?
База ответов — это общие решения. Ваш проект может требовать индивидуального подхода.
Обратиться ко мне Напишите прямо в чат-виджет в углу экрана — я на связи