Crystal Dew World DOS/V POWER REPORT 用
Crystal Access Analyze System 1.1
最終更新日:2000/6/5

★設置法がよくわからない方は遠慮せず、掲示板かメールでご連絡ください!!

Crystal Dew World へ

Crystal Access Analyze System

はじめに

紹介

同梱ファイルの解説

設置方法

使い方

おまけ...

逆リンクの探知

文字コード

なぜに「.cgi」

cgiを特定のディレクトリにしか置けない場合...

はじめに

CGIの設置に必要な基礎知識はこちらでまとめています。CGI設置初心者の方はぜひ目を通してください。

Crystal Access Analyze System は多くの人により簡単に利用していただけるよう、文字コードをSJISに移行しました。

CGIでSJISを使う場合には注意しなければならないことがいくつかあります。詳しくはこちらで...

旧バージョン(Crystal Access Analyzer 5.10以下)をご利用の方はこちらをまずお読みください。

紹介

Crystal Access Analyze System

アクセス数のカウントや多彩なアクセス解析機能に加え擬似追跡機能までも搭載した総合アクセス解析CGIです。

時間、曜日、日付、ホスト名、ブラウザ名など基本項目に加えドメイン解析やカレンダー式表示、

逆リンク(サイト別、ホスト別、詳細)などの解析が行えます。また、イメージタグを用いたカウントもサポートしました。

利用するためには、ちょっとした下準備が必要なので設置法をしっかり読んでから行ってください

また、同じ人が何度も更新するだけでカウント数が増えるという問題を回避するため、

同一IPからのアクセスを1日1回しかカウントしないようにもできます(デフォルト)。

同梱ファイルの解説
最上層  
最下層
カウントしたいファイルがあるディレクトリ
access
(プログラム格納ディレクトリ)
analyzed(作成してください)
(解析データ格納ディレクトリ)
index.cgi
アクセスデータを取得し、
index.html(任意指定)を呼び出す。

analyzer.cgi
アクセス解析を行います。

空っぽです。


拡張子[cgi]の解析データが格納されます。
バックアップ以外の操作は必要ありません。

count.cgi

index.html(任意指定)にカウント数を表示します。
また、index.cgiを通してindex.htmlを呼ばれなかった
場合これがアクセスデータを取得してくれます。
search.cgi
擬似追跡を実現します。
  bar.gif
メーター用の画像です。
  filelist.dat
擬似追跡のためのデータ
ファイルを指定します。

「.htaccess」を同梱しています。 このファイルをホームディレクトリにASCIIモードでFTPしてください。

ファイル名を変更する場合は必ず各CGIの名前設定のところを矛盾なく設定しなおしてください。(初期設定をお勧めします)

設置方法
.htaccess(重要)

このCGIを利用するためには、.htaccessという名前の設定ファイルを編集する必要があります。

ホームディレクトリに.htaccessというファイルが存在するかどうかを ls -al で調べてみてください。

(隠しファイルなので ls コマンドだけでは表示されません)

存在しない場合は、以下のような内容の.htaccessファイルをホームディレクトリに作成します。

.htaccessを同梱しています。 このファイルをホームディレクトリにASCIIモードでFTPしてください。

DirectoryIndex index.cgi index.html
AddType application/x-httpd-cgi .cgi

一行目のDirectoryIndexでファイル名を指定されなかった時に探しに行くファイルの順番を指定します。

この場合、例えば http://kotan.ec.hokudai.ac.jp/~hiyohiyo/ とURLを指定すると、

まず最初に、ホームディレクトリにindex.cgiがあるかをチェックしあれば実行!!

なければ、index.htmlを表示します。両方ない場合はエラーとなります(場合によっては一覧が表示される)。

ここまでで、第一段階は終了です。

全体像

最終的にはこのようなディレクトリ構成になります。は自分でFTPします。黒はプログラムが自動で生成します。

最上層  
最下層
カウントしたいファイル
があるディレクトリ
access
(解析プログラムの格納ディレクトリ)
analyzed
(解析データの格納ディレクトリ)
index.cgi
analyzer.cgi(アクセス解析CGI) [大文字].cgi(解析データ)
count.cgi search.cgi(擬似追跡CGI) logview.cgi(アクセス情報)
  bar.gif logtemp.cgi
