アクセスログVer2.0

はじめに
ダウンロードしていただきありがとうございます。
最初のAccessLog解析ツールの公開より時間がかなり経過してしまい、ご迷惑をおかけするにもいかず公開にふみきりました。
ベータ版といえど、ログフォーマットを変更する予定はありませんので、正規版リリースの際にも引き続き取得したログを解析することは可能です。

作成にあたって「HTMLに貼り付けるタイプの、異なるドメイン間でも取得が可能な高機能なアクセスログ」ということで開発をしました。
HTMLではなくPHPに貼るタイプでしたら、かなり楽なのですが、レンタルブログが多い中、厳しいかと思いましたのでこのタイプにしました。
なお、このページにも解析タグが貼り付いてます。(このように表示されます)
このような使い方も可能ですので、色々試されてみるのも面白いかもしれません。
また、ログ一覧はダイナミックHTMLで表示するアクセスログ一覧です。
このダイナミックHTMLでの表示は、IEのみでOPERA、MOZILLA等のブラウザでは解析画面を表示することはできません。
また、JAVASCRIPTで動作させていますので、Scriptオフのブラウザ、クッキー拒否ブラウザでは正確な情報は取得できませんのでご承知おきください。

前バージョンと変更点
一般に出回っているアクセス解析ツールよりも個人の特定が容易になりました。
キャッシュリンク制御機能
アクセス者拒否機能
ユーザーアクセス時アラート機能
ユーザーアクセス時メールお知らせ機能
アクセスログリンクからの偽装機能
Whois、ポートスキャン、Traceroot、Pingページの追加
閲覧時間の取得・集計
ダウンロードファイルログ取得対応
アクセスログ表示項目カスタマイズ機能
エクセル表示の追加
各集計結果グラフ表示
お気に入り登録者表示、集計機能
ユーザー名登録表示、集計機能

特徴
異ドメインからでもアクセス収集可能なアクセスログ解析ツール
ログ収集方法
アクセス時JAVASCRIPTにてイメージをロードし書き込み
お気に入り登録時イメージをロードし書き込み(IEのみ)
アンロード時JAVASCRIPTにてXMLコンポーネントにより書き込み
クッキー制御JAVASCRIPTにてロード・セット。
(サードパーティクッキーの発行をしないので、取得を容易にしました)
ログ一覧解析方法データバインド(CSV)をPHPにて生成しDHTMLコンポーネントでロード表示

設置方法
1.アプリケーションの設置
ZIPフォルダ内には以下のファイルが含まれています。
accesslog.zip
	|-45のファイル

	|-images
		|-bg1c2.gif
		|-wak1.gif
		|-closebutton1.gif
		|-closebutton2.gif

	|-whois	
		|-jcode.pl
		|-whois_list.cgi	注1 送信後、パーミッションを0755に変更

	|-class
		|-accessAction.phl
		|-accessFile.phl
		|-cacheStr.phl
		|-makeFileName.phl
		|-userStr.phl
		|-searchBrowser.phl
		|-searchStr.phl
		|-whoisStr.phl

	|-設定方法
		|-設定方法.html
		|-start1.jpg
		|-loacal_list.jpg
		|-exep.html

1-1 サーバーの任意のディレクトリ内に「設定方法」以外のフォルダ、ファイルをすべて転送します。
    (画像ファイル以外はすべて'テキスト'で送信してください)
1-2 任意のディレクトリフォルダのパーミッションを 777 にします。
1-3 任意のディレクトリフォルダ内にある、[whois]フォルダ内の[whois_list.cgi]のパーミッションを755にします。
1-4 WEB上から log_list.php にアクセスします。(このような画面が表示されます)
1-5 設定画面が表示されますので、下記テキストボックスに入力した後、送信します。
    ログディレクトリ名 :ログを保存するフォルダです。
    作業ディレクトリ名 :ログを生成し出力するフォルダです。
    タイトル表示スタート位置 :ページタイトルを先頭から設定数削除します。
    ⇒ログリスト内にある「ページタイトル」表示の際、効果を発揮します。
    ⇒ページタイトルが「NoiZ 備忘録 ::Programmer's Essay | アクセスログ」の場合、スタート位置を「32」と
    設定すれば「アクセスログ」となります。
    連絡用アドレス :パスワードを忘れた場合、設定したメールアドレスへ送信します。

    パスワード、ログディレクトリ、作業ディレクトリ名 は必須です。 半角英字で入力してください。
    なお、相対パス、絶対パスを含める設定は禁止です。 必ず半角英文字だけの設定でお願いします。
    「EMAILアドレス」の入力は必須ではありませんが、パスワード、設定情報をメールでお知らせしますので
    お勧めです。
    (設定イメージ 参照)
設定後のサーバーディレクトリパーミッション
設置した任意のフォルダ0777
|-class0755
|-images0755
|-whois 0755
   |-whois_list.cgi0755※パーミッションを0755へ変更してください 注1
|-任意入力したログディレクトリ名0777新規に作成されるディレクトリ
|-任意入力した作業ディレクトリ名0777新規に作成されるディレクトリ
|-option0777新規に作成されるディレクトリ
|-log_set.php0644新規に作成される設定ファイル
|-その他41のファイル0644

