DAYカウンタ(imDCSSI)
トップページ】 【フリースクリプト
特徴
総計、本日分、昨日分が表示可能なカウンタです。
画像カウンタ、テキストカウンタの選択(切替)が簡単に行えます。
クッキーによる同一日多重カウント防止、リモートIPによる同一日多重カウント防止 ができます。
全アクセスを日別に記録しアクセス解析(リモートIP集計、時間集計、リンク元集計)ができます。
保存指定日数を超えたアクセスログを自動消去させることができます。
※SSIが利用できないサーバでは動作しません。

サンプル

サンプル(グラフィック表示設定にしたカウンタ)
サンプル(アクセスログ解析)
※CGI倶楽部トップページのカウンタはimDCSSIをテキスト表示で使っています。


ダウンロード

imDCSSI ver1.00(LHAファイル:  48k)


ファイルレイアウト

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

DCSSI_***(***はバージョン)
    ├ cgi-bin [755]
    |  └ imDCSSI [755]
    |      ├ count.dat        [606-A] カウントデータ用ファイル
    |      ├ ct_cookie.pl     [705-A] アクセスカウンタスクリプト
    |      ├ ct_whois.cgi     [705-A] IP調査スクリプト
    |      ├ im_dcman.cgi     [705-A] ログ解析スクリプト
    |      ├ im_dcssi.pl      [705-A] アクセスカウンタスクリプト
    |      ├ log [707] ← パーミッション注意
    |      │  └ index.html   [644-A] ディレクトリリスト表示防止用ファイル(動作上不要)
    |      └ lock [707] ← パーミッション注意
    |          ├ count.lock   [606-A] カウントデータファイル用ロックファイル(空ファイル)
    |          └ log.lock     [606-A] アクセスログファイル(空ファイル)
    └ home [755]
        └ imDCSSI
            ├ index.html       [644-A] このファイル(動作上不要)
            ├ sample.shtml     [644-A] カウンタスクリプトを起動するためのHTMLファイル
            ├ img_tt [755]
            │  ├ 0.gif        [644-B] 合計カウンタ値 0 に相当する画像
            │  ├ 1.gif        [644-B] 合計カウンタ値 1 に相当する画像
            │  ├   :
            │  └ 9.gif        [644-B] 合計カウンタ値 9 に相当する画像
            ├ img_td [755]
            │  ├ 0.gif        [644-B] 本日カウンタ値 0 に相当する画像
            │  ├ 1.gif        [644-B] 本日カウンタ値 1 に相当する画像
            │  ├   :
            │  └ 9.gif        [644-B] 本日カウンタ値 9 に相当する画像
            └ img_yd [755]
                ├ 0.gif        [644-B] 昨日カウンタ値 0 に相当する画像
                ├ 1.gif        [644-B] 昨日カウンタ値 1 に相当する画像
                ├   :
                └ 9.gif        [644-B] 昨日カウンタ値 9 に相当する画像

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


ファイル説明

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

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

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

ct_whois.cgi
    IP調査用のスクリプトです。
    Perlのパス、whoisコマンドのパスを確認し、必要に応じ編集する必要があります。
    whoisコマンドが利用できないサーバでは利用できません。

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

sample.shtml
    サーバのSSI機能を利用してカウンタスクリプトを起動するファイルです。
    HTMLヘッダ内にクッキーを発行させるために以下の記述が必要となります。(クッキーによるカウントアップ制限をしない場合は不要です))
      <META http-equiv="Set-Cookie" content="<!--#include virtual="/cgi-bin/imDCSSI/ct_cookie.pl"-->">
    HTMLボディ内のカウンタを表示させたい部分に以下の記述をして下さい。
      <!--#exec cgi="../cgi-bin/imCTSSI/im_dcssi.pl"-->と記述した部分がカウンタ値/カウンタ画像と置き換わります。
    ※execコマンドが利用できなくても <!--#include virtual="../cgi-bin/imDCSSI/im_dcssi.pl"-->で利用可能なサーバもあります。

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

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

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


設置手順

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

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

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

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

05).HTMLエディタなどでカウンタ値を表示させたいHTMLファイルを作成し、ファイル名をindex.shtmlとして保存します。
    HTMLヘッダ内にクッキーを発行させるために以下の記述が必要となります。(クッキーによるカウントアップ制限をしない場合は不要です))
      <META http-equiv="Set-Cookie" content="<!--#include virtual="/cgi-bin/imDCSSI/ct_cookie.pl"-->">
    またHTMLボディ内のカウンタを表示させたい部分に以下の記述をして下さい。
      <!--#exec cgi="../cgi-bin/imCTSSI/im_dcssi.pl"-->と記述した部分がカウンタ値/カウンタ画像と置き換わります。
    ※execコマンドが利用できなくても <!--#include virtual="../cgi-bin/imDCSSI/im_dcssi.pl"-->で利用可能なサーバもあります。

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

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

08).ブラウザからindex.shtmlをリクエストします。
    正しく設置できていればindex.shtmlの内容と共にカウンタ値が表示されます。
    ※クッキーが発行されているかどうか、ブラウザの設定を「クッキーを受けるときに警告する」ようにして確認してください。

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


ログ解析スクリプトの使い方

im_dcman.cgi を利用するとカウンタ値の修正やアクセスログ解析ができます。
アクセスログは日毎に生成されていて、1日単位のアクセス状況を解析できます。

【ログ解析スクリプトの起動】
    ブラウザからim_ctman.cgiリクエストし承認画面でパスワードを入力しログインボタンを押します。
    パスワードはim_ctman.cgiのユーザ変数で設定したものを入力してください。
    ログインすると「ログファイルリスト」が表示されるので解析対象の日付のファイルを選択して任意のボタンを押してください。

【カウンタ値の修正】
    右上隅にあるテキストエリアに任意の数値を記入し[カウンタ修正]ボタンを押して下さい。
    テキスト欄は左から順に合計、本日、昨日のカウンタ値です。

【IP別集計】
    アクセスしてきたリモートホストIPアドレスをヒット数順に表示します。

【時間別集計】
    0時〜23時まで1時間毎のアクセス数をグラフ表示します。

【リンク元集計】
    リンク元データが取得できたアクセスだけを集計し、リンク元URLを表示します。

【データ表示】
    アクセスログのソースデータを(多少整形して)表示します。


特記事項

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

【imDCSSI(SSI式カウンタ)をフレームで起動する際の制約】
    フレームを利用してim_dcssi.plを起動するしたときリンク元データはフレーム定義したHTMLファイルのURLとなります。

【未カウントの条件】
    同一IPが同日最後のアクセスからユーザ変数$im_env{'ip_check'}で指定した秒数以内アクセスしたときはカウントアップしません。
    アクセス元のブラウザがクッキーを受け入れる設定のしたるとき、同日に1度以上アクセスしている場合はカウントアップしません。