CGI-BBS > アクセスカウンタ > その他 > htmlのページにリモートホスト名を表示するには


カレッヂ
カレッヂ


質問者 どろろ  投稿日 6/17(日) 22:09:40
はじめまして。初歩的な質問になるのかもしれませんが
宜しくお願いいたします。

普通のhtmlファイルのページに、アクセスした人のリモートホスト名(IPアドレスではなく)
を表示するようにしたいんですが、何か良い方法はありますでしょうか?
CGIやSSIを使う、というのはわかるんですが・・・。
回答者 呑兵衛  [削除]  投稿日 6/19(火) 00:19:28
呑兵衛と言います。

1.ssi実行ファイルを作る。(remote_host.pl)

#!/usr/local/bin/perl  # perlのパスを確認すること。

$REMOTE_HOST = $ENV{'REMOTE_HOST'};
$REMOTE_ADDR = $ENV{'REMOTE_ADDR'};
if ($REMOTE_HOST eq '') { $REMOTE_HOST = $REMOTE_ADDR; }
if ($REMOTE_HOST eq $REMOTE_ADDR) {
        $REMOTE_HOST = gethostbyaddr(pack('C4', split(/\./,$REMOTE_HOST)), 2)
        || $REMOTE_ADDR; }

print "$REMOTE_HOST";

1; # ここで必ず改行

2.以下のssiコマンドをHTMLの表示したい場所に置く。

<!--#exec cmd="./cgi-bin/remote_host.pl"-->

3.ssiを実行するHTMLファイル名を xxxxx.shtmlにし、index.htmlファイルのあるディレク
トリに転送。

4.remote_host.plは cgi を置くディレクトリ(例ではcgi-bin)に転送し、パーミッション
を755にする。

以上。

条件
プロバイダーがssiとexecコマンドを許可していること。
場合によっては .htaccessファイルも必要になる場合もある。この場合、resqueさんの
.htaccessの説明を参考にしてください。
質問者 どろろ  [削除]  投稿日 6/20(水) 20:31:38
呑兵衛様!詳しい、しかもわかりやすい御回答ありがとうございます!
さっそくやってみようと思います。

使用するサーバーはプロバのものではなく(プロバがCGIを許可していないので)
フリーサーバースペースのvirtualavenueなんですが。

取急ぎ、御回答のお礼を、と思い書き込みしました。
また結果をお知らせいたします。ありがとうございました。

返信(回答)する


Web裏技