今回のケースでは、自身が管理するドメインに対するcookie
を話題としている。
もし異なるドメインに対するcookie
やhttpレスポンス
について興味がある場合は、CORSも参照のこと。
Httponly属性がついていないか
この属性がついているcookie
は、javascriptで操作できない。
“クッキーの紹介の中で、クッキーをJavaScriptから触ることができることを紹介したが、この属性を付けるとJavaScriptエンジンから、クッキーを隠すことができる。クロスサイトスクリプティングなど、悪意のあるJavaScriptが実行されるセキュリティリスクに対する防護となる”
抜粋:: 渋川 よしき “Real World HTTP”。 ::
Domain属性が指定されていないか
この属性がついているcookie
は、そのドメインおよびサブドメインが送信対象のサーバとしてブラウザに認識される(.exampl.com
というように頭に.
がつく)。このcookie
を操作する際には次のようにdomain
オプションを明示的に指定する必要がある1。
document.cookie=“Key=;max-age=0;domain=.example.com”
Domain属性の有無による挙動の違いについてはこちらを参照
CookieのDomain属性は 指定しない が一番安全
徳丸浩の日記
HTTP State Management Mechanism RFC6265 4-1-2
Secure属性がついていないか
この属性が付いているcookie
は、http接続の場合はサーバに送信されない。
“https接続での安全な接続時以外は、クライアントからサーバーへのクッキー送信をしない。クッキーはURLをキーとして送受信するかどうかを決めており、これにはDNSのハッキングによってURLが詐称されることで利用者が意図しないサーバーにクッキーを送信してしまうリスクがある。DNSのハッキングは、マシンを操作しなくても無料のWifiサービスなどを詐称するなどの方法で簡単に実行できる。Secure属性をつけることで、http接続が使われる時にはブラウザが警告を出し、ページヘのアクセスを止めるため、流出を防げるようになる”
抜粋:: 渋川 よしき “Real World HTTP”。 ::
-
指定しないと、暗黙に
example.com
が指定されることになる。 ↩