session_set_cookie_params関数
PHPしかやっていなかったときは、極力クッキーを使って値を保存するようなことはしないようにしていた(セッションは使うけど)。クライアントサイドにデータを保存しても改ざんされる前提で使わないといけないからだ。しかし最近はいろいろ使うようにしている。そもそもGETやPOSTでの値引渡しと同じという前提でやれば問題ないわけで。ただ、GETやPOSTと違うのは値をセットする方法で、setcookie関数を使わないといけないところだ。GETやPOSTと同様にこんな感じでクッキーがセット出来ればいいのに。
$_COOKIE[‘_key’]=’_value';
まぁ、できないほうがいいという理由もわかるのだけれど。
で、最近使うようになったクッキーだが、便利な関数があることを知った。session_set_cookie_params関数だ。この関数一つでクッキー周りの設定がすべてできてしまう。
void session_set_cookie_params (
int $lifetime
[, string $path
[, string $domain
[, bool $secure = false
[, bool $httponly = false ]]]]
)
第1引数:セッション有効期限(秒)
第2引数:クッキーが動作するパス
第3引数:クッキーが有効なドメイン名
第4引数:https時のみ使用可能とするかどうか
第5引数:JavaScript等からのクッキーへのアクセスを許可するかどうか
デフォルトではPHPでセットしたクッキーを、JavaScriptから読み込むことはできないのかな。その逆はできるけど。
2011/01/27 at 10:00 AM
これ、sessionにがらみのcookieの送出に関する設定なので注意。