SSIカウンタ(imCTSSI)
トップページ】 【フリースクリプト
特徴

CGI型カウンタと同機能のSSI式カウンタです。
グラフィック表示とテキストが選択できます。
カウンタ値、アクセス時間、アクセス元リモートホストIPアドレス、リンク元URLがログに記録できます。
制限時間内のリロードをカウントさせない設定が可能です。
カウンタマネージャを併用すれば、カウンタ値の変更やリモートホストIP調査ができます。


サンプル

サンプル(グラフィック表示設定にしたカウンタ)
サンプル(テキスト表示設定にしたカウンタ)
サンプル(カウンタスクリプトで記録されたアクセスログ)


ダウンロード

imCTSSI ver1.02(LHAファイル:  15k)


ファイルレイアウト

ダウンロードした圧縮ファイルを解凍すると、以下のようなディレクトリ構成でファイルが展開されます。
このままの構成であればユーザ変数の編集をしないで動作確認が可能となっています。
[ ] 内の値は、パーミション-転送モード(A:ASCCI / B:BINARY)を示します。

CTSSI_***(***はバージョン)
    ├ cgi-bin [755]
    |  └ imCTSSI [755]
    |      ├ im_ctssi.pl      [705-A] アクセスカウンタスクリプト
    |      ├ im_ctman.cgi     [705-A] カウンタマネージャスクリプト
    |      ├ data [755]
    |      │  ├ count.dat    [606-A] カウントデータファイル(初期値 0 )
    |      │  └ access.log   [606-A] アクセスログファイル(空ファイル)
    |      └ lock [707] ← パーミッション注意
    |          ├ ct.lock      [606-A] カウントデータファイル用ロックファイル(空ファイル)
    |          └ ac.lock      [606-A] アクセスログファイル(空ファイル)
    └ home [755]
        └ imCTSSI
            ├ index.html       [644-A] このファイル(動作上不要)
            ├ sample.shtml      [644-A] カウンタスクリプトを起動するためのHTMLファイル
            └ img [755]
                ├ 0.gif        [644-B] カウンタ値 0 に相当する画像
                ├ 1.gif        [644-B] カウンタ値 1 に相当する画像
                ├   :
                └ 9.gif        [644-B] カウンタ値 9 に相当する画像

    ※cgi-binディレクトリのファイルはCGIが実行可能なディレクトリに置いて下さい。
    ※CGI専用サーバが指定されている場合はデフォルトの設定では動作しないこともあります。


ファイル説明

imCTSSIで必要なファイルは以下の通りです。(編集項目を確認したい場合は、スクリプト名をクリックして下さい)

im_ctssi.pl
    カウンタ本体のスクリプトです。
    Perlのパスを確認し、必要に応じ編集する必要があります。
    使用環境に合わせてユーザ変数をテキストエディタで編集する必要があります。

im_ctman.cgi
    カウウンタマネージャのスクリプトです。
    Perlのパスを確認し、必要に応じ編集する必要があります。
    使用環境に合わせてユーザ変数をテキストエディタで編集する必要があります。
    「パスワード」は、アクセスログ確認時に承認画面のパスワード欄に入力する文字列です。
    whoisコマンドが利用できないサーバでは「whoisコマンドの利用可否」を 'no' に設定して下さい。

sample.shtml
    サーバのSSI機能を利用してカウンタスクリプトを起動するファイルです。
    <!--#exec cgi="../cgi-bin/imCTSSI/im_ctssi.pl"-->と記述した部分がカウンタ値/カウンタ画像と置き換わります。
    ※execコマンドが利用できなくても <!--#include virtual="../cgi-bin/imCTSSI/im_ctssi.pl"-->で利用可能なサーバもあります。

count.dat
    カウントデータファイルです。(初期値 0)

access.log
    アクセスログデータファイルです。(空ファイル)

ct.lock
ac.lock
    データファイル保護用のロックファイルです。(空ファイル)

*.gif
    グラフィックカウンタとして使用する際に表示させる数値画像ファイルです。
    ファイル名を対応させる数値 n に逢わせて n.gif とし、0.gif〜9.gifまでの各数値画像を用意して下さい。
    画像ファイルは、任意のGIF画像が使用可能です。


設置手順

01).グラフィックカウンタとして使う場合、数値0〜9に対応する0.gif〜9.gifの数値画像を用意します。

02).im_ctssi.plのユーザ変数をテキストエディタで編集します。

03).im_ctman.cgiのユーザ変数をテキストエディタで編集します。

04).HTMLエディタなどでカウンタ値を表示させたいHTMLファイルを作成し、ファイル名をindex.shtmlとして保存します。
    ※カウンタ値を表示させたい部分に<!--#exec cgi="設置ディレクトリ/im_ctssi.pl"-->と記述します。
    ※execコマンドが利用できなくても <!--#include virtual="設置ディレクトリ/im_ctssi.pl"-->で利用可能なサーバもあります。

05).FTPソフトなどでファイルをサーバに転送します。

06).サーバに転送したファイルのディレクトリやファイルのパーミッションを設定します。

07).ブラウザからindex.shtmlをリクエストします。
    正しく設置できていればindex.shtmlの内容と共にカウンタ値が表示されます。

08).次にim_ctman.cgiをリクエストし承認画面が表示されたらパスワードを入力しログインして下さい。
    正しく設置できていればアクセスログが表示さます。


カウンタマネージャの使い方

im_ctman.cgi を利用するとカウンタ値の修正やアクセスログの管理ができます。

【カウンタマネージャの起動】
    ブラウザからim_ctman.cgiリクエストし承認画面でパスワードを入力しログインボタンを押します。
    パスワードはim_ctman.cgiのユーザ変数で設定したものを入力してください。

【カウンタ値の修正】
    テキストエリアに任意の数値を記入し[カウンタ値修正]ボタンを押して下さい。

【ログ再読込】
    アクセスログを再読込したい場合には[再読込]ボタンを押して下さい。

【アクセスログのクリア】
    アクセスログを初期化(空ファイルに)する場合は[ログクリア]ボタンを押して下さい。

【アクセスログの見方】
    アクセスログには以下のデータがリスト形式で表示されています。
    COUNT:アクセス時のカウンタ値です。
    REMOTE_ADDR :  アクセス元サーバのIPアドレスです。
                    ※whoisコマンドが利用できる場合はここをクリックするとIPアドレス調査ができます。
    ACCESS_TIME :  アクセスした時間です。
    USRE_AGENT  :  アクセス時に利用されたブラウザの情報です。
    HTTP_REFERER:  リンクを辿ってきた際は、リンク元のURLが表示されます。


特記事項

【JPNICデータベースの利用について】
    IPアドレス調査は、JPNICのデータベースを利用しています。
    JPNICのデータベース利用規定を守り適切な運用を行って下さい。

【imCTSSI(SSI式カウンタ)をフレームで起動する際の制約】
    フレームを利用してim_ctssi.plを起動するしたときリンク元URLはフレームを定義したファイルとなりカウントアップしません。
    フレームを利用してim_ctssi.plを起動するきは$im_env{'set_url'}に存在しないURLを設定してください。
    ※自分のホームページアドレスを入力した場合はカウントアップしません。

【未カウントの条件】
    ユーザ変数$im_env{'set_url'}で指定したURLを含むリクエストのときはカウントアップしません。
    ユーザ変数$im_env{'retry_limit'}設定時間(秒)内での同一IPアドレスのアクセスはカウントアップしません。
    ※設定時間内に複数回のリクエストがあった場合は最後のリクエストがあった時間を基準にします。
    ※この機能はアクセスログを不要とした場合(またはアクセスログの行数指定が極端に小さい場合)は機能しません。