Free CGI
自分のサイトの訪問者数をカウントし表示する、いわゆる「アクセスカウンター」です。
CGI、SSIを利用できるサーバーであることが必要です。
- 表示イメージ
-
- 機能
- カスタマイズ スクリプトの変数部分を変えることにより
- テキストによる表示、イメージファイルによる表示を選べます。
- 通常のベタ表示、TABLE表示(枠付枠無)も選べます。
- テキストの場合文字色を指定できます。TABLE表示の場合背景色を表示桁ごとに指定できます。
イメージファイルは添付のものを使っても、自分で好きな物を作って使ってもかまいません。
- 訪問者記録
- 訪問者の訪問時間、IPアドレス、ホスト名、直前参照URL、ブラウザを記録します。
- 記録ファイルは月が変わった後も1ケ月保存されますので、余裕を持って閲覧できます。もちろん月途中での閲覧もできます。
- 記録ファイルはカンマ区切りテキスト形式ですので、FTPダウンロードしたあとEXCELLなどで、一発閲覧できます。
- 記録ファイルは奇数月用と偶数月用があり、月ごとに交代で記録されますので、野放図にファイルサイズが大きくなることがありません。参照数の多いサイトやディスク容量の少ないサイトでも安心して使えます。
- ※ホスト名は正確に送られない場合もあります。またIPアドレスはダイアルアップの場合などはログインの都度変わりますので、個人を特定することはできません。
- 二重カウントチェック
- 単位時間帯の訪問者のIPアドレスをチェックすることにより、二重カウント・リロードカウントを防止します。
- チェック用の記録は単位時間(カスタマイズ可能)で専用ファイルを切り替えますので、参照数の多いサイトでも高速でチェックでき、ファイル容量が大きくなることもありません。
- 切り替え時間を挟んでアクセスすると両方カウントされる可能性があります。(例.23:59と0:01にリロードする)ただし、1回だけで、その後はチェックされます。
- 隠しカウンター
- カウンター表示をするページを指定できますので、同一サイトの別のページにも設置可能です。
- この機能により、入り口に設定したページを経由しない訪問者もカウントでき、二重カウントの心配もありません。
- カウントアップしたのがどのページかは、訪問者記録ファイルに記録されます。
- キリ番号イベント
- キリのいい番号にヒットしたときに自動的にジャンプするURLを指定することにより、イベント的仕掛けが可能になります。New
- 更新履歴
- 2000/10/30
- Ver2.0。データファイルを自動生成するようにして設置を簡単にする。それに伴いデータディレクトリのパーミッションを707に変更。
- 2000/01/10
- Ver1.3。2000年以降の日付取得バグ修正。(いまさらですみません(^^;)
- 1999/11/14
- Ver1.2。セキュリティ上の注意書きを変更。(ファイル名変更の推奨)
- 1999/09/09
- Ver1.1。キリ番号イベント機能を追加して公開。
- 1999/06/29
- $Mode=""、$Table=0の時、文字色を指定しても変更されないバグを修正。
- 1999/06/27
- 第1版公開。
- 利用方法
- ダウンロード
- セットファイルのダウンロード → tskaunta.lzh(9KByte)
- ダウンロードしたファイルを解凍すると下記のファイルが生成します。
- tskaunta.cgi スクリプトファイル 705
- counter.dat アクセス数保存ファイル 606
- count[0〜9].gif 数字表示用画像ファイル 604
- sample0.html CGI呼出HTMLサンプル(ベタ表示) 604
- sample1.html CGI呼出HTMLサンプル(TABLE表示) 604
- tskaunta.html このHTMLのコピー
- readme.txt 読まなきゃファイル
右側の数字はUNIXサーバー上で設定するパーミッションの値です。
ダウンロードしたらreadme.txtはちゃんと読みましょう(笑)
- カスタマイズ
- tskaunta.cgiの1行目の「
#!/usr/local/bin/perl
」をサーバーの設定にあわせて変更してください。通常はこのままで大丈夫です。
- データ用デレクトリ
10行目$DataDir = 'data/';
の強調部分を変更してください。
- tskaunta.cgiのユーザー変更領域を、あなたの好み、及びプロバイダの提供する環境にあわせ、変更します。(スクリプト内のコメントを参照してください)
テストの場合、$ShowCounterPage = ""
に設定しておいてください。
- サーバーに送信
- サーバーの自分のエリアにCGI用のディレクトリ(例.cgi-bin)を作成します。パーミッションは705に設定してください。
- CGI用ディレクトリにはスクリプトファイルtskaunta.cgiを送信し、パーミッションを705に設定してください。
CGIスクリプトはASCIIモードで、他はBINARYモードで送信してください。
- CGI用ディレクトリ(例.cgi-bin)の下にデータ用のディレクトリを作成します。ディレクトリの名前はスクリプトファイルの10行目の
$DataDir
に指定した名前にします。パーミッションは707に設定してください。
- カウンターの開始数字を0以外にセットする場合はcounter.datに適当な数字を入力します。1000をセットすると最初のアクセスで1001が表示されます。数字のみを入力するようにし、改行を入力しないように注意してください。counter.datをデータ用ディレクトリにBINARYモードで送信し、パーミッションを606に設定してください。
- それぞれのディレクトリにダミーでindex.htmlという名前のファイルを送っておくと、セキュリティ度が高まります。
- 細かな設定使えるコマンドはプロバイダによって異なりますので、確認の上で送信及び次のテスト実装を行ってください。
- テスト&実装
- ブラウザを立ち上げ、sample?.htmlを呼び出します。カウンタが表示されたら成功です。
- サンプルファイルを参考に、カウンタを設置したい自分のHTMLにSSI呼び出しを実装してください。
- アップデートNew
- CGIのバージョンをアップデートする場合、特に断りがない場合、tskaunta.cgiのみをサーバーに(ASCIIモードで)送信してください。
- アップデートする前に念のため訪問者ログvisitor?.csvはダウンロードしておいてください。
- トラブルシューティング
- うまく動かない(カウンタが表示されない場合)次の点を確認してください
- サーバーでCGI、SSIが使えますか?特定のコマンド(
flock()
など)は使えますか?
- 呼び出しパスは正しいですか。SSIのexecコマンドの場合リアルパスが必要なことが多いです。
- パーミッションは正しく設定されていますか。
- ファイル名とファイルを置いたディレクトリは合っていますか?呼び出したHTMLとCGIのディレクトリが違う場合、どちらのディレクトリがカレントになるかはサーバーの設定によって違います。
- tskaunta.cgiのユーザー変更領域の
$ShowCounterPage
の設定と、表示したいHTMLとは一致していますか?
- tskaunta.cgiのユーザー変更領域の
$Visitor_Node
の設定と、訪問者記録ファイル名の先頭部分は一致していますか?New
Free CGI