2.ログ解析設置
[1 アプリケーションの設置]にて正常に完了すると、設置タグが表示されますので、設置するページの</BODY>タグ前に貼り付けてください。
また、連絡用アドレスを入力していれば、メールにて設置タグ案内が送信されています。
以下はその内容です。

例:サーバー直下にaccessフォルダを作りそこにファイルを置いた場合
設定が完了しました。
下記タグをログを取りたいページに貼り付けてください。
<span id="dummy"></span>
<form name="dummyFrm">
<input type="hidden" name="dummyTxt"><img name="dummyimg" width="0" height="0">
</form>
<script type="text/javascript" src="http://noiz.jp/access/access.php"></script>
<noscript>
<img src="http://noiz.jp/access/noscript.php" style="height:0px;width:0px;VISIBILITY: hidden" width="0" height="0" />
</noscript>

なお、初期設定の変更は下記リンクで変更可能です。
http://noiz.jp/access/log_list.php?mode=s
ログページへのアクセスは一度ブラウザを閉じてアクセスしてください。

⇒ noiz.jp 部分があなたのサイトになっています。
上記のログ取得タグが貼り付いているページ内でダウンロードファイルのログを取ることも可能です。
下記のように書いてください。
<a href="javascript:fileSend('ダウンロードさせるURL')">down</A>
または
<input type="button" value="ダウンロード" onclick="fileSend('ダウンロードさせるURL')">
例:http://noiz.jp/uso.php をダウンロードさせたい場合
<a href="javascript:fileSend('http://noiz.jp/uso.php')">download</a>
というような書き方です。

設定例

以上です。
log_list.php にアクセスしてください。
アクセスがあるのにかかわらず、本日分が表示されない場合はサーバーに設置した各フォルダのパーミッションを確認してください。
注1 whois_list.cgi について
ロリポップ用に作成してあります。送信後、パーミッションを0755に変更してください。
ロリポップサーバー以外の設置で、表示されない場合は、「whois_list.cgi」のソースの、#!/usr/bin/perl 部分をご使用のサーバーに合わせて変更してみてください。
コマンドラインが同じであれば表示されますが、表示されない場合には別の方法(crsnic.net経由)での表示も可能ですので、その際にはご連絡ください。

使用方法
1.閲覧
表示リンク色の青のリンクは詳細画面をロードすることを意味し、緑のリンクは外部ページを表示することを意味しています。
表示期間の指定部分に0と入力すれば、本日までをロードします。
⇒設定を「2006年10月01日 期間0日」とした場合、2006年10月01日から本日までをロード。
閲覧時間の取得は、取得できないブラウザ(OPERA)があります。
また、閲覧者がアクセス後、通信を切断し終了した場合や、IFRAMを無効としている場合など取得できませんので、ご承知おきください。
なお、閲覧時間の集計(平均閲覧時間等)では取得できなかったログ(0秒)をカウントせず計算しています。
一覧リストの内容主な取得方法
日時アクセスした時間PHP内部
PageアクセスページJavaScript
IPアクセス者のIP番号PHP内部
リンク元アクセス者のリファラ情報JavaScript
検索文字サーチエンジンからの入力内容JavaScript
OS(Browser)ユーザーのOSとアクセスブラウザPHP内部
UserID初回訪問時間のUnixのタイムスタンプPHP内部
HostNameアクセス者IPから導いたホスト名PHP内部
ページタイトルアクセスページのタイトルJavaScript
総アクセス数アクセスロード回数クッキー
前回アクセス日最終訪問日時クッキー
画面解像度モニタ画面解像度JavaScript
閲覧時間ページアクセス経過時間JavaScript
リピート日数一日1回のカウンター ゆえに、1以上はリピータクッキー
初回訪問日初訪問日時クッキー
UserAgentユーザーエージェント情報PHP内部

2.変更
log_list.phpへアクセスし、ログインします。
ログイン後、URLを[log_list.php?mode=s]とし、アクセスします。
初期設定画面が表示されますので、1-5 に基づいて設定してください。
なお、ログディレクトリ等の場所を変更しても、以前のディレクトリは削除されませんので手動で削除してください。

