Yii - Cookie
I cookie sono file di testo semplice memorizzati sul lato client. Puoi usarli per scopi di monitoraggio.
Ci sono tre passaggi per identificare un utente di ritorno:
Il server invia una serie di cookie al client (browser). Ad esempio, id o token.
Il browser lo memorizza.
La prossima volta che un browser invia una richiesta al server web, invia anche quei cookie, in modo che il server possa utilizzare tali informazioni per identificare l'utente.
I cookie vengono solitamente impostati in un'intestazione HTTP come mostrato nel codice seguente.
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 fornisce l'estensione setcookie() funzione per impostare i cookie -
setcookie(name, value, expire, path, domain, security);
dove -
name - Imposta il nome del cookie e viene memorizzato in una variabile d'ambiente chiamata HTTP_COOKIE_VARS.
value - Imposta il valore della variabile denominata.
expiry - Specifica un orario futuro in secondi dalle 00:00:00 GMT del 1 ° gennaio 1970. Dopo questo tempo il cookie diventerà inaccessibile.
path - Specifica le directory per le quali il cookie è valido.
domain- Questo può essere utilizzato per definire il nome di dominio in domini molto grandi. Tutti i cookie sono validi solo per l'host e il dominio che li ha creati.
security - Se impostato su, significa che il cookie deve essere inviato solo da HTTPS, altrimenti, se impostato a 0, il cookie può essere inviato tramite HTTP normale.
Per accedere ai cookie in PHP, puoi utilizzare il $_COOKIE or $HTTP_COOKIE_VARS variabili.
<?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 />";
?>
Per eliminare un cookie, è necessario impostare il cookie con una data già scaduta.
<?php
setcookie( "token", "", time()- 60, "/","", 0);
setcookie( "id", "", time()- 60, "/","", 0);
?>