Yii - ciasteczka

Pliki cookie to zwykłe pliki tekstowe przechowywane po stronie klienta. Możesz ich używać do celów śledzenia.

Istnieją trzy kroki, aby zidentyfikować powracającego użytkownika -

  • Serwer przesyła zestaw plików cookies do klienta (przeglądarki). Na przykład identyfikator lub token.

  • Przeglądarka przechowuje to.

  • Następnym razem, gdy przeglądarka wyśle ​​żądanie do serwera WWW, wysyła również te pliki cookie, aby serwer mógł wykorzystać te informacje do identyfikacji użytkownika.

Pliki cookie są zwykle umieszczane w nagłówku HTTP, jak pokazano w poniższym kodzie.

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 zapewnia setcookie() funkcja ustawienia plików cookie -

setcookie(name, value, expire, path, domain, security);

gdzie -

  • name - Ustawia nazwę pliku cookie i jest przechowywana w zmiennej środowiskowej o nazwie HTTP_COOKIE_VARS.

  • value - Ustawia wartość nazwanej zmiennej.

  • expiry - Określa przyszły czas w sekundach od 00:00:00 GMT 1 stycznia 1970 r. Po tym czasie plik cookie stanie się niedostępny.

  • path - Określa katalogi, dla których ważny jest plik cookie.

  • domain- Można to wykorzystać do zdefiniowania nazwy domeny w bardzo dużych domenach. Wszystkie pliki cookie są ważne tylko dla hosta i domeny, która je utworzyła.

  • security - Jeśli ustawione na, oznacza to, że plik cookie powinien być wysyłany tylko przez HTTPS, w przeciwnym razie, gdy ustawiony na 0, plik cookie może być wysyłany zwykłym HTTP.

Aby uzyskać dostęp do plików cookie w PHP, możesz użyć $_COOKIE or $HTTP_COOKIE_VARS zmienne.

<?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 />"; 
?>

Aby usunąć plik cookie, należy ustawić dla niego datę, która już wygasła.

<?php 
   setcookie( "token", "", time()- 60, "/","", 0); 
   setcookie( "id", "", time()- 60, "/","", 0); 
?>