Yii - Cookies
Cookies são arquivos de texto simples armazenados no lado do cliente. Você pode usá-los para fins de rastreamento.
Existem três etapas para identificar um usuário recorrente -
O servidor envia um conjunto de cookies para o cliente (navegador). Por exemplo, id ou token.
O navegador o armazena.
Na próxima vez que um navegador enviar uma solicitação ao servidor da web, ele também enviará esses cookies, para que o servidor possa usar essas informações para identificar o usuário.
Os cookies são geralmente definidos em um cabeçalho HTTP, conforme mostrado no código a seguir.
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 fornece o setcookie() função para definir cookies -
setcookie(name, value, expire, path, domain, security);
onde -
name - Define o nome do cookie e é armazenado em uma variável de ambiente chamada HTTP_COOKIE_VARS.
value - Define o valor da variável nomeada.
expiry - Especifica um tempo futuro em segundos desde 00:00:00 GMT em 1 ° de janeiro de 1970. Após esse horário, o cookie ficará inacessível.
path - Especifica os diretórios para os quais o cookie é válido.
domain- Isso pode ser usado para definir o nome de domínio em domínios muito grandes. Todos os cookies são válidos apenas para o host e domínio que os criou.
security - Se definido como, significa que o cookie deve ser enviado apenas por HTTPS, caso contrário, quando definido como 0, o cookie pode ser enviado por HTTP normal.
Para acessar cookies em PHP, você pode usar o $_COOKIE or $HTTP_COOKIE_VARS variáveis.
<?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 />";
?>
Para excluir um cookie, você deve definir o cookie com uma data que já expirou.
<?php
setcookie( "token", "", time()- 60, "/","", 0);
setcookie( "id", "", time()- 60, "/","", 0);
?>