仕事を頑張る人のおしりトラブル対策

perlについてどなたかご教授頂けないでしょうか。

perlでホームページ(管理用のページ)を作成していて、
『index.html』というページが、最後にアクセスされた時間(最終アクセス日時)
を取得する方法は分かるのですが、HTMLファイルに最後にアクセスした人(IPアドレス)
を取得する事は可能でしょうか?可能でしたら記述を教えて下さい。

ご存知の方いらっしゃいましたらご教授下さい。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

htmlから「何らかの方法で」CGIを呼び出しているんですよね?どういう手法を使われてますでしょうか?環境変数のREMOTE_ADDRを参照するのですが、カウンタCGIのようにブラウザから呼び出してもらう必要があります。



このあたりはフリーで配布されている「アクセス解析のCGI」のソースを読めば、すぐにわかると思います。
    • good
    • 0

下記のcgiをindex.htmlに


<img src=ac_log.cgi>等IMGタグで
読み込ませれば時間とアクセスIPが取れますがどうでしょう?

#ac_log.cgi
############################################################
#!/usr/bin/perl

use strict;
use warnings;

my (@TIME, $access_log);
(@TIME) = localtime(time);
$access_log = (1900+$TIME[5]) . "/"; #年
$access_log .= ($TIME[4]+1) . "/"; #月
$access_log .= $TIME[3] . " "; #日
$access_log .= $TIME[2] . ":"; #時
$access_log .= $TIME[1] . ":"; #分
$access_log .= $TIME[0]; #秒
$access_log .= "\t" . $ENV{REMOTE_ADDR} . "\n"; #IP
#ファイルに追記
open(FILE, ">>./access.log") or die;
eval{flock(FILE,2);};
print FILE $access_log;
close(FILE);

#画像読み込み
open(IMG, "image.gif") or die;
eval{flock(FILE,1);};
print "Content-type: image/gif\n\n";
binmode(IMG);
print <IMG>;
close(IMG);
exit;
############################################################
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング