質問: セキュリティ対策におけるクッキーの属性指定について、お聞きしたい部分があります。 クッキーはデフォルトではクッキーをセットしたサーバーにのみ送信されるかと思います。しかし、複数のサーバーに送信されるクッキーを生成する場合は、Domain属性を指定することになりますが、ここで少し疑問な点があります。 仮に「Domain=example.jp」と指定した場合、「a.example.jp」及び「b.example.jp」にこのクッキーは送信されます。しかし、「a.example.com」には送信されません。ここなのですが、「a.example.jp」と「b.example.jp」は完全に同じドメインでないように思えます。共通点としては、セカンドレベルドメインとトップレベルドメインが同じであるという点だと思うのですが、こういった部分に何か関係があるのでしょうか? ここの部分が少し、消化しきれない部分であるため、ご助言頂けましたら幸いです。
回答: 既に Y.H. さんから指摘があるように、domain=example.jp という指定がある場合、Cookieは、example.jpおよびexample.jpのサブドメイン(.example.jpと後方一致するドメイン名)に送信されます。 a.example.jpおよびb.example.jpはexample.jpのサブドメインなのでCookieが送信されます。一方、a.example.comはexample.jpのサブドメインではないため、Cookieは送信されません。 では、domain=jpという指定をした場合はどうなるか。example.jpにこのCookieが送信されるかというと、そうではありません。それができてしまうと、任意のJPドメイン名に有効なCookieがセットできてしまい危険なので、ブラウザ側で拒否するようになっています。同様に、domain=co.jpという指定も無効です。では、どのドメイン指定が有効か否かは、Effective TLDという仕組みで指定されています。詳しくはEffective TLDで検索して調べてください。