PowerScan
UK

Cookie, Local Storage та IndexedDB: що таке сесія насправді

Антидетект-браузери · 7 хв читання · Автор: PowerOps

Фото: Unsplash

Вхід записує дані в три окремі місця. Розуміння, що є чим, пояснює, чому сесії переживають одне, ламаються від іншого і чому синхронізація профілю мусить переносити всі три.

«Бути ввійденим» здається однією річчю. Насправді їх щонайменше три, вони зберігаються в трьох різних місцях з трьома різними термінами життя, і ця різниця пояснює більшість заплутаної поведінки, на яку натрапляють люди, переносячи сесії між машинами.

Cookie

Маленькі пари «ключ — значення», які автоматично надсилаються з кожним запитом до сайту, що їх встановив. Зазвичай саме тут живе токен сесії.

Cookie — найменші з трьох і найбільш навантажені. Втратите їх — вийдете з акаунта.

Local Storage і Session Storage

Рядкове сховище «ключ — значення», яке читає й записує JavaScript сторінки, обмежене походженням. Воно ніколи не надсилається із запитом. Сторінка мусить прочитати його свідомо.

Застосунки зберігають тут налаштування, кешовані дані профілю, прапорці функцій і часто токен оновлення. Local Storage зберігається, доки його не очистять; Session Storage живе лише стільки, скільки вкладка.

IndexedDB

Справжня база даних у браузері: структуровані записи, індекси, транзакції. Тут сучасний вебзастосунок тримає все суттєве: кешовані історії повідомлень, офлайн-черги, ключі шифрування для функцій зі наскрізним шифруванням.

Чому це важливо для профілю

Це надає «ізоляції» точного значення. Два профілі ізольовані, коли розділені всі ці три сховища, а також кеш і стан розширень. Інструмент, що ізолює cookie, але ділить IndexedDB, ізолював легку третину проблеми.

Це також задає планку для перенесення профілю між машинами. Перенесення самих лише cookie відтворює форму сесії без її змісту.

СховищеХто записуєЩо зазвичай містить
CookieСервер і скрипт сторінкиТокен сесії, налаштування, ідентифікатори відстеження
Local StorageСкрипт сторінкиТокени оновлення, стан інтерфейсу, кешовані дані профілю
Session StorageСкрипт сторінкиСтан вкладки, відкидається при її закритті
IndexedDBСкрипт сторінкиКешовані дані, офлайн-черги, ключі шифрування

Перенесення сесії між власними машинами

PowerOps зберігає cookie, Local Storage та IndexedDB при закритті профілю й відновлює їх, коли він відкривається деінде. Кожна категорія — перемикач, для всього робочого простору або для одного профілю, тож ви переносите рівно стільки, скільки задумали.

Варто знати дві властивості того, як це працює:

Друге — свідоме обмеження. Дві машини, що редагують одну сесію незалежно, дають дві напівдійсні сесії і, досить часто, розлогінений акаунт на обох. Сховище cookie не має способу розв’язати конфлікт злиття.

Практичний висновок

Закривайте профілі, а не вбивайте їх. Запис при закритті робить сесію переносимою, і це найдешевша звичка в цьому списку.

Усі статті · Запустити перевірку