Web Artisan Blog - ウェブ アルチザン ブログ

PHP:クッキー(cookie)の使用と注意点:setcookie:$_COOKIE

PHP (55 items)

2005年03月17日

PHPのクッキー(cookie)操作については、
わざわざ語らずとも、マニュアルを読めば大体わかります。

>第34章クッキー(Cookies)
>setcookie



とにかく、setcookie関数でクッキーに値を設定でき、
$_COOKIE['クッキーの名前']で、その値を取得できるわけです。

これを使って何が出来るかというのも、他サイトで色々書かれていますよね。
例えば、よくある”ログイン情報を保持”っていうのもクッキーを使っているわけです。
で、注意点といっても、PHPに限らずクッキー全般の事なんですが、
クッキーの値を見れるのは、
setcookieなんかでクッキーに書きこんだものしか見れない、
つまり、クッキーに値を設定したサイトのクッキーしか見れないという事です。

・・説明がヘタですね。。
まあ仮に、当サイト(www.res-system.com)が、
TOPページ表示時にsetcookieを発行していたとします。
で、当サイトのPHPプログラムが$_COOKIEを発行すれば、
TOPページで設定したクッキー値が見れるのは当たり前の事です。

ただ、当サイト以外に、
例えばgoogleが同じようにTOPページでクッキーに値を設定していたとします。
で、その値を当サイトのPHPプログラムが$_COOKIEを発行して見ようとしても、
見れないという事なんです。

もちろん、ローカル(各ユーザーのPC内)フォルダのcookieフォルダを見れば、
当サイトのクッキーや、googleのクッキーを見ることはできます。
でも、例えローカルでgoogleのクッキーの名前をチェックして、
当サイトのPHPプログラムで、
$_COOKIE['googleが設定したクッキーの名前']
としても、見ることは不可能だという事なんです。

・・もういいですかね。
とにかく、逆にこれができるとかなりセキュリティの甘いPCになってしまいます。
各個人の色んな情報を簡単に盗み出せる事になりますね。。。

前の記事 次の記事

Comments

ossi wrote:

この記事の内容がわからんというコメントを頂いていて、そのコメントを消してしまいました。
(当サイトDB移行の際に文字化けが発生した為、データを5/20に時点に戻した事によるものです。意図的に消したんではありませんので。。)

で、この記事の補足ですが、PHP側でCookieの値を取得したり設定したりする場合は、ドメインが同じでないとダメだという事ですね。例えば、当サイト(http://www.res-system.com)でもCookie値を取得していますが、AdSenseタグを貼っている当サイトは、google側でもCookie値を設定しているでしょう。で、当サイト側のPHP処理でgoogleの設定しているCookie値は設定も参照もできないという事です。これができたら、当サイト側独自でAdSense情報を触れますし、こんな事できたら他でも色々悪さできますよね、という話です。
2006年05月23日 11時37分06秒

Add Comments

Trackback

トラックバックはありません

Trackback URL

http://www.res-system.com/weblog/action.php?action=plugin&name=TrackBack&tb_id=450