訪問者のプロバイダーを表示
#! /usr/local/bin/perl
$addr = $ENV{'REMOTE_ADDR'}; #IPアドレス取得
$host = gethostbyaddr(pack("C4",split(/\./,$addr)),2); #ホスト名取得
if($host) {
$provider = getProvider($host); #プロバイダー取得
}
if(!$provider) {
$provider = "不明";
}
print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<title></title>\n";
print "</head>\n";
print "<body>\n";
print "<center>プロバイダー : $provider</center>\n"; #ホスト名出力
print "</body>\n";
print "</html>\n";
exit;
#================================================ プロバイダー取得
sub getProvider
{
my $host = $_[0];
my ($i);
my @provider = (
['BIGLOBE', 'mesh.ad.jp' ],
['OCN', 'ocn.ne.jp' ],
['Yahoo!BB', 'bbtec.net' ],
['nifty', 'infoweb.ne.jp' ],
['So-net', 'so-net.ne.jp' ],
['ぷらら', 'plala.or.jp' ],
['au one', 'dion.ne.jp' ],
['BB.excite', 'bbexcite.jp' ],
['eonet', 'eonet.ne.jp' ],
['UCOM', 'ucom.ne.jp' ],
['ASAHIネット', 'asahi-net.or.jp' ] );
for($i = 0 ; $i < @provider ; $i++) {
if($host =~ /\.$provider[$i][1]$/) {
return $provider[$i][0];
}
}
return 0;
}
〔 実行する 〕