Посібники

Що таке cookies? Як сайти запам’ятовують вас

Cookie — це невеликий текстовий фрагмент, який сайт просить ваш браузер зберегти і потім надсилати назад під час кожного наступного візиту на цей сайт. Так сайт «пам’ятає» вас: що ви ввійшли в обліковий запис, що є у вашому кошику, яку мову ви обрали. Cookies — це лише дані, а не програми, але оскільки вони можуть ідентифікувати вас, вони важливі і для безпеки, і для приватності.

Чому це важливо, коли ви створюєте щось за допомогою ШІ

Cookies лежать в основі кількох функцій, які ви попросите в AI-конструктора, часто навіть без згадки слова «cookie»:

  • Вхід. У більшості веб-застосунків «залишатися в системі» означає cookie сесії. Те, як налаштований цей cookie, визначає, наскільки легко його викрасти.
  • Кошики та налаштування. Кошик, який зберігається після оновлення сторінки, часто спирається на cookie або на сховище браузера.
  • Аналітика та реклама. Додавання Google Analytics, пікселя Meta або віджета чату зазвичай додає cookies від інших компаній.
  • Правові повідомлення. Багато де для деяких cookies потрібна згода відвідувача, звідси і беруться банери cookies.

Якщо ви знаєте, які cookies встановлює ваш застосунок і навіщо, ви можете краще обирати налаштування безпеки, згоду та вашу політику приватності.

Побутова аналогія

Уявіть номерок у гардеробі. Ви віддаєте пальто і отримуєте номерок з цифрою. Номерок не містить вашого пальто — лише номер. Щоразу, коли ви підходите до стійки, ви показуєте номерок, і гардеробниця знає, яке пальто ваше.

Cookie сесії працює так само. Коли ви входите, сервер зберігає ваші дані у себе, а вашому браузеру видає номерок — довгий випадковий ідентифікатор. Браузер показує цей номерок із кожним запитом, а сервер шукає, хто ви. Той, хто скопіює номерок, може забрати пальто, тому cookies входу треба захищати.

Як насправді працює cookie

  1. Ви відкриваєте сайт. Відповідь сервера містить заголовок на кшталт Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax.
  2. Ваш браузер зберігає його, прив’язавши до домену сайту.
  3. Під час кожного наступного запиту до того самого сайту браузер автоматично додає Cookie: session_id=8f3k....
  4. Сервер читає його і знає, що це ви.

JavaScript сторінки теж може створювати cookies, але найважливіші з них — cookies входів — має встановлювати сервер і ховати від JavaScript.

Типи cookies

ТипЩо означаєПриклад
Сесійний cookieНемає дати закінчення; видаляється, коли сеанс браузера завершуєтьсяКороткий крок оформлення замовлення
Постійний cookieМає дату закінчення (Expires або Max-Age) і зберігається після перезапуску«Запам’ятати мене на 30 днів»
Першої сторониВстановлює сайт в адресному рядкуВаш вхід на цей сайт
Третьої сторониВстановлює інший домен, вбудований у сторінкуІдентифікатор відстеження рекламної мережі
Суворо необхідніПотрібні для сервісу, який запросив користувачСесія входу, кошик покупок
НеосновніКорисні для власника сайтуАналітика, реклама, A/B-тестування

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

Практичний приклад: невеликий онлайн-магазин

Припустимо, ви створили магазин, який продає свічки ручної роботи. Ось cookies, які встановила б розважлива версія, і чому.

session — встановлюється, коли власник або клієнт входить в обліковий запис. Він містить лише випадковий ідентифікатор; реальні дані сесії зберігає сервер. Налаштування: HttpOnly (скрипти сторінки не можуть його прочитати), Secure (надсилається лише через HTTPS), SameSite=Lax (не надсилається в більшості запитів, які ініціюють інші сайти). Суворо необхідний.

cart_id — дозволяє відвідувачу, який не ввійшов, зберегти свій кошик. Він вказує на кошик, збережений у базі даних. Суворо необхідний, бо відвідувач сам попросив додати товари до кошика.

theme — запам’ятовує темний режим. Це могло б бути cookie, але йому ніколи не потрібно доходити до сервера, тож простіше використати localStorage браузера.

Cookies аналітики — додаються, якщо ви встановлюєте інструмент аналітики. Вони неосновні. У ЄС і Великій Британії для них зазвичай потрібна згода до встановлення, тому скрипт аналітики має чекати, поки відвідувач натисне «Прийняти».

Зверніть увагу, що магазин не зберігає в cookies: ім’я клієнта, адресу чи дані картки. Cookies надсилаються з кожним запитом і лежать на пристрої користувача, тож вони мають містити ідентифікатори, а не персональні дані.

Поширені терміни простими словами

ТермінЩо означає
CookieНевелика пара назва–значення, яку браузер зберігає і надсилає назад сайту.
Set-CookieЗаголовок відповіді, яким сервер створює або оновлює cookie.
СесіяЗапис сервера про користувача, що ввійшов, прив’язаний до ідентифікатора в cookie.
HttpOnlyЗабороняє JavaScript сторінки читати cookie, що обмежує шкоду від вставлених скриптів.
SecureCookie надсилається лише через зашифровані з’єднання HTTPS.
SameSiteВизначає, чи надсилається cookie в запитах з інших сайтів (Strict, Lax або None).
Expires / Max-AgeКоли cookie має бути видалено.
Domain / PathЯкі адреси на сайті отримують cookie.
localStorageСховище браузера, яке може читати код сторінки, але яке автоматично не надсилається на сервер.
XSSCross-site scripting: скрипт зловмисника, що виконується на вашій сторінці і може намагатися викрасти дані.
CSRFCross-site request forgery: інший сайт змушує браузер надіслати запит із вашими cookies.
Згода на cookiesЗапит дозволу відвідувачів перед встановленням неосновних cookies.

Поширені помилки та хибні уявлення

  • «Cookies — це віруси». Це простий текст. Вони не можуть виконувати код на вашому комп’ютері.
  • Зберігання чутливих даних у cookies. Зберігайте випадковий ідентифікатор, а деталі тримайте на сервері.
  • Токени входу в localStorage. Будь-який скрипт, що працює на сторінці, може прочитати localStorage, зокрема вставлений зловмисником. Cookie HttpOnly взагалі не можуть прочитати скрипти сторінки.
  • Відсутні прапорці Secure і HttpOnly. Ці два прапорці дешеві й закривають поширені діри.
  • Розрахунок, що банер покриває все. Банер, який завантажує аналітику до того, як хтось натисне «Прийняти», не виконує свою роботу.
  • Забутий вихід із системи. Вихід має видаляти cookie і завершувати сесію на сервері, щоб скопійований cookie перестав працювати.
  • «Якщо я не використовую cookies, правила приватності не діють». Такі правила, як GDPR, стосуються персональних даних незалежно від того, де вони зберігаються: локальне сховище, відбитки пристрою та серверні журнали включно.

Що запитати в AI-конструктора

  • «Перелічи всі cookies, які встановлює застосунок, для чого вони, як довго діють і чи є вони суворо необхідними.»
  • «Використовуй для сесії входу cookie HttpOnly, Secure, SameSite=Lax. Не зберігай токени авторизації в localStorage.»
  • «Зберігай у cookie лише випадковий ідентифікатор сесії, а дані сесії — на сервері.»
  • «Під час виходу очищай cookie і анулюй сесію на сервері.»
  • «Не завантажуй скрипти аналітики чи маркетингу, доки відвідувач їх не прийме, і запам’ятовуй його вибір.»
  • «Додай у політику приватності простий розділ про cookies, який відповідає переліку вище.»

Щодо згоди див. як додати згоду на cookies. Щоб зрозуміти, як cookies пов’язані з входами, прочитайте що таке автентифікація.

Cookies у Mythex

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

Запитання

Що таке cookie на сайті?

Cookie — це невеликий текстовий фрагмент, який сайт просить ваш браузер зберегти. Браузер надсилає його назад із кожним наступним запитом до цього сайту, і це дозволяє сайту пам’ятати, наприклад, чи ви увійшли в обліковий запис або що є у вашому кошику.

Чи небезпечні cookies?

Cookies — це лише дані, а не програми, тож вони не можуть виконувати код або заразити комп’ютер. Проблеми стосуються приватності — коли сторонні cookies відстежують вас між сайтами, і безпеки — коли cookie входу викрадають і використовують, щоб видавати себе за вас.

У чому різниця між cookies першої та третьої сторони?

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

Чи потрібен банер cookies?

Це залежить від того, де ваші користувачі і які cookies ви використовуєте. У ЄС і Великій Британії неосновні cookies, як-от аналітика чи реклама, зазвичай потребують згоди, а cookies, суворо необхідні для сервісу, як-от сесія входу, зазвичай ні. Перевірте правила, що стосуються саме вас.

У чому різниця між cookies і localStorage?

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

Mythex · Pricing · Створюйте що завгодно з ШІ · Шаблони сайтів і застосунків · Порівняння Mythex · Глосарій створення застосунків за допомогою ШІ · Безкоштовні інструменти для створення застосунків за допомогою ШІ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)