3.オプション設定
パスワードを入力し、OptionSetUpボタンをクリックするか、ログイン後、左上にあるアイコン(AccessLog文字の左隣)をクリックします。
見たままの機能ですが、JAVASCRIPTで制御している関係上、Script無効のブラウザでのアクセスには動作しませんのでご注意ください。
拒否指定文字からのアクセスを入力した「飛び先URL」へ飛ばします。
ログ指定文字からのアクセスはログに残しません。
通知指定文字からのアクセスがあった際、「通知先EMAIL」へどのページにアクセスがあったかをメールを送信します。
案内指定文字からのアクセスがあった際、1度だけ入力したメッセージをアラートで表示します。
偽装ログリストからのリンクをサーバー経由でアクセスします。
ただし、このログ解析では通用しませんのでご注意ください。
指定キャッシュ先URLから飛んできた際、入力した「指定URL」へ飛ばします。
キャッシュリンク制御の「キャッシュ先URL」は下記設定を参考にしてください。
http://66.102グーグルキャッシュ
http://72.14グーグルキャッシュ
http://cc.msnscache.com/ MSNキャッシュ
http://cache.yahooヤフーキャッシュ
その他
http://kids.goo.ne.jp/キッズgooサーチ
http://www.excite.co.jp/world/エキサイト翻訳
例 グーグルキャッシュからたどって来たユーザーを http://essay.noiz.jp/ に飛ばしたい
指定URLhttp://essay.noiz.jp/
キャッシュ元URLhttp://72.14.253.104/ もしくは http://72.14.253 等入力します。
なお、オプション設定の拒否、ログ、通知、案内の指定文字は「含み文字」です。
たとえば、Agent欄に MSIE だけを入力すれば、MSIE 6.0も MSIE 7.0も同様に扱われます。

応用例:UserID 1159390465アクセス時、hoge@hoge.boo メールを受け取る。
アクセス者には「ありがとう」とメッセージを表示(一日1回のみ)し、http://hogehoge/thanks.htmlへ誘導させる
オプション画面内
拒否項目:UserID拒否文字列:1159390465 飛び先URL:http://hogehoge/thanks.html
通知項目:UserID通知文字列:1159390465 通知先EMAIL:hoge@hoge.boo
案内項目:UserID案内文字列:1159390465 メッセージ:ありがとう
注:飛び先URL(thanks.html)内にアクセスタグが設置されていると、ユーザーはthanks.htmlから抜け出すことが出来ませんので注意してください。

4.ユーザー登録
UserID番号に任意の名称とコメントを入力することで、気になるアクセス者をひと目で見分けがつくようにしたものです。
ここに登録されたUserはUserList内で表示させることができ、User個別ログ及び集計がご覧いただけます。
登録方法
AccessLog画面内のUserIDをクリック⇒ユーザー詳細画面内上部の「ユーザー名設定」をクリック⇒任意の値を入力します。
AccessLog タイトルをクリックするとUserモードとなります。
なお、あるアクセス者(IEのみ)がお気に入り登録しますと、Userモード画面内で、お気に入り登録者リストを表示させることが可能となります。

以前のバージョンとの互換性について
以前使用されていたLogファイルはそのままお使いになれます。 また、このアプリケーションを設置の際、ログフォルダを以前のフォルダと同じくしても、削除されることはありませんのでそのまま設置が可能です。
今回のすべてのファイルを上書きしていただき、「設置方法」の手順で設置が可能です。
ただし、今回新規に追加された項目については、以前のファイルからは表示できませんので、ご了承ください。
表示されない項目
ページタイトル、前回アクセス日、総アクセス数、UserID、閲覧時間、リピート日数、初回訪問日、画面解像度 となっております。
なお、ベータ版からのご使用ユーザーは、ファイルを上書きしたあと、作業ディレクトリ内のファイルをすべて削除していただくことをお勧めします。

今後の開発について
2.0以降のバージョンではMACユーザーのためにログリストはデータバインド+DHTMLではなく、AJAX(XML+JAVASCRIPT)版を作成しようかと思っています。
機能面に関しては、「検索サイトからの検索文字を判断して、指定したページに誘導させる」機能や、「強制アクセスリンク」(バックグランドで任意のサイトへアクセスさせたようにふるまう。⇒バックグランドでランキング等のリンクをたどるようにする)等の機能や、お気に入りからのユーザーアクセスアクションを強化したいとも思っています。

最後に
このプログラムの使用に際し、なんらかの不利益が生じた場合、当方では責任を持てませんので自己責任での使用をお願い致します。
このツールに関するご不明な点、異常等があれば下記のアドレス、もしくは、下記ブログまでご一報ください。
お気軽にどうぞ。

EMAIL:noiz@noiz.jp
ブログ:http://essay.noiz.jp/


変更履歴
日付変更内容バージョン
2006年09月03日簡易版 AccessLog リリースVer1.0
2006年10月17日ベータ版 AccessLog リリースVer2.0 Beta1.0
2006年10月19日ログリスト表示項目:非表示追加
検索の際、()や、<>等の文字を含むと検索できない問題を修正
Ver2.0 Beta1.0.a
2006年10月20日ログリスト表示項目:クッキーによる設定記憶追加 Ver2.0 Beta1.0.b
2006年10月31日 閲覧時間取得:FireFox2.0ローカルキャッシュ対応
検索エンジン解析:www.live.com追加
ログリスト表示:キャッシュサイトからのリンク表示エラーを修正
お気に入り:お気に入り登録の際、別ログファイルに残すよう機能追加
Ver2.0 Beta2.0
2006年11月14日 ユーザーリスト,お気に入り登録者リスト,削除機能を追加し、Beta版から正規版としリリース Ver2.0
Thanks:湯沢原さん、DeskTopさん、うじきさん、みしょろさん、CoolWhoisさん、色々ご提案いただき感謝です。
またのご連絡お待ちしております。