アクセス(ヒット)カウンタを追加する。

投稿者: | 2012/03/04

すでに時代遅れの感じもありますが、CGIでアクセスカウンタを追加する方法を説明します。(WordPress用ではありません。)

今時のWebではPHPでカウンタを追加するのが一般的なのかもしれませんが、ここではPerlを使ってCGIで実装します。以下がcgiの本体です。counter.cgi という名前で cgiディレクトリ に保存します。

cgiには実行権が必要ですのでパーミッションを確認してください。UNIX系OSでは, chmod 755 counter.cgi で実行権を付加してください。

カウンタの数字は0〜9までの10個の数字をGIF形式(ブラウザで表示できれば形式は何でも良い)のファイル で用意し、./cgi/digit ディレクトリに入れます。
counter.cgiと同じディレクトリに .count と.ip という名前のファイルを作成します。.countには 0 とだけ書いて保存しておきます。もし、.から始まるファイルを作れない場合は、4行目と6行目のファイル名を変更してください。.count と .ip は書き込み権限が必要です。

カウンタの桁数を増やしたい場合は7行目の $lenの値を変更します。

同じIPアドレスから連続アクセスされた場合にカウンタがアップするのを防ぐために直前にアクセスされたIPアドレスと同じ場合はカウンタを増加しないようにしています。また、IPアドレスがは短い場合(例:192.168.0.5)と長い場合(例:192.168.100.150)にうまく書き換えられないのを防ぐために18行目で左詰めの16桁で .ip ファイルに保存します。読み出す場合は、14行目でスペースを取り除いています。

CGIの実行は、index.html または index.shtmlから行います。(どちらのファイルで動くかはサーバーの設定に依ります。)
カウンタを挿入したいところに以下の一行を追加してください。
<!--#exec cgi="cgi/counter.cgi"-->

このサーバーのトップページにカウンタの実行例表示しています。
昔懐かしいニキシー管の画像は 電気機械座 なにがし某様 のwebの画像を使わせていただいてます。まだ、作成途中でカウンタしかつけていませんけど。

カテゴリー: CGI

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください