Yii-cookies
提供:Dev Guides
Yii-クッキー
Cookieは、クライアント側に保存されるプレーンテキストファイルです。 追跡目的で使用できます。
戻ってくるユーザーを識別するための3つのステップがあります-
- サーバーは一連のCookieをクライアント(ブラウザー)に送信します。 たとえば、IDまたはトークン。
- ブラウザはそれを保存します。
- ブラウザーが次に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 = finddevguides.com
Connection: close
Content-Type: text/html
PHPは、Cookieを設定する* setcookie()*関数を提供します-
setcookie(name, value, expire, path, domain, security);
ここで-
- name -Cookieの名前を設定し、HTTP_COOKIE_VARSという環境変数に保存されます。
- 値-名前付き変数の値を設定します。
- expiry -1970年1月1日の00:00:00 GMT以降の秒単位で将来の時間を指定します。 この時間が経過すると、Cookieにアクセスできなくなります。
- path -Cookieが有効なディレクトリを指定します。
- domain -これは、非常に大きなドメインでドメイン名を定義するために使用できます。 すべてのCookieは、それらを作成したホストとドメインに対してのみ有効です。
- security -に設定すると、CookieはHTTPSでのみ送信されます。それ以外の場合、0に設定すると、Cookieは通常のHTTPで送信できます。
PHPでCookieにアクセスするには、 $ _ COOKIEまたは$ 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);
?>