Перейти к содержимому

Глоссарий

Cookie jar (хранилище куки)

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

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

Что внутри одной куки

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

  • Домен и путь

    Какому сайту и какой его части кука отправляется.

  • Срок

    Дата или ничего, и тогда кука живёт только до закрытия браузера.

  • Secure

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

  • HttpOnly

    Спрятана от сценариев страницы и читается только сервером.

  • SameSite

    Поедет ли она с запросом, который начался на другом сайте.

Открыто ли ваше хранилище сейчас

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

Ваша машина прямо сейчас

Куки принимаются
измеряем на вашей машине

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

Одно хранилище на профиль

Хранилище лежит в собственной папке профиля, и два профиля никогда не делят один вход. Удаление куки в одном из них не трогает второй.

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

Переезд хранилища между машинами

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

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

SameSite переживает переезд

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

Слишком чистое хранилище

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

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

Часто путают с этим

  • Local storage

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

  • Кэш

    Файлы, сохранённые ради того, чтобы не качать их дважды. Сессии он не несёт и при переносе профиля не едет вовсе.

  • Отпечаток

    Вычисляется по требованию из устройства. Ничего не хранится, значит и стирать нечего.

  • Токен сессии

    Значение внутри куки. Хранилище это место, где оно живёт, и правила, которые его отправляют.

Чего это не делает

  • Хранилище не переезжает на второй компьютер само. Вход там приносит профиль и его настройки, а не его куки: это сотни мегабайт браузерных баз, и везут их отдельно.
  • Очистка хранилища не меняет того, что сайт читает про устройство. Эти значения выводятся по требованию, и стирать там нечего.
  • Выгруженный файл держат права доступа, а не пароль. Кто сумел его прочитать, тот вошёл в эти аккаунты.
  • Загрузка куки это ещё не выполненный вход. Сайт может спросить сессию заново, а отвергнутые по дороге куки считаются, а не прячутся.

Проверить

За каждым утверждением выше стоит место в коде и стенд.

Где куки профиля читаются и записываются
apps/desktop/src/lib/forkPage.js
Переехавшая кука сохраняет признаки, с которыми была записана
apps/desktop/test/cookie-transfer.js
Хранилище едет внутри закрытого файла переноса
apps/desktop/src/lib/bundle.js · apps/desktop/test/profile-bundle.js
Свежее хранилище наполняется обычным просмотром
apps/desktop/src/lib/cookieRobot.js · apps/desktop/test/cookie-robot.js

Вопросы

Меняет ли очистка куки мой отпечаток?
Нет. Куки лежат и их можно стереть, а значения устройства вычисляются каждый раз, и стирать там нечего. Чистое хранилище на прежней машине даёт ту же машину.
Почему программа просит сперва открыть профиль?
На этом движке хранилище живёт внутри работающего браузера, и у закрытого профиля читать нечего. Сказать об этом честнее, чем записать пустой файл и назвать его выгрузкой.
Хватит ли выгруженных куки для входа в другом месте?
Это живые входы, и с файлом обращаются именно так. Сайт сверяет ещё машину и адрес, поэтому одних куки ему может не хватить.
Что меняет SameSite при переносе сессии?
Кука, записанная как None, это та, что едет с запросами, начатыми на другом сайте. Потеряйте признак, и встроенный или единый вход перестанет работать.
Делят ли два профиля одно хранилище?
Нет. Браузер каждого профиля направлен в свою папку, и хранилище лежит внутри неё. Соседнего хранилища для него не существует.

Пусть ваши входы лежат там, где им место

Бесплатный тариф даёт два профиля, и у каждого своё хранилище.