PHP та Cookies
Знайомство
Cookies - це механізм зберігання даних браузером віддаленого комп'ютера для ідентифікації відвідувачів, що повертаються та зберігання параметрів веб-сторінок (наприклад, змінних). Файли Cookies являють собою звичайні текстові файли, які зберігаються на диску у відвідувачів сайтів.
Наведемо приклад використання Cookies на конкретному прикладі.
Припустимо, нам потрібно написати лічильник відвідування сайту. Нам потрібно знати, яке число відвідувань сайту здійснювалося кожним конкретним відвідувачем. Дану задачу можна вирішити двома способами. Перший з них полягає у веденні обліку IP-адрес користувачів. Для цього потрібна база даних всього з однієї таблиці, приблизна структура якої така:
IP-адреса | кількість відвідувань |
210.124.134.203 | 7 |
212.201.78.207 | 14 |
83.103.203.73 | 3 |
Коли користувач заходить на сайт, нам потрібно визначити його IP-адресу, знайти в базі даних інформацію про його відвідування, збільшити лічильник і вивести його в браузер відвідувача. Написати обробник (скрипт) подібної процедури нескладно. Однак при використанні такого методу з'являються проблеми наступного характеру:
- Для кожної IP-адреси потрібно вести облік в одній таблиці, яка може бути дуже великою. А з цього випливає нераціональне використання процесорного часу і дискового простору;
- У більшості домашніх користувачів IP-адреси є динамічними. Тобто, сьогодні у нього адресу 212.218.78.124, а завтра - 212.218.78.137. Таким чином, велика ймовірність ідентифікувати одного користувача кілька разів.
Можна використовувати інший спосіб, який набагато легше в реалізації і більш ефективний. Треба встановити в Cookie змінну, яка буде зберігатися на диску віддаленого користувача. Ця змінна і буде зберігати інформацію про відвідування. Вона буде зчитуватися скриптом при зверненні відвідувача до сервера. Вигода такого методу ідентифікації очевидна. По-перше, не потрібно зберігати безліч непотрібної інформації про IP-адреси. По-друге, нас не цікавлять динамічні IP-адреси, оскільки кожен відвідувач сайту зберігає дані про його відвідування у себе на комп'ютері.
Зрозуміло, що Cookie можна використовувати для збереження невеликої за обсягом інформації у клієнта. Наприклад:
- колір фону сторінок
- мова
- оформлення таблиць
- іншої інформації
Програмування Cookies
Для установки Cookies використовується функція SetCookie (). Для цієї функції можна вказати шість параметрів, один з яких є обов'язковим:
- name - задає ім'я (рядків), закріплене за Cookie;
- value - визначає значення змінної (рядок);
- expire - час "життя" змінної (ціле число). Якщо цей параметр не вказати, то Cookie будуть "жити" до кінця сесії, тобто до закриття браузера. Якщо час вказано, то, коли воно настане, Cookie самознищиться.
- path - шлях до Cookie (рядок);
- domain - домен (рядок). Як значення встановлюється ім'я хоста, з якого Cookie був встановлений;
- secure - передача Cookie через захищене HTTPS-з'єднання.
Зазвичай використовуються тільки три перші параметра.