КС2

Наш журнал - не продается.

Возможно ли следить за браузером без кукисов?

КонтекстСообщение
Gambler
2010.01.29 20:01:56
[изменено]

Теоретический вопрос. Может ли поисковик собрать воедино историю всех ваших запросов, если вы в какой-то момент сменили IP и стерли все кукисы? Оказывается, может. EFF соорудили для этого дела интересный тестовый сайт: http://panopticlick.eff.org/. Впрочем, ничего удивительного тут нет. Вместе с каждым запросом на сервер браузеры посылают туда целую кучу HTTP заголовков с разнообразной бурдой. А при помощи JavaScript можно выпытать еще больше информации о вашем компьютере. Это общеизвестные факты, просто никто особо на них не обращал внимания. А надо бы.

Например, со включенным JavaScript мой браузер уникален среди всех протестированных (коих на данный момент около двухсот тысяч). Кажется, что результат невероятный, но на самом деле все просто: уникальность обеспечивается списком плагинов с их версиями. Еще весьма уникален список установленных шрифтов. Шрифты в Виндовсе устанавливает кто ни попадя, поэтому списки на компьютерах с разным софтом будут скорее всего разные. Честно говоря, я даже и не знал до сегодняшнего дня, что эту информацию можно так запросто считать из браузера.

Я уже слышал возражение, что, мол, эта информация меняется слишком часто. Возражение не имеет смысла. Допустим, вы открыли сайт. Сайт создал сессию и влепил вам кукис с SID (Session IDentifier). В через неделю вы стерли кукис и сменили IP. Первый же запрос к нашему сайту влепит вам новый кукис и начнет новую сессию. Все запросы в рамках одной сессии уже ассоциированы между собой на базе кукиса, и ничего больше им не надо. Пока у вас стоит тот же SID, вы можете триста раз менять шрифты и апгрейдить плагины. Важно только то, поменялся ли отпечаток вашего браузера в промежутке между стиранием старых кукисов и созданием новых.

Конечно, сервер не имеет стопроцентной гарантии, что новая сессия не начата другим браузером с похожим отпечатком. Однако при помощи нескольких нехитрых проверок он может выделить только те сессии, которые почти со стопроцентной вероятностью принадлежат тому же компьютеру, слепить их в одну метасессию, а остальные проигнорировать.

Короче, промежуточный вывод: если вы хотите быть анонимны, то отключайте JavaScript. И Java c Flash, наверное, тоже, потому что там почти наверняка есть свои способы вытянуть из компьютера уникальный идентификатор. Однако это именно промежуточный вывод, а не выход из ситуации. Сейчас многие сайты без JavaScript либо не работают вообще, либо выдают отдельную, обсосанную HTML версию, которая едва-едва что-то делает.

Более долговременный вывод: браузер не должен выдавать какую попало информацию всем желающим, особенно если она почти нигде кроме слежения за пользователем не может быть использована. (Ни разу в жизни не видел рабочих скриптов, которым реально надо было бы знать ваши шрифты, а тем более версии плагинов.)