GIFイメージカウンター GifCounter3
CGI'sトップページ >
GIFイメージカウンター GifCounter3
機能・概要
- フリースクリプト
- Perlで作成したGIFカウンター&簡易アクセスログCGIです。
- カウンターは累計のみ表示。
- IPアドレスによる重複カウント防止。
- カウントしたいページからjavascriptにより呼び出します。
サンプル
※以下のサンプルは重複カウント防止を1分で設定しています。
カウンターサンプル
ログ閲覧画面サンプル(パスワード:0000)
ダウンロードファイル
- ダウンロード前にご利用規約をご一読ください。
- gif_counter3.zip
設置
- zipファイルダウンロード。
- 解凍(展開)。
- log.cgiとcount.cgiをテキストエディタで開き、「設定説明」を参考に設定。
- 次項の構成の通り(解凍後の構成そのまま)でサーバー上の任意のディレクトリにアップロード。
- パーミッションを設定。
- カウントしたいページにjavascriptを記述してカウンターが表示されることを確認。
- log.cgiにアクセスして各種Logが表示されれば終了。
- javascriptの記述方法はjavascript についてをご覧ください。
- ※サンプルファイルはアップロードの必要はありません。ソースをみて参考にしてください。
ファイル一覧とパーミッション
パーミッションはサーバ環境により異なる場合があります。
名称 | パーミッション |
---|---|
gif_counter3/ ├log.cgi ├count.cgi ├cnt.cgi ├chk.cgi ├lib/ │ └gifcat.pl │ ├img/ │ └0~9.gif │ └sample.html |
755 755 755 666 666 755 644 755 644 ※サンプルファイル |
設定説明
- log.cgiをメモ帳などのテキストエディタで開き、設定編集します。設定項目はファイル上部にあります。
設定項目 | 変数名 | 説明 |
---|---|---|
log.cgiから見たカウントデータファイルへのパス | $config{'file'}{'count'} | count.cgiから見たcnt.cgiへのパス。前段設置説明通りにアップロードしていれば、変更必要なし。 |
log.cgiから見たIPアドレスと時間を記録するファイルへのパス | $config{'file'}{'check'} | count.cgiから見たchk.cgiへのパス。前段設置説明通りにアップロードしていれば、変更必要なし。 |
【重要】ログ閲覧の為のパスワード | $config{'pw'} | 半角英数字で記入 |
ログの一覧表示で1ページに表示される件数 | $config{'rows'}{'list'} | 半角数字で記入 |
集計ページで各集計ごとの表示件数 | $config{'rows'}{'total'} | 半角数字で記入 |
- count.cgiをメモ帳などのテキストエディタで開き、設定編集します。設定項目はファイル上部にあります。
設定項目 | 変数名 | 説明 |
---|---|---|
count.cgiから見たカウントデータファイルへのパス | $config{'file'}{'count'} | count.cgiから見たcnt.cgiへのパス。前段設置説明通りにアップロードしていれば、変更必要なし。 |
count.cgiから見たログを記録するファイルへのパス | $config{'file'}{'check'} | count.cgiから見たchk.cgiへのパス。前段設置説明通りにアップロードしていれば、変更必要なし。 |
count.cgiから見たGif画像(数字イメージ)が格納されたディレクトリへのパス | $config{'imgdir'} | count.cgiから見たimg/へのパス。前段設置説明通りにアップロードしていれば、変更必要なし。 |
重複カウント不許可の時間 | $config{'limit'}{'time'} | 単位は分。60を設定すると、1時間同一IPアドレスのアクセスをカウントしません。0で重複カウント許可となります。 |
ログを記録する上限数 | $config{'limit'}{'ip'} |
アクセス時、この記録を参照し、同一IPアドレスで、「重複カウント不許可の時間」内の記録があればカウントしないことになります。 1時間重複カウントを防止すると仮定した場合、1時間のユニークアクセスと同等以上の上限数を設定すべきです。 また、上限数を大きくすればするほどチェックに時間がかかり動作は遅延します。 アクセス状況と動作スピードを検証しつつ適宜設定してください。 |
重複するIPアドレスのログを消去するかどうか | $config{'delete'}{'ip'} |
「1」を設定するとIPアドレスが重複した場合、重複した過去のログを消去します。 「0」 を設定するとなにもしません。 |
javascript について
- (記述例)
<script type="text/javascript">
<!--
ref1=escape(document.referrer);
ref2="";
for(i=0;i<ref1.length;i++){
a=ref1.charAt(i);
ref2 +=(a == "+") ? "%2B" : a;
}
document.write('<a href="http://www.cgis.biz/"><img src="gif_counter3/count.cgi?' + ref2 + '" alt="CGIs" border="0"></a>');
// -->
</script>
- src属性には表示するHTMLファイルから見た count.cgi への相対パスを記述します。
その他
現在使用しているカウンターからの乗換えなどで、任意の数字からカウントをスタートする場合。
- 各ファイルをアップロードする前に、cnt.cgiをメモ帳などのテキストエディタで開き直接書き換え編集します。
- 配布当初のcnt.cgiを開くと、以下のようになってます。
0
- 累計を1000からスタートするのであれば、「0」を「1000」に書き換え編集してください。
- 編集が終了したら、設置説明の通りアップロードして終了です。