簡単ダウンロードカウンター kz ダウンロードカウンター ver.1.41

こぼうず メールはこちら
http://kz-soft.mine.nu

このたびは、「 kz ダウンロードカウンター 」をダウンロードして頂き、ありがとうございます。

このCGIを経由して、ダウンロードファイルへのリンクを張ることで、ダウンロード数をカウントすることができます。
余計な機能を省き、必要最小限に絞りました。シンプル イズ ベストです。(^_^;)

 

特徴 カウントするファイルの数は無制限です。
  各ファイルのDL数の集計画面を表示できます。(パスワード付き)
  設置が簡単です。必要なファイルはたった一つです。
  ファイルがダウンロードされると その結果をその都度メールで受け取ることができます。(ver1.3から)
(要 sendmail )
   
制限 DLした相手のデータ(ホスト名など)は記録しません。
   

設置及び設定

kz_dl_counter.cgi をテキストエディタで開きます。 設定箇所は 下記の通りです。

(1)
一行目の Perl のパスを確認してください。必要であればお使いのサーバーに合わせて変更してください。

(2)
パスワードの設定です。これは必ず変更してください
このパスワードは、DL数集計画面を見る時に必要となります。

(3)
データファイルのファイル名です。
デフォルトでは、(2)で決定したパスワードと同名のファイル(拡張子 dat)が初回時に自動的に作られます。
前バージョンから継続してお使いになる場合は、前バージョンで自動作成されたファイル名をここで指定してください。

(4)
DL数集計画面に表示されるファイル名に、実ファイルへのリンクを張るかどうかの設定です。
ファイルの存在などを確認するのに使えるかと思います。

(5)
sendmail が使える環境の方は、ダウンロード結果をメールで受け取ることができます。
sendmail のパスと 宛先メールアドレス の登録をします。
sendmail が使えない、または、メールを受け取る必要がない場合は、そのまま空欄にしておいてください。

(6)
トクトクなどの一部のサーバーでは、Locationヘッダーが使えないという制限があります。
kz ダウンロードカウンターは、Locationヘッダーを利用しているため、それらのサーバーではうまく動きません。
その場合、$location = '0'; を $location = '1'; に変更することによってこの問題を解決することが出来ます。

(7)
管理画面の背景色を、黒基調か白基調か選択できます。デフォルトは黒。

これで設定は完了です。(CGIファイル中にも説明が書いてあります。)

設定が終わったら、kz_dl_counter.cgi をアスキーモードでサーバーにアップロードします。
パーミッションは 755(または700) にしてください。


実行

通常、DLするファイルへのリンクは、 <a href="http://xxx.com/hoge.zip"> ダウンロード </a> のようになっています。
これを次のように書き直します。 (cgi-binディレクトリに kz_dl_counter.cgi を設置した場合。)

<a href="http://xxx.com/cgi-bin/kz_dl_counter.cgi?http://xxx.com/hoge.zip"> ダウンロード </a>

ファイルへ直接リンクするのではなく、kz_dl_counter.cgi へのリンクにします。そのあとに 「?(半角クエスチョンマーク)」 を入れて、目的の DLファイルのURLを続けます。
青字で書いてある、CGIのパスは、絶対パスでも相対パスでもOKです。


CGIプログラムは、このリンクから目的のDLファイルのURLを取得し、データファイル中のこのファイルのカウンターの数字を一つ増やした後、DLファイルへジャンプします。
データファイル中に目的のファイル名が存在しない場合(第一回目のダウンロードのケース)は、自動的にデータファイルに そのファイル名が追加されます。
また、DLファイル自体を削除、あるいはリネームしたような場合、元のファイル名のデータがいつまでもデータファイル内に残ってしまいますが、後述の一覧表示画面から整理することが出来ます。

また、サーバによっては、ルートにアクセスすると CGIを置いたディレクトリの中身が丸見えになってしまう場合があります。
それを防止するために、CGI本体と同じディレクトリに index.html を自動的に作成します。(ver1.2から)
これは、中身がカラのダミーファイルです。


表示

各ファイルの累計ダウンロード数を表示することができます。

http://xxx.com/cgi-bin/kz_dl_counter.cgi?あなたのパスワード

このように、cgi の後ろに 「?(半角クエスチョンマーク)」 、続けて あなたのパスワード(最初にテキストエディタで設定したパスワードです。)をブラウザのアドレス欄に入れてアクセスしてください。
データファイルの内容をブラウザで見ることができます。

また、ファイル名・DL数・最終DL日 の各項目名をクリックすることで 表示データをソート(並び替え)出来ます。
クリックするごとに、昇順、降順と トグル動作するようになっています。(ver1.1からの新機能)

各データの横には「削除」のラジオボタンがあります。
ここにチェックを入れることで、データファイル中の不要なデータ(すでに存在しないファイルのデータ等)を整理することが出来ます。
あくまでも、データファイルに記録されたデータを削除する機能で、DLファイルそのものを削除するものではありません。


さいごに

アーカイブファイルだけでなく、写真でも音楽でも、あるいはHTMLファイルでも、リンクの張れる対象でしたらなんでもカウントすることができますので、アイデア次第でいろいろ応用もできそうです。
但し、あまり数が多くなると、データファイルが肥大化し、プログラムの実行が遅くなるかも知れません。(^_^;)


更新履歴

2007/12/25 ver1.41
・セキュリティ対策強化。
・データファイル名をパスワードと同名とするように変更。

2007/12/14 ver1.4
・パスワードを入れなくても集計画面を見ることができてしまうセキュリティホール対策。
・集計画面の色を、白基調/黒基調 の選択制にした。

2006/01/12 ver1.33
・ホスト名取得方法を変更。(niftyサーバーでエラーが発生していたため。)

2004/08/25 ver1.32
・トクトクなどの Locationヘッダが使えないサーバーに対応。

2004/08/08 ver1.31
・最終DL日が正しく表示されないバグ修正。

2004/07/30 ver1.3
・ダウンロード結果をメールで送れるような設定を追加。

2004/07/29 ver1.25
・スペースを含むファイル名に対処。
・細かなバグ修正。

2004/07/29 ver1.2
・ディレクトリを覗かれるのを防ぐために index.html (カラのダミーファイル) を自動的に作成するようにした。
・集計表示画面でのファイル名に関して、http:// から始まるURL形式をやめて、ファイル名だけを表示するようにした。

2004/07/29 ver1.11
・データソートのバグ修正

2004/07/16 ver1.1
・集計表示画面で、データのソートをできるようにした。
・集計表示画面で、ファイル名から実ファイルへのリンクを張る設定を追加。

2004/06/22 ver1.0
・初版



このプログラムは、フリーです。
改造は自由ですが、CGIスクリプト中の - kz ダウンロードカウンター - のリンクは消さないでください。
なお、このプログラムを使用したことによる いかなる損害も、私(こぼうず)はその責を負いません。