Файлы cookie — это просто текстовые файлы, а не шпионское ПО

6

Все помнят панику в 2000 году. Вы читали газетную статью о конфиденциальности в интернете и сталкивались с определением, от которого кровь стыла в жилах. В чем заключалось утверждение? Файлы cookie — это программы, которые находятся на вашем жестком диске, следят за всем, что вы делаете, собирают ваши секреты и отправляют их веб-мастеру, когда им вздумается.

Это пугающий образ. И он совершенно неверен.

Проблема не только в том, что пресса неправильно понимает технологии. Дело в том, что этот конкретный миф сохраняется, потому что он звучит страшно. Но файлы cookie — это не программы. Они не могут выполнять код. Они не могут выполнять команды. Они определенно не могут бродить по вашему диску C: в поисках личных файлов. Они пассивны. Глупы. Инертны.

Вот фактическое определение, очищенное от запугивания:

Файл cookie — это небольшой фрагмент текста. Вот и всё. Это текстовая строка, которую веб-сервер просит ваш браузер сохранить на вашем компьютере. Позже, когда вы посещаете тот же сайт, браузер отправляет этот текст обратно. Это способ для веб-сайта запомнить вас. Не потому, что он за вами следит, а потому что сам веб забывает всё в ту же секунду, как вы кликаете куда-то еще.

Как файлы cookie действительно работают на вашем жестком диске

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

Если вы используете Microsoft Internet Explorer (отсылка к эпохе, из которой происходит это объяснение, хотя концепция остается верной и сегодня), эти файлы находятся в директории, часто помеченной как C:\Windows\Cookies.

Откройте эту папку. Что вы видите?

Сотни файлов. Каждый из них — простой текстовый файл. Вы можете открыть их с помощью Блокнота. Не требуется специального программного обеспечения. Не нужны ключи дешифрования. Просто сырой текст.

Каждый файл соответствует определенному веб-сайту. Имя файла говорит вам, кто его туда поместил. Внутри вы найдете пары «имя-значение». Это единственная структура данных, используемая файлом cookie. Имя. Значение. Ничего больше.

Давайте рассмотрим реальный пример. Я посетил сайт goto.com. Сайт оставил на моем компьютере файл cookie. Я открываю файл. Он содержит следующее:

Вот и вся полезная нагрузка. Goto.com присвоил мне уникальный идентификатор. Они сохранили этот идентификатор на моем жестком диске. В следующий раз, когда я зайдю на сайт, мой браузер скажет: «Эй, я A9A3BECE0563982D». Сервер ответит: «О, точно. С возвращением».

Это рукопожатие. А не инструмент слежки.

Почему сайты хранят разные данные?

Не все файлы cookie одинаковы. Некоторые сайты минималистичны. Другие многословны.

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

Но некоторым сайтам нужно больше.

Возьмем Amazon.com. Когда я проверяю файл cookie, который Amazon сохранил на моем компьютере, он выглядит немного более загроможденным:

Здесь Amazon отслеживает несколько вещей.
session-id-time : Когда началась эта сессия просмотра?
session-id : Уникальный идентификатор для этого конкретного визита.
ubid-main : Основной идентификатор пользователя, вероятно, привязанный к учетной записи.
x-main : Некоторое внутреннее значение. Может быть чем угодно.

Amazon нужно знать, являетесь ли вы тем же человеком, что и пять минут назад (идентификатор сессии), или вы являетесь возвращающимся клиентом с прошлого года (идентификатор пользователя). Вот почему они хранят несколько пар «имя-значение».

Жесткие ограничения того, что могут делать файлы cookie

Это та часть, которую большинство людей упускают. И это самая важная часть.

Файл cookie не может «делать» ничего. Это данные. А не программа.

Представьте это как записку, оставленную на вашем пороге. На записке написано: «Привет, это Боб».
— Записка не может прочитать ваш дневник.
— Записка не может открыть вашу дверь.
— Записка не может позвонить Бобу и рассказать ему, что вы ели на завтрак.

Она просто лежит там.

Когда вы посещаете веб-сайт, ваш браузер проверяет свою «банку с печеньем» (хранилище файлов cookie). Если там есть записка для этого сайта, он передает её. Веб-сайт может прочитать только ту записку, которую он сам оставил.

Веб-сайт не может читать файлы cookie с других веб-сайтов.

Если у вас есть файл cookie от Amazon и файл cookie от Goto.com, Amazon не может увидеть данные Goto.com. Goto.com не может увидеть данные Amazon. Они изолированы. Разделены.

Это фундаментальная функция безопасности работы браузеров. Она предотвращает отслеживание между сайтами на уровне файловой системы. Если бы сайт мог читать файлы cookie других сайтов, интернет стал бы непригодным для использования. Файл cookie вашего банка мог бы быть украден новостным сайтом. Файл cookie вашей электронной почты мог бы быть захвачен игровым порталом.

Этого не происходит.

Так почему же страх?

Потому что люди путают контейнер с содержимым.