ログをとるスクリプト


-1.更新履歴

0.使用モジュール

以下のモジュールを使用しています。 インストールされていないようだったら、これもいっしょに持っていきましょう。 同じディレクトリに解凍して入れておいてください。

cgi-lib.pl


1.はじめに

保存と表示をするものを作りました。 複数のページのログをとることができるのが特徴です。 好きに手を加えてください。 (imgタグ,SSIどちらでも呼び出すことができます。)

とりあえず見たい人へ store.cgi/ analyze.cgi
使いたい人へ log.tar.gz


2.使い方

2.1ログをとる

まずどこかのディレクトリにいれ、ディレクトリのotherの書き込み属性をつけ、 *.cgiに実行属性をつけましょう。

ログをとりたいページに、
<img src="http://??????/store.cgi?h=pagename">
を書き込みましょう。pagenameはそのページの愛称です。 あと、そこのディレクトリに書き込み属性をつけましょう。 そして、store.cgiの保存ディレクトリも指定しましょう。
# このスクリプトを保存している場所。(ログを保存する場所でもある)
$location = "/home/kenstar/www2_html/cgi-bin/log";
(もちろん、???には適当なURIを入れてくださいね。) これで、ログが保存されるようになりました。

JavaScriptをつかうブラウザなら、どこからジャンプしてきたか分かるようにで きます。
<SCRIPT Language="JavaScript"> <!--
document.write("<img src=\"http://?????/store.cgi?h=pagename2");
document.write("&r=" + document.referrer +"\" height=1 width=1 >");
// -->
</SCRIPT>
<NOSCRIPT>
//imgタグから読み込むのなら。
<img src="http://??????/store.cgi?h=pagename2">
</NOSCRIPT>

SSIが利用できるようだったら、 <!-- #cmd="????/store.cgi -h pagename">
とすればログをとることができます。

2.2ログをみる

analyze.cgiの一部を変更します。
    @check_page =("top", "diary");
    @no_check_page =("useless");
赤くなっているところを、先ほどきめた愛称に変更しましょう。 あとは、直感でみることができるようになります。

3. 改良するとしたら

ここにあげたことは、おそらく着手しません。機能がほしい人は、 有名なアクセスログのスクリプトなどを参照しながら、工夫して作ってみてください。 もしつくったら、教えてくださいね。