Cookieは、ブラウザーとサーバー間で情報を渡すユーザーデバイスに保存されている小さなファイルです。 PHPは、Cookieを作成、変更、削除するための組み込みのSetCookie()関数を提供します。
SetCookie()関数を使用して、Cookieを作成します。 Cookieの名前、値、その他のオプションパラメーターを渡して、設定を完了します。
たとえば、「username」という名前のCookieとValue "John"を作成します。
setcookie("username", "John");
Expireパラメーターを設定することにより、Cookieの有効期限を指定できます。次の例では、1日でCookieが期限切れになるように設定されています。
$expiry = time() + 24 * 60 * 60; // 1日後
setcookie("username", "John", $expiry);
パスパラメーターを使用して、Cookieの有効なパスを制限できます。デフォルトでは、Cookieは現在のディレクトリとそのサブディレクトリの両方で利用できます。次の例では、ルートディレクトリへのパスを設定します。
setcookie("username", "John", $expiry, "/");
ドメインパラメーターを介して、Cookieのスコープドメイン名を制限できます。デフォルトのCookieは、現在のドメイン名とそのサブドメインに有効です。例:
setcookie("username", "John", $expiry, "/", ".example.com");
セキュアパラメーターは、CookieがHTTPSを介してのみ送信されるかどうかを指定するために使用され、機密情報のセキュリティを保証します。
setcookie("username", "John", $expiry, "/", ".example.com", true);
PHPは、HyperGlobal変数$ _COOKIEを使用して、クライアントが送信したCookieデータを取得します。この変数は連想配列で、キーはCookie名、値は対応するCookie値です。
$username = $_COOKIE["username"];
echo "Welcome back, " . $username;
Cookieが存在するかどうかを判断するには、ISSET()関数を使用できます。
if (isset($_COOKIE["username"])) {
echo "Welcome back, " . $_COOKIE["username"];
} else {
echo "Welcome guest";
}
Cookieを変更するには、SetCookie()に電話して同じ名前でCookieをリセットし、新しい値で渡します。
setcookie("username", "Jane", $expiry, "/", ".example.com");
クッキーを削除する方法は、有効期限を過去に設定することです。
setcookie("username", "", time() - 3600); // すぐに期限切れになりました,消去Cookie
Cookieはユーザーデバイスに保存されるため、情報は悪意を持って盗まれている可能性があります。必要な情報のみを保存し、安全なパラメーターを使用してHTTPを介した送信を確保し、機密コンテンツを暗号化および保護することをお勧めします。
単一のCookieのサイズは一般に約4kbに制限されており、異なるブラウザーはさまざまです。制限を超えた場合、ストレージは拒否される場合があります。
さまざまなブラウザには、Cookieを処理するためのメカニズムが異なります。ユーザーエクスペリエンスに影響を与えないように、開発中の互換性に注意を払う必要があります。
PHPでは、setCookie()関数を簡単に管理し、Cookieを作成、読み取り、変更、削除できます。 $ _Cookie配列を使用して、Cookieデータに簡単にアクセスします。アプリケーションの安定性とセキュリティを確保するために、セキュリティとブラウザの互換性に注意してください。