この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
携帯サイトのアクセス判別方法とセッションハイジャック
こんにちは、でりくーです。
携帯サイトへのアクセス判別方法と、 セッションID漏洩の問題点を簡潔に調べた範囲でまとめてみた。
■携帯からのアクセスの判別方法
携帯からのアクセスであることを判別するために、
1. アクセス元がdocomo、au、softbankの各キャリアで使用しているIPアドレス帯域であること
2. User-Agentによる認証 の2点を併用する方法がある。
1.の補足
携帯からインターネットにアクセスする場合は、
一度各キャリアのゲートウェイを通り、 その後、インターネットを通じて各携帯サイトにつながる。
つまり、アクセス元のIPアドレスは各キャリアのIPアドレスとなるため、
IPアドレスとキャリアのマッピングデータがあれば,キャリアを判別することができる。
ちなみに、各主要キャリアのIPアドレス帯域は公式サイトで確認できる。
■docomo
http://www.nttdocomo.co.jp/service/imode/make/content/ip/
■au
http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
■softbank
http://creation.mb.softbank.jp/web/web_ip.html
○セッションハイジャックについて
Webアプリケーションとブラウザの間でやり取りされるセッションIDが第三者に知られてしまうと、
その第三者も正規ユーザとまったく同じアクセスを手にすることができる。
他人のセッションIDの値を何らかの方法で突き止め、
それを自分で使うことによって他人のセッションの続きを横取りするのがセッションハイジャックである。
参考にしたサイト
■【PHPで作る】初めての携帯サイト構築
http://gihyo.jp/dev/serial/01/mobilesite-php/0002
■携帯電話向けWebアプリケーションのセッション管理手法
http://d.hatena.ne.jp/ockeghem/20070224
■セッション乗っ取り
http://thinkit.co.jp/free/tech/7/4/1.html
■Webアプリケーションに潜むセキュリティホール
http://www.atmarkit.co.jp/fsecurity/rensai/webhole03/webhole01.html