クッキー(Cookies)
PHP は、HTTP クッキー(Cookie)を完全にサポートします。
クッキーは、リモートブラウザに文字列データを保存したり、 再訪するユーザを特定したりする機構です。 setcookie() か setrawcookie() を使用してクッキーをセットすることができます。 クッキーは
HTTP
ヘッダの一部なので、 setcookie()
はブラウザに何らかの出力を行う前にコールする必要があります。 この制約は、header() に課されているものと同じです。 また、 出力バッファ関数を使用して、
設定するクッキーや送信するヘッダの内容が決まるまで スクリプトからの出力を遅らせることが出来ます。
もし variables_order が "C"
を含んでいる場合、クライアントから送られた全てのクッキーは 自動的に $_COOKIE という(常にグローバルな)配列に格納されます。
多数の値を一つのクッキーに割り付けたい場合は、[]
をクッキー名に加えてください。
register_globals の設定に よっては、クッキーから通常の PHP 変数を作成することも可能です。
しかし、この設定に依存することは推奨されません。なぜなら、セキュリティの 観点からこの機能はオフにされていることが多いからです。
それ以前のバージョンでも、track_vars がセットされていれば $HTTP_COOKIE_VARS にクッキーの内容が格納されます。 (この設定は PHP
4.0.3 以降は常にオンになっています)
ちょっとした注意やブラウザのバグといった詳細に関しては、 setcookie() と setrawcookie() を参照してください。
SQLインジェクション対策は時と場合で使う関数が変わります。その時にあったものを使いましょう。