Cookieの使い方(setcookie, $_COOKIE 配列)

Cookieを利用すると、サーバ側からブラウザに対して情報を保持するように指示することができます。保持した情報は、同一サーバに再アクセスしたときサーバに送信されます。

目次

Cookieの利用

Cookieを設定するには、setcookie関数を利用します。詳しくは、PHP: setcookie – Manualを参照願います。

setcookie関数の利用例を示します。

setcookie('wakuwaku', 'あいうえお', time() + 3600);

上記例では、第3引数でCookieの有効期限を3600秒(1時間)としています。第3引数を指定しないとクライント側でブラウザが閉じられた際、Cookieも削除されます。

Cookieが保存されると再度サーバにアクセスした際、$_COOKIE 配列によってクッキーにアクセスできます。

$cookie = $_COOKIE['wakuwaku'];

※注意
次のようにブラウザでCookieの設定がされている場合があります。

  • クッキーを受け入れないようにブラウザで設定。
  • クッキーを保存する期間をブラウザで設定。
  • ブラウザの終了時にクッキーが削除されるように設定。

すべてブラウザの設定が優先されます。

Cookieのセキュリティ

Cookieのデータはユーザによって自由に改ざんできてしまいます。権限など重要な情報をCookieに設定してはいけません。

Cookieをさらに安全に利用するには、Secure属性HttpOnly属性を指定します。

Secure属性を設定すると、SSL通信にだけCookieが送信されます。setcookie関数の第6引数で設定することができます。

HttpOnly属性を設定すると、HTTPを通してのみだけCookieにアクセスできるようになります。つまりJavaScriptからはアクセスできなくすることができます。setcookie関数の第7引数で設定することができます。

よかったらシェアしてね!
目次