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引数で設定することができます。