(一時的なアクセス情報)
  filelist.dat(擬似追跡用のデータ) cntchek.cgi
(連続カウントを防ぎます)
  count.dat(カウント数を保持)  

0-9の画像データは自由に配置できます。[count.cgi]で場所を指定します。

数字ファイルは同梱されておりませんので、自作する素材系サイトで探してみてください。

カウント部分

index.cgicount.cgi一行目をPerlのパスにあわせて変更し設定を行います。

コメントを参考にして設定を行ってください。(簡単なものばかりです)

設定が終わった後アスキーモードホームディレクトリ(場合によっては解析したいファイルのあるディレクトリ)にFTPしてください。

アクセス解析部分

accessという名前のディレクトリを作ります。

analyzer.cgiの一行目をPerlのパスにあわせて変更し設定を行います。

設定が終わった後アスキーモードでaccessディレクトリにFTPします。

最後にaccessディレクトリの下にanalyzedという名前のディレクトリを作ってください。(ここに解析データが入ります。)

擬似追跡部分

この機能は半分オマケです!!!!設置方法は上と同様です。使い方は実行すればわかります(適当...)

複数のコーナーで上記の方法でアクセス解析している場合、一度に検索ができたら便利だなぁと思ったので作りました。

Crystal Access Analyzer についている検索を複数のアクセス情報に対して行えます。(logview.cgiという名前のファイル)

検索対象をfilelist.datで指定します。データフォーマットは

\t=タブのことです。

search.cgiからの相対パス\tタイトル
search.cgiからの相対パス\tタイトル
....

って感じです。例がないとわかりづらいと思うので...

Crystal Dew Worldの場合...(タブの換わりに半角スペースにしています)


Crystal Access Searchは /~hiyohiyo/access/search.cgi に配置しています。

-filelist.dat-(SJIS)

./analyzed/logview.cgi TOP
../cgi/access/analyzed/logview.cgi CGI
../hiyohiyo/access/analyzed/logview.cgi BBS
../soft/access/analyzed/logview.cgi SOFT
../special/access/analyzed/logview.cgi SPECIAL
../vc/access/analyzed/logview.cgi VC
../diary/access/analyzed/logview.cgi DIARY

複数個所でアクセス解析を行っている場合のみ意味があります。トップページのみ解析している場合は

設置する必要は全くありません!!Crystal Access Analyzer に付属の検索機能をご利用ください。

..............................................................................................

さて、どういう時に使うかというと...例えば...

  ★感想メールや掲示板に感想が来た時にそのドメインで検索する...(極悪非道)

なんて使い方ができます。絞込みは日付や時間帯などで行います。(曜日は数字(0-6)で保存されているので利用できません)

  ♪2000/4/24日の場合「20000424」で検索

  ♪23時台の場合「23」で検索

  ♪2000年5月の場合「200005」で検索

など...こんな感じで絞っていけばその人がどのページを見てくれたかを大体つかむ事が可能になります(凶悪)

画像について

0-9の数字画像とメーター用の画像(同梱)が必要です。

付属の画像ファイルbar.gifはaccessディレクトリ([count.cgiで設定])に入れてください。

リンクしてもらう場合

