BIGLOBE からのアクセスは、アクセスポイント名が特定できそうな気がしてきました。
ap.htm 動かしてみる
ap.htm の中身
ap.pl 表示するプログラムの中身 パーミッションは 700
ap.csv BIGLOBE アクセスポイントの名称
ne.csv ad.jp, or.jp, ne.jp からのアクセスの名称
ac.csv ac.jp からのアクセスの名称
co.csv co.jp からのアクセスの名称
go.csv go.jp からのアクセスの名称
gr.csv gr.jp からのアクセスの名称
jp.csv その他 jp からのアクセスの名称
ww.csv jp 以外からのアクセスの名称
仕掛けとしては、環境変数 REMOTE_HOST を gethostbyaddr でドメイン名に変換します。 ドメイン名から適当に見当をつけて、それらしく歓迎しています。 mesh.ad.jp でのアクセスについては、第5レベルの先頭の英字部分と第4レベルから、 アクセスポイントを推定しています。
知らないアクセスポイントについては、データを ap.csv に追加していきます。
その他からのアクセスにも同様の仕掛けで名称を表示します。BIBLOBE のアクセスポイントの一覧はこちら
.jp ドメインについて (JPNIC データベース)
JPドメインにおける「ドメイン名 ⇔ 組織名」変換 (ORION)
同じような仕掛けでブラウザの名前を表示します。
browser.htm 動かしてみる
browser.htm の中身
browser.pl 表示するプログラムの中身 パーミッションは 700
browser.dat ブラウザの名称のデータ
仕掛けとしては、環境変数 HTTP_USER_AGENT に、それらしく手をくわえているだけです。 チェックのためにどんな、変換をしたかの記録を browser.dat へ追加していきます。
USER_AGENT についてはこちら、 User-Agentについてのたわごと
ブラウザからいくつかの情報が環境変数に設定されます。 これをみながら適当に手を加えて、表示しています。
環境変数についての補足