Works240.net

Web道具箱:アクセスログ取得CGI

Webページにimgタグで画像の代わりに埋め込むタイプのCGIです。
JavaScriptによりWebクライアント側で取得した情報をCGIのパラメータとして渡し、PerlのCGIによりWebサーバー側の情報を取得して、サーバー上にCSV形式のファイルとしてアクセスログを記録します。現在の所、アクセス解析のツールは用意していませんので、ログファイルをダウンロードして、パソコン側で処理する必要があります。

特徴

サーバー側のファイル更新処理時間(特に排他待ち)によりクライアント側が待たされない様に、ログデータの編集とファイルへの書き込み処理は非同期処理とし、直ちにレスポンスを返します。

動作確認環境

サーバー側OS:Fedra Core 5 , Cent OS 5
サーバー側言語:Perl 5.8

主な仕様

アクセスログとして記録している情報は以下の通りです。
項目情報源型/書式
現在日時(年月日 時分秒)localtime() / Perlyyyy/mm/dd hh:mm:ss
現在時刻(マイクロ秒)Time::HiRes::gettimeofday() / Perl整数値
WebページURLdocument.URL / JavaScript
および
HTTP_REFERER / CGI環境変数
文字列
クライアント時刻getTime() / JavaScript16進数
JavaScript可否scriptタグとnoscriptタグによる固定値Y/N
クライアントIPアドレスLOCAL_ADDR / CGI環境変数000.000.000.000
ポート番号SERVER_PORT / CGI環境変数整数値
サーバーIPアドレスREMOTE_ADDR / CGI環境変数000.000.000.000
言語HTTP_ACCEPT_LANGUAG / CGI環境変数文字列
ユーザーエージェントHTTP_USER_AGENT / CGI環境変数文字列
クライアント画面サイズ:幅screen.width / JavaScript整数値
クライアント画面サイズ:高さscreen.height / JavaScript整数値
クライアント色数(ビット数)screen.colorDepth / JavaScript整数値
ウィンドウサイズ:幅window.innerWidth / JavaScript
あるいは
document.body.clientWidth / JavaScript
整数値
ウィンドウサイズ:高さwindow.innerHeight / JavaScript
あるいは
document.body.clientHeight / JavaScript
整数値
リンク元URLdocument.referrer / JavaScript整数値

資料

ソース、および、関連資料の公開は準備中です。


Copyright© 2008-2011 Works240 All Rights Reserved.