Yii - файлы cookie
Файлы cookie - это простые текстовые файлы, которые хранятся на стороне клиента. Вы можете использовать их для отслеживания.
Есть три шага, чтобы идентифицировать вернувшегося пользователя:
Сервер отправляет набор файлов cookie клиенту (браузеру). Например, id или токен.
Браузер хранит это.
В следующий раз, когда браузер отправляет запрос на веб-сервер, он также отправляет эти файлы cookie, чтобы сервер мог использовать эту информацию для идентификации пользователя.
Файлы cookie обычно устанавливаются в заголовке HTTP, как показано в следующем коде.
HTTP/1.1 200 OK
Date: Fri, 05 Feb 2015 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name = myname; expires = Monday, 06-Feb-16 22:03:38 GMT;
path = /; domain = tutorialspoint.com
Connection: close
Content-Type: text/html
PHP предоставляет setcookie() функция для установки куки -
setcookie(name, value, expire, path, domain, security);
где -
name - Устанавливает имя файла cookie и сохраняется в переменной среды HTTP_COOKIE_VARS.
value - Устанавливает значение названной переменной.
expiry - Указывает будущее время в секундах с 00:00:00 по Гринвичу 1 января 1970 г. По истечении этого времени cookie станет недоступным.
path - Указывает каталоги, для которых cookie действителен.
domain- Это можно использовать для определения доменного имени в очень больших доменах. Все файлы cookie действительны только для хоста и домена, которые их создали.
security - Если установлено значение, это означает, что файл cookie должен отправляться только по HTTPS, в противном случае, если установлено значение 0, cookie может отправляться по обычному протоколу HTTP.
Для доступа к файлам cookie в PHP вы можете использовать $_COOKIE or $HTTP_COOKIE_VARS переменные.
<?php
echo $_COOKIE["token"]. "<br />"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["token"]. "<br />";
echo $_COOKIE["id"] . "<br />"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["id"] . "<br />";
?>
Чтобы удалить cookie, вы должны установить cookie с датой, срок действия которой уже истек.
<?php
setcookie( "token", "", time()- 60, "/","", 0);
setcookie( "id", "", time()- 60, "/","", 0);
?>