クッキー

PHPにおける「クッキー」とは、ユーザーのウェブブラウザに一時的または長期的に保存される小さなデータファイルのことです。これにより、サーバーは同じユーザーからのリクエストを識別し、ユーザーの状態や設定情報を維持することができます。クッキーは主に以下のような目的で使用されます:


クッキーの主な用途

  • ログイン情報の保持
    ユーザーが一度ログインしたことを記録し、次回アクセス時に自動ログインを可能にする。

  • ユーザー設定の保存
    言語設定や表示形式などのユーザーの好みを保存する。

  • トラッキング
    サイト訪問履歴や行動を分析するために使用される。


クッキーの仕組み

  1. サーバーがクッキーを設定する

    • PHPでは setcookie() 関数を使ってクッキーを送信します。

    • クッキーはHTTPレスポンスヘッダに含まれ、ブラウザに保存されます。

  2. ブラウザがクッキーを送信する

    • 次回以降、同じドメインのページにアクセスすると、ブラウザは保存されたクッキーをHTTPリクエストに含めてサーバーに送信します。


setcookie() 関数の構文

php
setcookie(name, value, expire, path, domain, secure, httponly);
  • name:クッキーの名前(キー)

  • value:保存する値

  • expire:有効期限(UNIXタイムスタンプ)

  • path:有効なパス(デフォルトは /

  • domain:有効なドメイン

  • secure:HTTPSでのみ送信する場合は true

  • httponly:JavaScriptからアクセス不可にする場合は true


使用例

php
// クッキーを1時間有効に設定 setcookie("username", "Masahiro", time() + 3600);
php
// クッキーを取得 if (isset($_COOKIE["username"])) { echo "こんにちは、" . $_COOKIE["username"] . "さん"; }

クッキーの特徴と注意点

  • ユーザー側で削除・拒否が可能:ブラウザ設定により、クッキーを受け入れないようにできる。

  • サイズ制限:1つのクッキーのサイズは約4KBに制限されている。

  • セキュリティ上の配慮が必要:個人情報や機密情報は暗号化するか、セッションと併用することが推奨される。


クッキーはクライアント側でのデータ保存手段であり、セッション(サーバー側)と連携させることで、安全かつ効率的なユーザー管理が可能になります。

生成日:2025/05/03