燈明日記 このページをアンテナに追加 RSSフィード

ごあいさつ

燈明日記へようこそ!!

燈明日記の主なテーマは、以下の通りです。

そして、燈明日記へ来られたのも『私』と『あなた』の何かのご縁です。なので、どうぞごゆっくりご覧下さい!


2010/4/17(土)

[][] HTTP Cookiesとは?

今回、セキュアなWEBの勉強ということで、HTTP Cookieをテストしてみました。

なにを今更…と思っているかもしれませんが、クッキーを知っているつもりでも、実は知らなかったりしますよ。

なのでとりあえず、以下の2つをリンクしときます。


HTTP Cookiesとは?

HTTPだけだとステートレスなので、複数ページに遷移するセッション管理ができません。

そこで、ブラウザ(PC)内にステータスを記憶しておき、その記憶をサーバーとやり取りすれば、セッション管理ができるようになりますね。

その記憶のことをクッキーといいます。


しかし、クッキーはこれだけではないのです。

クッキーの有効期限やクッキーを送り返すURLドメイン名を指定することができるのです。

特に、URLやドメイン名が指定できるということは、設定したサーバー以外のドメインのサーバーにもクッキーが送れてしまうということなのです。

確かに、この辺は、セッション管理では便利なのですが、反面、悪意のハッカーに狙われるところでもあるのです。


あと、HTTPSで通信する時は、secure属性を必ずつけましょうということです。


クッキーセット

print "Set-Cookie: NAME=値; expires=値; domain=値; path=値; secure \n";
  • NAMEは、NAMEも値も任意です。しかし、『;』と『=』の2つは、すでにデリミタになっているので使用しない。
  • expiresは有効期限 (【例】Fri, DD-Mon-YYYY HH:MM:SS GMT 例)
  • domainは、ドメイン名(【例】www.aaa.co.jp とか .aaa.co.jp)
  • pathは、URLパス(【例】/aaa/bbb)
  • secureは、HTTPSで通信する時は、secure属性つけると暗号化される

クッキーゲット

print "$ENV{'HTTP_COOKIE'}\n";

環境変数 HTTP_COOKIEへ該当するすべてのクッキーが返される。(【例】HIRO=aaa; YASU=bbb;)



今回、クッキーのテストして気がついた点を2つメモしときます。

  • Path属性は、1回でも上位フォルダを設定してしまうと、次回から下位フォルダを指定しても設定できない(上位フォルダ設定のまま)。
  • テスト中に納得がいかない現象に出会ったら、ブラウザを一度閉じ、再度ブラウザを立ち上げてテストをすると、納得がいく結果を得る場合があります。

ちなみに、テスト環境は、クライアントWindowsXPIE7、サーバーは2台ともWindowsXPでIIS6です。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証