Yii-クッキー

Cookieは、クライアント側に保存されるプレーンテキストファイルです。追跡目的で使用できます。

リピーターを特定するには、3つのステップがあります-

  • サーバーは一連のCookieをクライアント(ブラウザー)に送信します。たとえば、idまたはtoken。

  • ブラウザはそれを保存します。

  • 次回ブラウザがWebサーバーに要求を送信すると、それらのCookieも送信されるため、サーバーはその情報を使用してユーザーを識別できます。

次のコードに示すように、Cookieは通常HTTPヘッダーに設定されます。

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は setcookie() クッキーを設定する機能−

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

ここで−

  • name − Cookieの名前を設定し、HTTP_COOKIE_VARSと呼ばれる環境変数に保存されます。

  • value −名前付き変数の値を設定します。

  • expiry − 1970年1月1日の00:00:00GMTからの将来の時刻を秒単位で指定します。この時刻を過ぎると、Cookieにアクセスできなくなります。

  • path −Cookieが有効なディレクトリを指定します。

  • domain−これは、非常に大きなドメインでドメイン名を定義するために使用できます。すべてのCookieは、Cookieを作成したホストとドメインに対してのみ有効です。

  • security −に設定すると、CookieはHTTPSでのみ送信される必要があります。それ以外の場合、0に設定すると、Cookieは通常のHTTPで送信できます。

PHPでCookieにアクセスするには、 $_COOKIE or $HTTP_COOKIE_VARS 変数。

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

Cookieを削除するには、すでに有効期限が切れているCookieを設定する必要があります。

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