Cookie: что это и как управлять

Cookie (куки) — небольшие файлы данных, сохраняемые браузером. Используются для авторизации, аналитики и персонализации. GDPR требует согласия на аналитические куки.

cookieбезопасностьприватностьgdprбраузер

Что такое Cookie

Cookie (куки, HTTP cookie) — небольшой фрагмент данных, который веб-сервер отправляет браузеру, а браузер сохраняет и отправляет обратно при следующих запросах к тому же серверу.

Cookie позволяют серверу «запоминать» информацию между запросами: сессию авторизации, настройки пользователя, данные корзины.

Как работают Cookie

1. Пользователь авторизуется на сайте
2. Сервер отправляет:
   Set-Cookie: session_id=abc123; HttpOnly; Secure; SameSite=Strict

3. Браузер сохраняет cookie

4. При следующем запросе:
   Cookie: session_id=abc123

5. Сервер идентифицирует пользователя

Типы Cookie

По назначению

| Тип | Назначение | Согласие GDPR | |-----|-----------|--------------| | Необходимые | Авторизация, корзина, безопасность | Не требуется | | Аналитические | Google Analytics, Яндекс.Метрика | Требуется | | Рекламные | Ретаргетинг, AdSense | Требуется | | Функциональные | Настройки языка, темы | Часто не требуется |

По сроку жизни

  • Session cookies — удаляются при закрытии браузера
  • Persistent cookies — хранятся до истечения Max-Age/Expires

Атрибуты безопасности Cookie

Set-Cookie: session=abc123;
  HttpOnly;            /* недоступен через JavaScript */
  Secure;              /* только через HTTPS */
  SameSite=Strict;     /* не отправляется с других сайтов */
  Max-Age=3600;        /* срок жизни 1 час */
  Path=/;              /* доступен для всех путей */
  Domain=example.com   /* доступен для домена и поддоменов */

SameSite атрибут

| Значение | Поведение | |---------|---------| | Strict | Cookie не отправляется с других сайтов | | Lax | Отправляется при навигации, не в fetch/XHR | | None | Всегда отправляется (требует Secure) |

GDPR и Закон о Cookie

Согласно GDPR (Европа) и ФЗ-152 (Россия), для аналитических и рекламных cookie требуется явное согласие пользователя:

<!-- Consent Banner (упрощённый пример) -->
<div id="cookie-banner">
  Мы используем cookie для аналитики.
  <button onclick="acceptCookies()">Принять</button>
  <button onclick="rejectAnalytics()">Только необходимые</button>
</div>
function acceptCookies() {
  localStorage.setItem('cookie-consent', 'all');
  initGoogleAnalytics(); // загружаем аналитику только после согласия
  document.getElementById('cookie-banner').remove();
}

Cookie и безопасность

Основные угрозы:

  • XSS (Cross-Site Scripting) — кража cookie через вредоносный JS → защита: HttpOnly
  • CSRF (Cross-Site Request Forgery) — подделка запросов → защита: SameSite=Strict + CSRF-токены
  • Перехват трафика — кража cookie по HTTP → защита: Secure + HTTPS

Third-party cookies и их упразднение

Google Chrome поэтапно отказывается от третьесторонних cookie (сторонних трекеров). Safari и Firefox уже блокируют их. Это меняет подходы к:

  • Аналитике (переход на first-party данные)
  • Ретаргетингу (новые механизмы)
  • Аутентификации (OIDC, OAuth)

Проверка Cookie на reChecker

Используйте Анализатор Cookie для анализа cookie вашего сайта. Инструмент покажет:

  • Все установленные cookie
  • Их атрибуты (HttpOnly, Secure, SameSite)
  • Срок жизни каждого cookie
  • Потенциальные проблемы безопасности

FAQ

Cookie влияют на производительность сайта? Незначительно. Cookie добавляются к каждому HTTP-запросу к домену. Хранение аналитических данных в cookie увеличивает размер заголовков. Для большой аналитики лучше localStorage или IndexedDB.

Cookie и localStorage — в чём разница? Cookie отправляется серверу при каждом запросе, доступен с сервера. localStorage — только в браузере, не передаётся серверу. Для авторизации — cookie (сервер проверяет). Для клиентских настроек — localStorage.

Нужен ли cookie-баннер если сайт использует только Google Analytics? Да, по GDPR. Google Analytics использует аналитические cookie требующие согласия. Исключение: если используется Google Analytics 4 в режиме конфиденциальности (без cookie) с согласованным режимом.

Попробуйте инструмент

Проверьте cookie на вашем сайте с помощью бесплатного инструмента.

Анализатор Cookie

Техническая поддержка

Нашли баг, сбой или ошибку в работе сервиса? Есть предложение по улучшению? Напишите нам — мы читаем каждое сообщение и стараемся быстро исправлять проблемы.