リンクの際は必ず [http://xxxxx/~xxx/]のように'/'で終わる形でリンクしてもらってください。

もし、index.htmlなど最後につけられた形でリンクされている場合もcount.cgiの方でアクセス情報を取得してくれますが、

逆リンク情報の取得はできません。

★普通の時はindex.cgiが呼ばれどこからアクセスがあったのかわかります。

★ブックマーク等でindex.htmlが直接呼ばれた場合はindex.htmlのアクセス表示を行う際にcount.cgiがカウントしてくれます。

使い方

◆カウント数の表示:count.cgi

今日と昨日のカウントをサポートしました。

-TOTALカウントの表示-
<img src="count.cgi?2=count">//100の位
<img src="count.cgi?1">//10の位
<img src="count.cgi?0">//1の位

最上位桁には[=count]をつけてください。
 index.cgiが呼ばれなかった場合に限りカウント処理を行います。

-今日のカウントの表示-
<img src="count.cgi?2=today">//100の位
<img src="count.cgi?1=today">//10の位
<img src="count.cgi?0=today">//1の位

-昨日のカウントの表示-
<img src="count.cgi?2=yester">//100の位
<img src="count.cgi?1=yester">//10の位
<img src="count.cgi?0=yester">//1の位


★ 0が一桁目であることにご注意ください!!

◇パスワードの入力方法:analyzer.cgi

http://xxxx/~xxx/access/analyzer.cgi?search==hogehoge

って感じで直接パスワードを入力してください。以後全ての機能が管理者モードに移行します。

ちなみに...

analyzer.cgi?機能の名前=オプション(必要な機能のみ)=管理者パスワード

となります。一度入力すると他の機能を利用しても平気です。

簡便化のためURLに直接パスワードを書き込む形にしています。
  学校等URL情報が残ってしまう場所でのご利用にはご注意ください。

おまけ
Referrerの取得

アクセス解析における最大の問題はReferrer(前のページ)をどうやって取得するのか!!

という問題だと思います。

一般的にはJavaScript+SSIやJavaScript+イメージタグなどの方法で

JavaScriptと何かを組み合わせてReferrerを取得します。

設定さえ間違えなければ、この方針でほとんど問題ないともいえますが、

世の中JavaScriptに対応しているブラウザばかりではありません

要するにこの方針だと非対応のブラウザを全くカウントできません

そこで、私はCGIから別のファイルを呼び出すという方法でこの問題を回避しました。

(おかげで設置がちょっと面倒)

まず、index.cgiを呼び、このCGIがカウント処理をしてからindex.html(任意)を呼び出すのです。

こうすることによって上記の問題は完全に解決します。

ですが...ここで新たな問題が浮上します!!

ブックマークやリンク集に http://kotan.ec.hokudai.ac.jp/~hiyohiyo/index.html

と登録されてしまうと全くカウントができないのです。

 

そこで、直接index.htmlが呼ばれた場合はcount.cgiがアクセス数を表示する前にカウントする

ことにしました。こうすれば、確実にアクセス情報を取得できます。スゴイぞ>おれ(笑)

文字コード

SJISではエスケープしないと「表示」や「機能」などよく使う単語も化けてしまうのですが、

このCGI内部に含まれていないという理由と、逆リンクでURLデコーディングする際SJISの場合

のみjcode.plの助けがなくても正しくデコードできるという理由...そして初心者にも少しはやさしく

なるかなぁ~~と思ったので文字コードをSJISに変更しました。

なぜに「.cgi」

拡張子をCGIにするとではそのファイルを実行しようとするため(当然できない!!)

通常の方法閲覧することができなくなるので、拡張子をCGIに変更しました。

こうすることで、余計な情報(IPアドレス等)が漏れるのを防ぐことができます。

cgiを特定のディレクトリにしか置けない場合...

自分のディレクトリ以外にCGIをセットしてファイルを呼び出すことは簡単にできます。
index.cgiの設定項目
#表示するファイル名
$IndexFileName="(表示したいファイルへの絶対パスもしくは相対パス)";
とするだけです。

■TOPページ■

 どうやればよいのでしょうかねぇ...トップページのURLはいまさら換えられないでしょうし。
 JavaScriptによる逆リンク取得版が出るのを待つしかないのでしょうか?
 私自身この手の環境が身近にないためどういったものなのかイマイチわからないんですよね。

■TOPページ以外■

 /cgi-bin/cgi/index.cgi
 /cgi-bin/vc/index.cgi
 って感じにして最初に示したように表示するファイルを指定すればOKです。
 アクセス解析のデータは/cgi-bin/cgi/access/analyzed/って感じになります。

*よりよい方法を思いついた方はご連絡ください

採用サイト

北大インコム

ご意見・ご要望

私の力でできる範囲であれば、できる限り応えていくつもりです。

CrystalCGIProjectに関するご意見・ご要望などはお気軽に...

メール:hiyohiyo@ec.hokudai.ac.jp

Crystal Dew World