ケータイWebアプリ開発、9つの注意点という記事のブックマークコメントを眺めてたら、気になるコメントがあった。
id:HiromitsuTakagi セキュリティ, 携帯電話, 教育, bad 「ケータイ対応のWebアプリを作ろうとするとPC用のサイトと違う部分」「4.アクセスのたびにIPアドレスが変わる」< おいおい、PCでもアクセス毎にIPアドレスが変わるところがあるだろ。
http://b.hatena.ne.jp/HiromitsuTakagi/20080730#bookmark-9472968
*1
知らない人のために解説しておくと、例えばDoCoMoのケータイ電話でウェブにアクセスすると、必ずDoCoMoのゲートウェイを通る事になってる。そのゲートウェイはたぶんいくつかあるんだろう、毎回違うIPアドレスからアクセスされたりする。
実際にあるページにアクセスしてそれを何度かリロードしてみると、こんなログになる。
210.153.84.3 - - [24/Jul/2008:21:29:59 +0900] "GET / HTTP/1.1" 200 1297 "-" "DoC oMo/2.0 P902iS(c100;TB;W30H15)" 210.153.84.6 - - [24/Jul/2008:21:31:01 +0900] "GET / HTTP/1.1" 200 1297 "-" "DoC oMo/2.0 P902iS(c100;TB;W30H15)" 210.153.84.9 - - [24/Jul/2008:21:31:14 +0900] "GET / HTTP/1.1" 200 1297 "-" "DoC oMo/2.0 P902iS(c100;TB;W30H15)" 210.153.84.111 - - [24/Jul/2008:21:31:21 +0900] "GET / HTTP/1.1" 200 1297 "-" "D oCoMo/2.0 P902iS(c100;TB;W30H15)" 210.153.84.7 - - [24/Jul/2008:21:31:30 +0900] "GET / HTTP/1.1" 200 1297 "-" "DoC oMo/2.0 P902iS(c100;TB;W30H15)" 210.136.161.104 - - [24/Jul/2008:21:31:49 +0900] "GET / HTTP/1.1" 200 1297 "-" " DoCoMo/2.0 P902iS(c100;TB;W30H15)"
つまりページ遷移するだけでIPアドレスが変わるので、アクセス元アドレスを頼りにしちゃいかんよ、ということを言いたいのだろう、元記事は。
で、気になるコメントのほうだが、「おいおい、PCもアクセス毎に変わるところがあるだろ」というのが非常に気になる。
例えばNTT東西のフレッツなどはPPPoE接続されてるので、このPPPoEが切断されないかぎりはIPアドレスは変わらない。
Yahoo!BBは俺が使ってたときはDHCPでIPアドレスが振られてたはずで、リース期間内ならIPアドレスは変わらない(いまはどうか知らないけども)。
というわけでパソコンからのアクセスはケータイみたいにホントに1アクセスごとにIPアドレスが変わったりしないし、ある程度の時間内ならアドレスは同じということで、それを頼りにシステムを組む事がある。
たとえばよく知られた掲示板サイト「2ちゃんねる」のIDは、IPアドレスと日付から生成されてると聞いている。通常cookieに保存されるセッションIDにしても、厳密なところはIPアドレスとセットでセッションIDを記録しておく。セッションIDが同じかつ有効期限内であっても、違うIPアドレスからの接続であれば弾くわけだな。
元記事はケータイの場合はIPアドレスをこのようには使えないんですよ、ということを言いたいんだろう。
しかしid:HiromitsuTakagiさん曰く、「おいおい、PCもアクセス毎に変わるところがあるだろ」とのこと。
そんなISPがあるなら2chあたりで自作自演によく使われてそうな気がするのだが、そんな話は聞いたことが無い。俺が知らないだけ? 2ch側で対策されてたりする?
というかそんなプロバイダあるとしたらIPアドレスとセッションID関連付けたサイトとかすんげー差別的な処置してることになっちゃうので超気になる(汗)
追記
ブクマコメントでid:mmasudaさんにツッコミもらった。 (企業ネットワーク等で)proxy複数台で何らかの手段で負荷分散しているケースならいまでも普通にありうるとのこと。CDNみたいな手法で複数台proxy使ったりしてるところがあるのかな。それにしても1リクエスト送るごとに違うproxyになったりするものなのかはちょっと疑問があるけども、実際どうなんだろう。
mmasudaさんだけでなくid:zenpouさん(元記事書いた方だそうだ)からも頂いたキャリアグレードNATに関しては、昔からCATV系プロバイダではある話だし、これは別にグローバル側のアドレスがぽんぽん変わったりしないので、特に問題は無いんじゃないかなあ。ユーザーにはIPv6のアドレス配布してIPv4ネットワークへはアドレス変換で到達させればいいんじゃねという話は俺も何年か前から言ってるしね。
*1:なんかはてぶコメント書き変わってたのであわせて修正。気になるところは変わらないので。一応魚拓 → http://s04.megalodon.jp/2008-0730-0228-55/b.hatena.ne.jp/entry/http://www.atmarkit.co.jp/fwcr/special/mobile/01.html