HTTP Cookiesとは?
今回、セキュアなWEBの勉強ということで、HTTP Cookieをテストしてみました。
なにを今更…と思っているかもしれませんが、クッキーを知っているつもりでも、実は知らなかったりしますよ。
なのでとりあえず、以下の2つをリンクしときます。
HTTP Cookiesとは?
HTTPだけだとステートレスなので、複数ページに遷移するセッション管理ができません。
そこで、ブラウザ(PC)内にステータスを記憶しておき、その記憶をサーバーとやり取りすれば、セッション管理ができるようになりますね。
その記憶のことをクッキーといいます。
しかし、クッキーはこれだけではないのです。
クッキーの有効期限やクッキーを送り返すURLやドメイン名を指定することができるのです。
特に、URLやドメイン名が指定できるということは、設定したサーバー以外のドメインのサーバーにもクッキーが送れてしまうということなのです。
確かに、この辺は、セッション管理では便利なのですが、反面、悪意のハッカーに狙われるところでもあるのです。
あと、HTTPSで通信する時は、secure属性を必ずつけましょうということです。
クッキーセット
print "Set-Cookie: NAME=値; expires=値; domain=値; path=値; secure \n";