Learn

96 статейКатегория: Все
Сеть

Различия между Cookie, sessionStorage и localStorage

Веб-сайты иногда сохраняют информацию внутри браузера.

Поддерживать состояние входа. Запоминать настройки отображения. Сохранять содержимое корзины. Продолжать прошлое действие. Распознавать повторный визит из того же браузера.

Типичные механизмы для этого — Cookie, sessionStorage и localStorage.

Они делают Web удобнее. Но с точки зрения анонимности они становятся признаками, по которым можно распознать тот же браузер.

Что такое Cookie

Cookie — это небольшие данные, которые веб-сайт сохраняет в браузере и которые отправляются серверу в запросах, соответствующих условиям.

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

Например, когда вы входите на сайт, в браузере сохраняется Cookie, указывающий на сессию. При следующем доступе к тому же сайту этот Cookie отправляется. Сайт может определить: «этот браузер принадлежит пользователю, который уже вошел».

Для анонимности важно, что Cookie остаются даже при смене IP-адреса.

Если после доступа с домашнего соединения использовать и открыть тот же сайт в том же браузере, при отправке того же Cookie браузер будет восприниматься как тот же самый.

Что такое sessionStorage

sessionStorage — это данные, временно сохраняемые по вкладке или окну браузера.

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

В отличие от Cookie, обычно они не отправляются автоматически с каждым HTTP-запросом. Они читаются и записываются из JavaScript и используются в обработке внутри страницы.

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

Что такое localStorage

localStorage — это данные, долговременно сохраняемые в браузере.

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

localStorage позволяет хранить больше данных, чем Cookie, и управляется из JavaScript.

С точки зрения анонимности важно, что значение, оставшееся в localStorage, может использоваться для распознавания повторного визита.

Даже если удалить Cookie, при оставшемся идентификаторе в localStorage браузер может восприниматься как тот же самый.

Различия между тремя механизмами

Cookie, sessionStorage и localStorage отличаются сроком хранения и способом отправки.

ПунктCookiesessionStoragelocalStorage
Срок храненияОстаются до заданного срокаДо закрытия вкладки или окнаВ принципе остаются без срока, но могут исчезнуть из-за действий пользователя, настроек браузера, приватного просмотра или обращения с областью хранения
Отправка серверуАвтоматически отправляются при совпадении условийНе отправляется автоматическиНе отправляется автоматически
Основное назначениеВход, сессия, аналитикаВременное состояние экранаНастройки, сохранение состояния, идентификаторы
Предостережение для анонимностиТот же браузер виден даже при смене IPИспользуется в обработке страницыМожет оставаться после удаления Cookie

Все это информация, остающаяся внутри браузера. В анонимности недостаточно смотреть только на Cookie.

Ситуации, проблемные для анонимности

Проблема возникает, когда использование под настоящим именем и анонимное использование смешиваются в одном браузере.

Например, использовать для анонимной активности тот же браузер, где выполнен вход в аккаунт с настоящим именем. Удалить только Cookie, оставив localStorage. После открытия сайта для анонимной активности вернуться к сервису с настоящим именем в той же вкладке или том же браузере.

При таком использовании информация внутри браузера смешивается.

СитуацияЧто происходит
Использовать настоящее имя и анонимность в одном браузереСмешиваются Cookie и сохраненная информация
Удалять только CookieОстаются localStorage и другие области хранения
Вести анонимную активность при открытом сайте с выполненным входомДействия связываются в одной среде
Использовать несколько аккаунтов в одном браузереЛегче возникает корреляция аккаунтов

В анонимности важно не только удалять сохраненные данные, но и разделять среды.

Cookie, sessionStorage и localStorage иногда обрабатываются вместе как одни «данные сайтов». Но способы сохранения и исчезновения у них не одинаковы.

Даже если нажать в браузере «удалить историю», в зависимости от выбранных пунктов могут удалиться только Cookie, только кэш или только история просмотра, а часть данных сайта останется. И наоборот, при полном удалении данных сайтов исчезнут также состояние входа и настройки.

ДействиеНа что обратить внимание
Удалить только историю просмотраCookie и localStorage могут остаться
Удалить CookieМогут остаться другие области хранения, например localStorage
Удалить данные сайтовСостояние входа и настройки тоже исчезают
Приватное окноПоведение отличается от существующей обычной среды браузера
Синхронизация браузераИнформация может вернуться с другого устройства

В анонимности нужно проверять область удаления, чтобы избежать ситуации «казалось, что удалил».

Разделение важнее удаления

Cookie и localStorage можно удалить. Но каждый раз удалять их идеально сложно.

У разных сайтов разные места хранения. Настройки браузера удаляют разные области. Влияют расширения и функции синхронизации. В момент входа создается новый идентификатор.

Поэтому в анонимности реалистичнее не полагаться только на удаление, а разделять браузер для настоящего имени и браузер для анонимной активности.

В высокорисковой активности рассматривают разделение не только браузера, но также устройства, ОС и сетевой среды.

Приватный просмотр тоже иногда полезен как часть разделения. Но приватное окно — не технология анонимизации. Это не механизм, который полностью скрывает вас от веб-сайтов, операторов связи, сети на работе или в школе либо серверов назначения.

Приватное окно в основном предназначено для того, чтобы на устройстве было труднее оставить историю и Cookie. Если войти в аккаунт с настоящим именем, действие связывается с этим аккаунтом.

Что проверить

Для информации, сохраненной внутри браузера, проверьте следующие пункты.

  • Не используется ли один и тот же браузер для настоящего имени и анонимной активности
  • Не выполнен ли вход в аккаунт с настоящим именем в браузере для анонимной активности
  • Проверяются ли не только Cookie, но и данные сайтов целиком
  • Учитывается ли, что localStorage и sessionStorage могут оставаться
  • Не смешивается ли информация с другим устройством через синхронизацию браузера
  • Не хранят ли расширения собственную информацию

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

Итоги

Cookie, sessionStorage и localStorage — это механизмы, с помощью которых веб-сайты сохраняют информацию внутри браузера.

Cookie автоматически отправляются серверу при совпадении условий. sessionStorage используется для временного хранения на уровне вкладки. localStorage — область хранения, остающаяся долговременно.

Они делают Web удобнее, но в анонимности становятся признаками для распознавания того же браузера.

Даже если изменить IP-адрес, при оставшихся Cookie или localStorage браузер может восприниматься как тот же самый.

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

Связанные инструменты

WebRTC Leak Test

BrowserLeaks WebRTC

Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://browserleaks.com/webrtc

Открыть внешний сайт
Browser Fingerprint Check

BrowserLeaks Fingerprint

Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://browserleaks.com/canvas

Открыть внешний сайт
Browser Fingerprint Check

EFF Cover Your Tracks

Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://coveryourtracks.eff.org/

Открыть внешний сайт
Anonymous communication

Tor Project

Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://www.torproject.org/

Открыть внешний сайт

Связанные статьи