![]() |
カレッヂ |
質問者 どろろ
投稿日 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裏技 |