クッキーのドメインにまつわる問題として Cookie Monster がある。
この件について調査しているのだが決定的な方法はなくブラウザの対応状況もまちまちなようだ。
クッキーについて、ドメインの指定で、...
(上記ページに参考になるリンクがいくつかある)
この問題に取り組んでいる人も居た。
ワイルド過ぎる realm のワイルドカードを何とかしたい - 前編
情報を集めていくうちに Mozzilaが Effective TLD Service なるものを提供していることがわかった。ここでは TLD だけでなく SLD(Second Level Domain) が汎用(co.jpなど)かどうかが判断できるファイルを提供している。
mxr.mozilla.org/mozilla-central/source/netwerk/dns/src/effective_tld_names.dat
jp のあたりを少し引用してみる。
// jp : http://en.wikipedia.org/wiki/.jp
// http://jprs.co.jp/en/jpdomain.html
// Submitted by registry2008-06-11
jp
// jp organizational type names
ac.jp
ad.jp
co.jp
ed.jp
go.jp
gr.jp
lg.jp
ne.jp
or.jp
// jp geographic type names
// http://jprs.jp/doc/rule/saisoku-1.html
*.aichi.jp
*.akita.jp
*.aomori.jp
*.chiba.jp
:
:
!metro.tokyo.jp
!pref.aichi.jp
!pref.akita.jp
!pref.aomori.jp
:
:
co.jp などのSLDの他、 *.tokyo.jp などの地域型ドメインが列挙されている。
! は、ワイルドカードの除外パターンを表す。
なお前掲のサイトの検証によれば漏れている gLTD もあるようだ。
仮に利用するとしたら、クッキーにこのファイルに掲載されているドメインが指定されている場合は受け取らない、という使い方ができる。
(例)
jp => NG
.jp => NG
co.jp => NG
.co.jp => NG
xcatsan.co.jp => OK
xcatsan.jp => OK
.xcatsan.jp => OK
xcatsan.aichi.jp => NG (*.aichi.jp の指定による)
pref.aichi.jp => OK (!pref.aichi.jp の指定による)
- - - -
ライセンスは MPL Version 1.1 (Mozilla Public License) が使える。これをプログラムに埋め込んで使う方向で考えよう。