【PHP】$_COOKIEを使って出来ること【Cookie情報】
- Cookieとは
- Cookieの基本的な設定と取得
- Cookieの有効期限の設定
- 複数のCookieの設定
- Cookieを使ったユーザー認証
- Cookieを使ったサイトのテーマ設定
- Cookieとセッションの違い
- Cookieのセキュリティ対策
Cookieとは
Cookie(クッキー)は、Webブラウザに保存される小さなデータのことで、主にユーザーの情報を保持するために使われます。PHPでは、クライアント側に保存されたCookieを $_COOKIE
というスーパーグローバル変数を通じて取得できます。
Cookieの基本的な設定と取得
PHPでCookieを設定するには、setcookie()
関数を使います。基本的な使い方は以下の通りです。
設定されたCookieを取得するには、$_COOKIE
を使います。
Cookieの有効期限の設定
Cookieの有効期限は、setcookie()
の第三引数にUnixタイムスタンプを指定することで設定できます。
有効期限を0にすると、ブラウザを閉じたときに削除されます。
複数のCookieの設定
複数のCookieを設定する場合は、setcookie()
を複数回呼び出します。
取得するときも、$_COOKIE
を使います。
Cookieを使ったユーザー認証
ログイン情報をCookieに保存することで、次回訪問時に自動ログインを実現できます。
ログイン状態を維持するために、次回アクセス時にCookieを確認します。
Cookieを使ったサイトのテーマ設定
ユーザーが選択したテーマ(ダークモードなど)をCookieに保存し、次回訪問時に適用できます。
テーマを適用するには、$_COOKIE
を使います。
<body class="<?php echo $theme; ?>">
Cookieとセッションの違い
Cookieはクライアント側にデータを保存するのに対し、セッションはサーバー側で管理されます。
項目 | Cookie | セッション |
---|---|---|
保存場所 | クライアント側 | サーバー側 |
有効期限 | 指定可能 | ブラウザを閉じると消える |
セキュリティ | 盗み見される可能性あり | 安全性が高い |
Cookieのセキュリティ対策
Cookieはクライアント側に保存されるため、適切なセキュリティ対策が必要です。
1. HTTPOnlyを設定
JavaScriptからアクセスできないようにすることで、XSS攻撃を防ぎます。
2. Secure属性を設定
HTTPS接続時のみ送信されるように設定します。
3. Cookieの改ざん対策
ハッシュを使って改ざんを検出できます。
以上がPHPの $_COOKIE
を活用する方法です。