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