Как стать автором
Обновить

Cookie без куков

Время на прочтение1 мин
Количество просмотров55K
Автор оригинала: lucb1e

Отслеживание



Как мы обычно отслеживаем посетителей сайта? Одним из следующих методов:

  • cookies
  • javascript
  • local storage
  • flash, java, иные плагины
  • ip-адрес и UserAgent


Допустим, пользователь отключил всё это (и ходит через прокси или даже vpn). Есть ли способ всё-таки его отследить?
Оказывается — да. Это кэш браузера.

Демонстрация технологии находится на странице оригинальной статьи.

Объяснение работы



image

Для того, чтобы определить, надо ли загружать статичный контент, в общении браузера с http-сервером используется ETag. Это контрольная сумма, которая должна меняться вместе с изменением файла.

При первой загрузке файла (например, изображения) браузер получает ETag. Потом он передаёт этот etag серверу, и тот проверяет, не поменялась ли контрольная сумма, и следовательно — файл.

Становится понятно, что вместо использования по назначению, веб-сервер может использовать этот etag как идентификатор пользователя.
Если etag нет, отдаём новый. Если прислали etag, ищем его в базе пользователей, и отдаём его же.

У технологии есть недостатки — картинка грузится после того, как загрузится страница, поэтому пользователь увидит информацию от своего предыдущего посещения. Однако, если эта технология используется для скрытого слежения, то это никому не мешает.

Вывод: если вы хотите на 100% защититься от отслеживания, вам придётся отключить все плагины, яваскрипт, куки и кэширование страниц. Хотя, полагаю что мега-параноики и так всё это отключили.

На гитхабе доступны исходники работающего прототипа программы отслеживания от автора статьи.
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 132: ↑110 и ↓22+88
Комментарии27

Публикации

Истории

Работа

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань