Файли cookie принцип роботи на сервері. Політика використання файлів cookie та схожих технологій. Що таке кукі

Майже кожен користувач Windows зустрічався з таким поняттям як файли cookie. Що це таке, навіщо вони потрібні та чому їх бажано чистити, читайте в рамках цієї публікації.

Що таке кукі

Кукі (англ. Cookie) - це текстовий файлз даними, що записується в браузер, сервером відвідуваного сайту. Цими даними є:

  • інформація про логіну та паролі;
  • індивідуальні налаштування та переваги користувача;
  • статистика відвідувань тощо.

За допомогою цих даних сайт, на який ви заходили, зможе вас ідентифікувати. Відбувається це так:

  • сервер сайту опитує браузер на наявність інформації в файлі cookie;
  • браузер надає цю інформацію, надсилаючи відповідь серверу;
  • в залежності від того, яку інформацію отримає сервер сайту, ви будете ідентифіковані або виявитеся для сайту новою особистістю (якщо файли куки почищені).

Головним параметром cookie є термін його дії. За замовчуванням це одна комп'ютерна сесія. Файли видаляються після закриття браузера. Якщо вони мають термін дії, то стають постійними і видаляються після закінчення терміну дії або функцією очищення у браузері.

Навіщо вони потрібні?

Насамперед, вони потрібні для зручності користування Інтернетом. Наприклад, одного разу увійшовши у свій профіль на сайті, вам не потрібно буде постійно вводити логін та пароль після закриття вкладки.

Також завдяки cookies зберігаються індивідуальні налаштування облікового запису. Наприклад, деякі сайти пропонують додавати у вибране, змінювати оформлення, змінювати інтерфейс за допомогою таких файлів з терміном дії.

Де зберігаються cookie?

Файли зберігаються в папці користувача. Для кожного браузера свій шлях:

  • Opera C:\Users\Ім'я_Користувача\AppData\Local\Opera Software\Opera
  • Google Chrome C:\Users\Ім'я_Користувача\AppData\Local\Chromium
  • Яндекс.Браузер C:\Users\Ім'я_Користувача\AppData\Local\Yandex\YandexBrowser
  • Mozilla Firefox C:\Users\Ім'я_Користувача\AppData\Local\Mozilla\Firefox

Навіщо чистити?

Іноді файли cookie бажано чистити. Крім корисності, вони можуть завдати й деяких незручностей:

  1. Вони надають швидкий доступ до ваших профілів без введення логіну та пароля. Якщо за комп'ютером виявиться стороння людина, вона зможе отримати доступ до ваших персональних даних.
  2. Крім того, якщо стороння людина опиниться за вашим комп'ютером, за неочищеними файлами cookie можна відстежити історію пересування сайтами. Це погано з погляду конфіденційності.
  3. При неправильній обробці сайтом вашого cookie файлу, ви можете не увійти у свій профіль, або деякі функції на веб сервісі будуть некоректно працювати.

Як очистити файли cookie?

Наведу приклад очищення для популярних браузерів:

  1. Opera. Ctrl+H → Очистити історію → Файли cookie та інші дані з сайтів.
  2. Google Chrome. Ctrl+H → Очистити історію → Файли cookie, а також інші дані сайтів та плагінів.
  3. Яндекс.Браузер. Ctrl+H → Очистити історію → Файли cookie та інші дані сайтів та модулів.
  4. Mozilla Firefox Ctrl+Shift+Del → Куки.

Як вимкнути?

Загалом створення cookie можна відключити в браузері. Ця функція доступна у всіх популярних браузерах, тому проблем не виникає. Але після вимкнення цієї функції можуть перестати працювати деякі сайти, оскільки вони взаємодіють з користувачем виключно за допомогою файлів cookie.

Для відключення у популярних браузерах:


Порада! Якщо в браузері ви бачите сповіщення: «повинна бути дозволена робота з файлами cookie» або «спроба зберегти файл cookie заблокована», то ваш браузер не зберігає кукі за замовчуванням. Відкрийте налаштування та увімкніть збереження файлів cookie.

Здрастуйте, шановні читачі блогу сайт. Практично відразу будь-який інтернет-початківець стикається з таким поняттям як cookie. Що означає це загадкове слово? Чому їх іноді чистять? Чим відрізняються сторонні куки від прямих? Як їх увімкнути чи вимкнути? А головне – навіщо?

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

Що таке кукі — міфи та реальність

Якщо казати простою мовою, то cookie це лише фрагменти даних, якими обмінюються ваш браузер і веб-сервера, на яких розташовані відвідувані вами сайти (). Справа в тому, що протокол http влаштований так, що при кожному зверненні до нової сторінки того самого сайту, ваш браузер як би заново знайомиться з сервером і все, що ви робили на сторінках сайту трохи раніше, буде забуто геть-чисто.

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

Наприклад, якщо для роботи на сайті потрібно авторизаціято вам при кожному переході на нову сторінку доведеться заново :

  1. Користувач вводить ім'я та пароль у форму входу, розташовану на сайті, і відправляє їх на сервер.
  2. Сервер отримує їх та перевіряє на правильність, після чого віддає браузеру запитану користувачем сторінку. Але разом з кодом браузер отримує cookie з ідентифікатором сесії. Як правило, вони зберігатимуться в браузері якийсь час, протягом якого користувач зможе працювати з сайтом без повторної авторизації.
  3. При запиті інших сторінок сайту сервер, браузер разом з кодом запиту відправляє і куки з ідентифікатором сесії. Сервер перевіряє ідентифікатор за своєю базою і, при сприятливому збігу обставин, віддає код сторінки, що запитується.

А в інтернет-магазині ви взагалі нічого не зможете купити, бо без cookie не працюватиме «Віртуальний кошик»для зберігання покупок.

Що примітно, розробка стандарту cookie розпочалася саме для реалізації кошика в пакеті, призначеному для інтернет комерції. Відбувалося це на початку дев'яностих років минулого століття авторами зараз уже забутого браузера Netscape. Потім стандарт переглядався у зв'язку з тим, щоб спробувати обмежити використання куків для збирання особистих даних про користувачів браузерів.

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

Загалом, куки в більшості випадків потрібні та корисні. Але, як і раніше, не вщухають суперечки з приводу того, що сторонні куки створюють загрозу приватності користувача. Звідки беруться ці сторонні cookie і що це таке? Справа в тому, що при завантаженні (відмальовуванні) веб-сторінки дані можуть підвантажуватися не тільки з того сервера, де, власне, розташований сайт, але і сторонніх серверів.

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

Проте, у налаштуваннях деяких браузерівпідвантаження сторонніх cookie можна дозволити, оскільки за замовчуванням вона блокується з міркувань безпеки. У цьому плані в різних браузерах інтернету можна зустріти приблизно такий набір можливостей:

  1. Повне відключення куки.
  2. Очищення всіх cookie під час виходу з браузера.
  3. Заборона або обмеження використання сторонніх куків
  4. Створення «білого» та/або «чорного» списку сайтів, cookie з яких або пропускатимуться, або блокуватимуться.
  5. Деякі браузери мають навіть менеджер для очищення цих записів для окремих сайтів.
  6. Встановлення обмежених термінів закінчення куки.

Щодо останнього пункту. Справа в тому, що існують записи cookie, які самі видаляються після закінчення вашого сеансу роботи з тим чи іншим сайтом. Однак, у розробників сайтів є можливість вказати термін життя цих записів, після якого вони будуть почищені. Такі куки називаються постійнимиі саме про обмеження їхнього терміну життя йдеться в останньому пункті. Вони зберігаються зазвичай в окремому файлі, який може називатися cookies.txt.

Тепер давайте розвіємо кілька міфів, якими обросли кукіси:

  1. Cookie ідентифікують не конкретну людину (вас), а окремі браузери. Відкривши сторінку того ж самого сайту в іншому браузері, вас попросять авторизуватися заново, бо куків, які говорять про авторизацію, що виробляється раніше, в даному браузері, не буде. Якщо браузером користуються кілька людей, то знову ж таки ця технологія не робитиме для них відмінності.
  2. Кукі не є програмами (це звичайний текстовий фрагмент), тому вони не можуть бути джерелами зараження ваших комп'ютерів вірусами і самі вірусами також не можуть бути.
  3. Також вони не мають нічого спільного зі спливаючими мимовільно у браузері вікнами. Ці речі відключаються у різних налаштуваннях браузера.

Тепер перерахуємо те, що справді cookie можуть робити:

  1. За допомогою них можна відстежити, які саме сторінки ви відвідували, і термін зберігання цих даних може бути дуже високий. Спецслужби найдемократичнішої країни у світі колись звинувачувалися у використанні куків для стеження та отримання конфіденційних даних у такий спосіб.
  2. Якщо трафік, що передається з вашого комп'ютера в інтернет, не шифрується, то зловмисники можуть його перехопити і в тому числі прочитати cookie (перехопити або підмінити). Найчастіше це відбувається під час використання WiFi без шифрування.
  3. Cookie також можуть встановлюватися програмами мовами типу JavaScript, вбудованими в текст сторінок, або іншими скриптами, що працюють у браузері (тобто без отримання цих даних із сервера).
  4. На даний момент ця технологія має альтернативні рішення, але куки, як і раніше, залишаються оптимальним варіантом за сукупністю наявних у них можливостей.

Як почистити, увімкнути або вимкнути куки?

Трапляються випадки, коли потрібно почистити cookie залишені вами після сеансу користування інтернетом. Наприклад, якщо ви авторизувалися на якихось сайтах, але при цьому працювали з чужого комп'ютера(У гостях, на роботі, в інтернет-кафе тощо). Якщо куки залишити, то інший користувач цілком може увійти на той самий сайт і потрапити до вашого облікового запису, сам того не бажаючи.

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

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

  1. У (до версії 12.16) потрібно вибрати з верхнього меню кнопки «Опера» пункти «Параметри» - «Загальні параметри». У вікні перейти на вкладку «Розширені», а потім вибрати в лівому меню пункт « cookie».

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

    Якщо хочете просто почистити куки, то вибираєте з верхнього меню Опери пункти «Налаштування» - «Видалити особисті дані», а на вкладці, що відкрилася, зможете почистити або всі cookie, або тільки ті, що були отримані в останньому сеансі роботи з браузером:

  2. У новій Опері(з номером версії вище 12.16) потрібно з меню кнопки «Opera» вибрати пункти «Інші інструменти» - «Очистити історію відвідувань»:

    На вкладці, що відкрилася, достатньо буде поставити галочку в поле «Видалити cookies та інші дані сайту» і натиснути на кнопку «Очистити» розташовану нижче:


  3. В і просто натисніть клавіші Ctrl+Shift+Delete, після чого у вікні, поставте галочку в поле «Видалити cookies та інші дані сайту» і натисніть на кнопку «Очистити історію», розташовану нижче.

    Так, ще ви можете вибрати період часу, за який буде почищено куки описаним вище способом.

  4. У потрібно буде натиснути клавіші Ctrl+Shift+Delete, або вибрати з верхнього меню кнопки «Firefox» пункти «Журнал» - «Видалити недавню історію».

    У вікні достатньо поставити галочку в полі « Кукі», вибрати період, за який їх потрібно буде почистити, та натиснути на кнопку «Видалити зараз».

  5. Для очищення куків можна буде натиснути вже знайому нам комбінацію клавіш: Ctrl+Shift+Delete.

    Потім потрібно поставити галочку в рядку «Куки-файли» та натиснути на розташовану внизу кнопку «Видалити».

Удачі вам! До швидких зустрічей на сторінках блогу сайт

Вам може бути цікаво

Як видалити пошту та Поштова скринькана Mail.ru, Яндексі та Gmail
Інкогніто - що це таке і як включити режим інкогніто в Яндекс браузері та Google Хромі
Як видалити канал чи відео з Ютуба?
Історія пошуку та переглядів в Яндексі - як її відкрити та подивитися, а при необхідності очистити чи видалити Як видалити свою сторінку на Однокласниках Як видалити або тимчасово відключити свою сторінку у Facebook Як створити або видалити групу, або сторінку у вконтакті - як видалити паблік у ВК
Як видалити повідомлення та все листування в Скайпі, чи можна змінити логін та видалити обліковий запис Skype
Реєстрація та вхід на свою сторінку у Контакті - що робити якщо увійти до ВК не виходить
Як видалити сторінку у Вконтакті, а також позбутися віддалених сторінок у Друзі Офіційний сайт - як знайти оф сайт через пошукову систему

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

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

Можна вирішити це завдання двома способами. Перший спосіб полягає в тому, щоб вести облік за IP-адресою. Для цього потрібна база даних, що складається всього з однієї таблиці, структура якої приблизно така:

Відвідування

111. 111.111.111

Коли користувач заходить на наш сайт, нам потрібно визначити його IP, знайти в базі даних інформацію про відвідування, збільшити лічильник на одиницю і вивести його в браузер. Визначати IP-адресу клієнта ми зуміємо (змінна $REMOTE_ADDR), тому нам нескладно написати таку програму. Однак при використанні даного способу рано чи пізно спливуть дві проблеми:

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

Більшість домашніх користувачів IP-адреси динамічні. Тобто сьогодні у нього адреса 111. 111.111.111, завтра - 111.111.111.118. І спробуй потім визначити хто є хто. Можна ввести реєстрацію за допомогою

імені користувача та пароля, але це ще більше збільшить нашу базу даних та створить незручності для клієнтів.

Ясна річ, що цей спосіб нам не допоможе. Залишається використовувати другий спосіб, який набагато легший у реалізації. Ми встановлюємо Cookie - змінну, яка зберігатиметься на диску у користувача. Ця змінна і зберігатиме інформацію про відвідини. Вона зчитуватиметься сценарієм при зверненні користувача до сервера. Вигода очевидна. По-перше, нам не потрібно зберігати непотрібну інформацію про IP-адреси, по-друге, нам не страшні динамічні IP-адреси, оскільки дані про свої відвідування зберігаються у клієнта.

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

Чому небезпечно зберігати пароль у Cookies? Отримавши від сервера Cookie - змінну, браузер зберігає її на диску у відкритому вигляді, тобто не кодуючи її. Будь-хто, кому не ліньки, може переглянути значення цієї змінної. Крім того, в деяких браузерах Cookies взагалі зберігаються у звичайному текстовому файлі, а деякі навіть дозволяють переглянути їх. Наприклад, у браузері Mozila для перегляду

Соокіes виконайте команду меню Edit-Preference-Security-Cookes

У цьому розділі ми можете увімкнути (Enable) або вимкнути (Disable ) прийом Cookies, встановити максимальний термін зберігання Cookie (Limit maximum lifetime):

Current session (Поточна сесія) – змінна буде видалена після закінчення сесії роботи з сайтом (наприклад, коли користувач закриє вікно сайту).

Встановити певну кількість днів, після яких всі прийняті Cookies будуть видалені.

Натисніть кнопку Manage Stored Cookies. З'явиться вікно з інформацією про всі встановлені Cookies

Клацніть на імені встановленої Cookie-змінної, щоб отримати інформацію про неї:

Name – ім'я змінної;

Information – інформація, яку містить Cookie;

Host – вузол, що встановив змінну;

Secure Server - ознака того, що Cookie має передаватися через захищене (HTTPS) з'єднання:

Expires - час життя Cookie. Значення at end of session означає, що Cookie «житиме» до кінця сесії.

Кнопка Remove Cookie видаляє поточну змінну, а кнопка Remove All Cookies видаляє iscc Cookie -змінні.

Ви часто купуєте товари в Інтернет-магазинах? Тоді рекомендую час від часу (скажімо, щомісяця) видаляти всі Cookies. Навіщо? Ви побачите, що ціни стануть нижчими. Справа в тому, що деякі Інтернет-магазини (особливо «буржуйські») грішать на довірі клієнтів. Кілька разів вони можуть продати вам товар за заниженими пінами, потім ви, знаючи, що це найдешевший в Інтернеті магазин, купуватимете товари тільки у них. А вони якраз і скористаються Cookies - свідомо завищуватимуть ціни на всі товари, коли ви в черговий раз купуватимете, запевняючи себе, що економите гроші. При цьому за допомогою Cookies Інтернет-магазини будуть визначати, хто ви такий і що раніше купували.

Однак не потрібно зовсім відключати Cookies. Деякі сайти завантажуватимуться некоректно. Якщо ви боїтеся, що через Cookies можна отримати вірус, то не турбуйтеся: навіть якщо хтось передасть вам за допомогою Cookies "шкідливий код", то система не зможе його запустити, оскільки Cookies зберігаються в текстовому вигляді (а в Linux для Cookies не встановлюється право запустити файл).

Перед тим, як розпочати роботу з Cookies, дозволю собі кілька зауважень щодо вибору браузера. Для налагодження ваших сценаріїв, якщо вони використовують Cookies, я рекомендую використовувати браузер Mozilla, оскільки він дозволяє ефективно керувати Cookies. Якщо цей браузер чомусь не влаштовує вас, використовуйте Konqueror , який також дозволяє переглянути детальну інформаціюпро отримані Cookies . Браузери Internet Explorer версій 4 та 5 не дозволяють цього зробити.

2 . Програмування Cookies

Встановлення Cookies

Ось тепер можна приступити до програмування Cookies. Для встановлення Cookies використовується функція SetCookie. У загальному випадку для цієї функції можна вказати цілих шість параметрів, але обов'язковий з них є лише один - пате:

namе - задає ім'я (рядок), закріплене за Cookie.

value - визначає значення змінної (рядок).

expire - час життя змінної (ціле число). Якщо цей параметр не вказано, Cookie буде жити до кінця сесії, тобто до закриття браузера. Якщо вказано час, то, коли він настане, Cookie самознищиться.

path - шлях до Cookie (рядок).

domain - домен (рядок). Як значення встановлюється ім'я хоста, з якого встановили.

secure – передача через HTTPS-з'єднання.

Зазвичай використовуються лише три перші параметри. У лістингу 4 наведено кілька прикладів встановлення Cookies.

Лістинг 4. Приклади встановлення Cookies

/./ До кінця сесії

SetCookie("Test", "Value");

.// Час життя - одна година після встановлення

SetCookie("My_cookie", "One hour",time()+3600); ?>

При використанні Cookies потрібно мати на увазі, що Cookies повинні бути встановленими до першого виводу сценарію (чи оператор echo або виведення якоїсь функції). Тому бажано встановлювати Cookies на початку сценарію. Справа в тому, що Cookies встановлюються за допомогою певного заголовка сервера, а якщо ви виводите що-небудь, це означає, що починається тіло документа. В результаті Cookies не буде встановлено. Ось що ви отримаєте, якщо встановлення Cookies

неможлива: Warning: Cannot add header information - headers already sent by (output started на /var/www/html/cookie.php: 2) in /var/www/

Читання значень Cookies

Отримати доступ до cookies досить просто. Усі вони зберігаються до змінної оточення НТТР_СООК1Е. Якщо ми встановили кілька Cookies , то змінної НТТР_СООК1Е вони будуть перераховані через «;» (Через точку з комою). Наприклад: mycookiel=valuel;mycookie2=value2.

Для читання значення Cookies можна звертатися до них як до звичайних змінних. Наприклад: echo $ Test; Тільки не забудьте перевірити існування змінної. Насамкінець наведу приклад «індивідуального лічильника» відвідувань. Код сценарію наведено у лістингу 5.

Лістинг 5. Індивідуальний лічильник за допомогою Cookies

// Якщо змінна немає, об'злюємо її if (! isset(51na Counter); $lnd Counter = 0;

// Збільшуємо лічильник

/* Встановлюємо Cookie яка житиме до переустановки користувачем Windows, тобто дуже довго. Якщо вам цікаво, то браузер видалить її 18/07 ,-"2 9 08:49 */

SetCookie ("Jnd_Counter", $ I na_Counter, Ox6FFFFFFF); echo "Ви відвідали цей сайт $Ind_Counter раз"

Вище говорив, що перед встановленням Cookies не можна використовувати оператор echo . Щойно я сам припустився такої помилки. Якщо оператора echo і вашої програми немає (принаймні до виклику SetCookie() ), а cookies неможливо встановити, переконайтеся в тому, що символи маркера початку програми -

Початок сайту

Природно, що символ я не побачив, а PHP «подумав», що це фрагмент HTML-документа. В результаті Cookies не були встановлені, оскільки Cookies встановлюються при формуванні заголовка документа, а після першого виведення сценарію формування заголовка припиняється.

Напевно, в процесі користування інтернетом вам зустрічався термін cookies. Що це таке? По суті, куки є файлом або кілька невеликих файлів, у яких зберігається текстова інформація. Створюються вони, коли ви відвідуєте сайти, що підтримують цю технологію.

Як працюють cookies?

Все дуже просто. Як тільки браузер отримує у сайту певну веб-сторінку, зв'язок між ним та вашим ПК розривається. Якщо ви вирішите перейти на іншу сторінку того ж ресурсу або оновити поточну, буде встановлено нове з'єднання. На сайтах, де немає авторизації користувачів, це не створює жодних проблем. Але якщо вона необхідна, без додаткових заходів ресурс не здатний “запам'ятати” людей, що його відвідують, і відобразити інформацію відповідно до уподобань кожного з них. Уникнути ситуації, за якої, переміщаючись між різними сторінками сайту, людина не сприймається сервісом як новий, неавторизований відвідувач, допомагають cookies. Що це текстова інформація, ви знаєте. А працюють куки дуже просто: коли ви переходите з однієї сторінки на іншу, сервер посилає комп'ютер запит на дані з cookies. За допомогою них він дізнається, хто має намір виконати таку дію, а потім на основі отриманої інформації задовольняє запит чи відмовляє. Застосовуються cookies і під час створення інтернет-магазинів. Саме завдяки ним може існувати звичний нам кошик, в якому зберігаються дані про вибрані, але ще не оформлені товари. І саме куки дозволяють зазначеним товарам не зникати з неї, поки ви переглядаєте інші частини каталогу та оформляєте замовлення.

Чим корисні cookies?

Ви вже знаєте про декілька аспектів використання cookies. Що це таке ми також встигли з'ясувати. Тепер поговоримо про те, чим може бути корисна дана технологія і в яких випадках без неї не обійтися.

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

При роботі з лічильниками відвідувань, системами підрахунку рейтингу та голосуванням також застосовуються cookies. Що це дає у цьому випадку? Куки потрібні для того, щоб система могла визначити, що даний користувач вже переходив за посиланням або залишав свій голос. Тобто з'являється страховка від штучних накруток. Існують способи обійти такий захист, проте для звичайних користувачів цього результату більш ніж достатньо.

Чого варто побоюватись?

Працюючи з cookies, важливо пам'ятати, що в деяких випадках нешкідлива на перший погляд текстова інформація може нести небезпеку.

Кукі є однією з найважливіших потенційних причин порушення приватності в мережі. Чому це відбувається? Рекламні сайти завжди відстежують, яку рекламу переглядає той чи інший користувач. У cookies зберігаються дані про те, які оголошення людина вже бачила, відстежити, які теми цікаві для неї. І доки йдеться про cookies для окремого сайту, про витік особистої інформації говорити не доводиться. Але якщо мова йде про великі рекламні мережі, коди яких присутні на переважній більшості ресурсів, все стає складніше. Так, завдяки системі може зібрати практично всю інформацію про діяльність людини у мережі. А якщо на якомусь сайті він запроваджує своє ім'я та прізвище, з'являється можливість пов'язати всі ці дії з реальною людиною.

Є й інші проблеми, пов'язані з cookies. В основному стикаються з ними програмісти, які прописують код document. cookies для різних веб-сайтів. Не ознайомившись попередньо з професійними джерелами, можна припустити, щоб у cookies зберігалися логіни та паролі від сайту. У результаті їх стає дуже просто вилучити та скористатися у своїх цілях. Однак практично всі більш-менш серйозні сайти зберігають паролі та логіни у базі даних на сервері. Куки тут застосовуються просто як умовного ідентифікатора для користувача. Причому видається такою лише на невеликий проміжок часу. Тобто, навіть якщо хакеру вдасться отримати доступ до cookies, ніякої цінної інформації він там не знайде.

Як вмикати, вимикати та очищати cookies?

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

Для Mozilla Firefox. Заходимо до “Інструментів”. Далі слід знайти пункт “Настройки”, а ньому - вкладку “Приватность”. Натомість Firefox у рамці “Історія” потрібно вибрати зі списку пункт “не запам'ятовувати”.

Для Google Chrome. Відкриваємо "Параметри", натиснувши кнопку у вигляді Після цього переходимо в "Розширені" -> "Налаштування змісту". У віконці потрібно вибрати пункт Cookie, а потім відзначити пункт, що забороняє збереження сайтами даних.

Як бачите, вимкнути або знову включити cookies у Chrome та Mozilla Firefox, найпопулярніших браузерах, дуже просто. В інших оглядачах це робиться тим самим чином, за допомогою вкладок "Безпека", "Приватність" і т.д.

Якщо вам потрібно очистити cookies, швидше та простіше зробити це не за допомогою стандартних засобів браузера, а скориставшись спеціальною утилітою – cCleaner. Перед очищенням потрібно закрити всі браузери, інакше видалити всі куки не вдасться.

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

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

Cookie описані в RFC 2965. Файли cookie розраховані на те, щоб зрідка зберігати невеликі обсяги даних. Вони не є універсальним засобом взаємодії або механізмом передачі даних, тому слід виявляти помірність при їх використанні. Специфікації RFC 2965 рекомендують виробникам браузерів не обмежувати число і розміри файлів cookie, що зберігаються. Однак обмеження можутьіснувати:

    Усього куків може бути не більше 300 штук (300 пар ім'я-значення). При перевищенні ліміту найстаріші файли перезаписуються.

    Розмір однієї куки не може перевищувати 4кб. При перевищенні найстаріші байти перезаписуються.

    Від одного домену (другого рівня, включаючи піддомени), може бути встановлено не більше 20 куків.

    Для конкретного сайту будуть доступні лише ті куки, які їм і було встановлено.

Атрибути cookie

    Атрибути cookie: expire, max age, path, domain та secure.

Крім обов'язкового імені (name) і значення (value) кожен cookie має кілька необов'язкових атрибутів, що управляють часом його життя, видимістю та безпекою.

    expire- за замовчуванням cookie є тимчасовими (сеансовими) – їх значення зберігаються на період сеансу Веб-браузера і втрачаються при закритті сеансу користувачем. Щоб зберегти cookie після закінчення сеансу, необхідно повідомити браузеру, як довго він повинен зберігатися. Спочатку використовувався атрибут expire, що вказує дату закінчення дії cookie. Значення expire (RFC 2616) записується у форматі "Wdy, DD Mon YYYY HH:MM:SS GMT". Якщо цей атрибут не заданий, cookie зберігається протягом одного сеансу, до закриття браузера.

    max age- аналогічний атрибуту expires, але термін зберігання визначається за секунди (RFC 6265). Значення десяткове - негативне ціле число. Після закінчення заданого часу клієнт повинен відмовитися від куки. Значення нуль означає, що від cookie потрібно негайно відмовитися.

Встановлення значення будь-якого з цих атрибутів (expires, max age) змушує браузер зберегти cookie в локальному файлі, щоб він міг бути прочитаний при наступному відвідуванні веб-сторінки. Після того, як буде досягнута дата закінчення дії expires або закінчиться період max age, браузер автоматично вилучить файл cookie.

    path- задає веб-сторінки, з якими пов'язаний cookie. За замовчуванням cookie зв'язується з веб-сторінкою, що його створила, і доступний цій же сторінці, а також будь-якій іншій сторінці з того ж каталогу або будь-яких його підкаталогів. Якщо, наприклад, веб-сторінка http://www.example.com/catalog/index.html створює cookie, то цей cookie буде також бачити сторінкам http://www.example.com/catalog/order.html і http:/ /www.example.com/catalog/widgets/index.html, але не бачимо сторінку http://www.example.com/about.html. Цього правила видимості, прийнятого за умовчанням, цілком достатньо. Тим не менш, іноді значення cookie файлу потрібно використовувати на всьому багатосторінковому веб-сайті незалежно від того, яка сторінка створила cookie. Щоб це можна було зробити, для файлу cookie задається значення path(path=/;). Тоді будь-яка сторінка того ж веб-сервера, що містить вказане значення у своєму URL, зможе використовувати cookie файл.

    domain- за замовчуванням cookies доступні лише сторінкам, що завантажуються з того веб-сервера, який їх встановив. Однак великим веб-сайтам може знадобитися можливість спільного використання cookies кількома веб-серверами. Якщо атрибут domain для cookie не встановлено, значенням за промовчанням буде ім'я веб-сервера, на якому знаходиться сторінка. Зверніть увагу, що не можна зробити так, щоб домен cookie файлу відрізнявся від домену вашого сервера.

    secure- це логічний атрибут з ім'ям secure, що визначає, як значення cookie файлу передаються через мережу. За промовчанням cookie не захищений, тобто передається по звичайному незахищеному HTTP з'єднанню. Однак якщо cookie позначений як захищений, він передається, тільки коли обмін між броузером та сервером організовано за протоколом HTTPSабо іншому захищеному протоколу. За замовчуванням набуває значення false.

Cookie визначаються трійкою параметрів ім'я-домен-шлях (name-domain-path). Тобто cookie-файли з різними шляхами або доменами є різними cookie, навіть якщо мають однакові імена. Відповідно, cookie змінюється на нове, тільки якщо нове cookie має те саме ім'я, шлях та домен. В інших випадках нові значення cookie додаються до старих.

Cookies можуть бути встановлені в браузер (або іншій іншій програмі) двома способами:

    за допомогою протоколу Методи та структура протоколу HTTP у якому передбачені два параметри (заголовка) Set-Cookie (сервер вказує прийняти куку) та Cookie (відповідь браузера). Крім пари ім'я/значення(name=newvalue), куки може містити термін дії, шлях та доменне ім'я. Ці атрибути повинні йти після пари name=newvalue та розділятися крапкою з комою. Наприклад:

Set-Cookie: name=newvalue; expires=date; path=/; domain=.example.com. або Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31 Dec 2010 23:59:59 GMT; path=/; domain=.example.net

Домен і шлях говорять браузеру, що cookie має бути відправлена ​​назад на сервер при запитах URL для зазначеного домену та шляху. Якщо вони не вказані, використовується домен та шлях запитаної сторінки.

cookie (HTTP та/або PHP)

    setcookie- значення cookie перед відправкою клієнту піддається URL-кодуванню. При зворотному отриманні значення cookie декодується і поміщається в змінну, з тим самим ім'ям, що ім'я cookie. Якщо ви не бажаєте, щоб значення кодувалися, використовуйте функцію setrawcookie()

    setrawcookie- посилає cookie не перетворюючи значення, в іншому повністю аналогічна функції setcookie

Cookies є частиною Методи та структура протоколу HTTP - заголовка, тому setcookie() має викликатися до будь-якого виведення даних у браузер. Це те саме обмеження, яке має функція header(). Ви можете використовувати функції буферизації виводу, щоб затримати виведення результатів роботи скрипта до того моменту, коли буде відомо, чи знадобиться встановлення cookies або інших заголовків.

Будь-які cookies, надіслані серверу браузером клієнта, будуть автоматично включені до суперглобального масиву $_COOKIE, якщо директива variables_order містить букву "C".

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

    Встановлення.Проста установка SetCookie("Name","Value")

    Масиви cookies.

    Setcookie("mycookie1["id"]", "value_id"); setcookie("mycookie1["lang"]", "value_lang");

    Значення cookie не доступне в масиві $_COOKIE в межах того самого запиту, в якому встановлено куку. Іншими словами, функція setcookie() не змінює значення масиву $_COOKIE. Однак при всіх наступних запитах кожен встановлений раніше cookie міститься в $_COOKIE.

Щоб призначити декілька значень однієї cookie, додайте до її імені. Наприклад: setcookie("MyCookie", "Test", time()+3600);

У разі успішного завершення функція setcookie() повертає TRUE. Однак це не означає, що клієнтська програма (наприклад, браузер) правильно прийняла та обробила cookie. Тобто за поведінкою функції setcookie не можна визначити, чи включені куки в браузері клієнта.

    Читання. if (isset($_COOKIE["lang"])) ( print "Кука".$_COOKIE["lang"]." існує."; )

    Щоб вивести на друк імена та значення всіх cookies, надісланих у поточному запиті, виконайте цикл за масивом $_COOKIE:

    Foreach ($_COOKIE як $cookie_name => $cookie_value) ( ​​print "$cookie_name = $cookie_value
    "; }

    Зміна. Якщо cookie приймає нове значення при наявному вже в браузері cookie з параметрами name, domain і path, що збігаються, то старе значення замінюється новим. В інших випадках нові значення cookie додаються до старих.

    Вилучення. Потрібно вказати лише ім'я cookie, наприклад SetCookie("Name"). Це призведе до видалення встановленої cookie з ім'ям "Name" - це офіційна рекомендація з видалення cookie.

    Працюючий приклад видалення та встановлення cookie за допомогою PHP: "; ) else ( setcookie("my_cook", "My name is John", time() + 60 * 60 * 24); echo "Cookie встановлена ​​користувачеві." . "
    "; ) var_dump($_COOKIE); ?>

Незрозумілі Cookies: _utma, _utmb, _utmc, and _utmz

Іноді при перевірці встановлених куки можна побачити змінні з незрозумілими назвами: _utma, _utmb, _utmc. Ці cookie встановлює Google Analytics. Коротке знайомство зі змінними Cookies від Google Analytics

    Utma – видається під час першого відвідування сайту.

    Utmb – змінна відстежує час відвідин сайту. При кожному заході на сторінку зазначає "перехід". Час життя за промовчанням 30 хвилин.

    Utmc – відстежує закриття браузера користувачем. Якщо при повторному заході кука немає, зараховується нове відвідування, незалежно від _utmb

    Utmv – змінна використовується для встановлення “власної” змінної користувача

    Utmx – змінна необхідна для Website Optimizer. Час життя у куки _utmx – 2 роки.

Докладнішу інформацію про змінні можна знайти в документації Google Analytics.


Top