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); 
?>