前回はセッションを紹介しました。
セッションとよく混同されがちなのがCookie(クッキー)です。実際セッションの仕組みにも利用されているので関わりはあります。
しかしこれらは別物で、特徴を知った上で使い分ける必要があります。
今回はCookie(クッキー)の解説と、PHPでどう使われるかを紹介していきます。
Cookie(クッキー)とは
Cookie(クッキー)は、webページ訪問者のPC内に一定期間データを保存しておく機能です。
PC内に保存というところがポイントです。
セッションはサーバー内なので安全にデータ管理が出来ると前回紹介しましたが、Cookie(クッキー)はデータを改ざんしたり、見ることが出来るので安全性に欠けます。
また、Cookie(クッキー)はセッションと比べてとても少ない容量しか記憶できないので、本当に簡単なデータしか保存できません。
セッションIDや、サイト訪問回数、訪問日時等の小さい値の管理に利用されています。
Cookie(クッキー)の仕組み
- webページ訪問
- webサーバーにアクセス
- webサーバー側がwebブラウザに値の記録を依頼
- ブラウザが値を保存
これが値保存までの簡単な流れです。
次回の訪問時には、Cookie(クッキー)に記録しておいた値をwebサーバーに伝えるようになっています。
PHP Cookie(クッキー)の使い方
setcookie()関数
PHPでCookie(クッキー)を設定する際は、setcookie()関数を使います。
setcookie('名前', '値', 有効期限);
有効期限設定方法
有効期限はtime()関数を使い記述します。
例えば有効期限が1日ならこんな感じです。
time() + 86400
この86400という数字は「60(秒)×60(分)×24(時間)」という計算から出ています。
有効期限は秒数で表すことを覚えておいてください。
この計算方法をもとに有効期限を設定してみましょう。
また、もしこの有効期限を省略すると、0が設定されたことになります。
有効期限0なのでCookie(クッキー)は削除されます。
グローバル変数 $_COOKIE
セッション同様Cookie(クッキー)でも、グローバル変数を使って値を扱います。
$_COOKIE["名前"]
このようにsetcookie()関数で設定した名前をもとにして呼び出しましょう。
最後に
セキュリティ上で不安な面もありますが、実はセッションの仕組みにも利用されています。
Cookie(クッキー)とセッションをうまく使い分けていきたいですね。