もっと多くの情報を得る事が可能です。
(詳しくはIPドメインSEARCH内の
『ドメイン基礎講座』
および
『(ブラウザが)WWWサーバへ渡す情報』
をご参照下さい。 )
my $r_addr = $ENV{'REMOTE_ADDR'};
#アクセス元のIPアドレス
my $user_agent = $ENV{'HTTP_USER_AGENT'};
#使用ブラウザ名とバージョン
my @option;
$option[0] = $ENV{'HTTP_REFERER'};
#リンク元のURL
$option[1] = $ENV{'REQUEST_URI'};
#要求した頁のアドレス
#########################
#以下は空の情報も多いですが
$option[2] = $ENV{'AUTH_TYPE'};
#認証方式
$option[3] = $ENV{'CONTENT_LENGTH'};
#標準入力の場合のバイト数
$option[4] = $ENV{'CONTENT_TYPE'};
#MIME形式の情報
$option[5] = $ENV{'DATE_GMT'};
#GMT時刻
$option[6] = $ENV{'DATE_LOCAL'};
#LOCAL時刻
$option[7] = $ENV{'DOCUMENT_NAME'};
#当該ページのファイル名
$option[8] = $ENV{'DOCUMENT_PATH'};
#当該ページのファイルパス
$option[9] = $ENV{'DOCUMENT_ROOT'};
#HTMLファイルの基準パス
$option[10] = $ENV{'DOCUMENT_URI'};
#HTMLファイルのDOCUMENT_ROOTからの相対パス
$option[11] = $ENV{'GATEWAY_INTERFACE'};
#CGIのバージョン
$option[12] = $ENV{'HTTP_ACCEPT'};
#サーバーが許可したデータ形式
$option[13] = $ENV{'HTTP_ACCEPT_CHARSET'};
#サーバーが許可した言語セット
$option[14] = $ENV{'HTTP_ACCEPT_LANGUAGE'};
#サーバーが許可した言語
$option[15] = $ENV{'HTTP_COOKIE'};
#クッキー情報
$option[16] = $ENV{'HTTP_HOST'};
#サーバーのホスト名 (何時も空)
$option[17] = $ENV{'HTTP_USER_PATH'};
#使われている様子が無い
$option[18] = $ENV{'LAST_MODIFIED'};
#ファイルの最終更新時間
$option[19] = $ENV{'PATH_INFO'};
#パスの情報(CGIに文字列を送れる)
$option[20] = $ENV{'PATH_TRANSLATED'};
#絶対パスの情報
$option[21] = $ENV{'QUERY_STRING'};
#GET時にFormからCGIに送る文字列
$option[22] = $ENV{'REMOTE_HOST'};
#アクセス元のホスト名 (何時も空)
$option[23] = $ENV{'REMOTE_IDENT'};
#サーバーが取得したユーザー名
$option[24] = $ENV{'REMOTE_PORT'};
#クライアント側のポート番号
$option[25] = $ENV{'REMOTE_USER'};
#認証機能で得たユーザー名
$option[26] = $ENV{'REQUEST_METHOD'};
#サーバーへの要求方法(POST,GET)
$option[27] = $ENV{'SCRIPT_FILENAME'};
#CGIスクリプト名のフルパス表示
$option[28] = $ENV{'SCRIPT_NAME'};
#実行されているCGIスクリプトの名前
$option[29] = $ENV{'SCRIPT_URI'};
#スクリプトのURI
$option[30] = $ENV{'SERVER_ADMIN'};
#サーバー管理者
$option[31] = $ENV{'SERVER_NAME'};
#サーバーのホスト名
$option[32] = $ENV{'SERVER_PORT'};
#サーバーのポート番号
$option[33] = $ENV{'SERVER_PROTOCOL'};
#サーバーのプロトコル
$option[34] = $ENV{'SERVER_SOFTWARE'};
#サーバーのソフトの情報
$option[35] = $ENV{'USER_NAME'};
#サーバーのユーザー名
#############################
#プロキシ経由のアクセスに対する情報は以下です。
# (通常のアクセスでは空です)
$option[36] = $ENV{'HTTP_FORWARDED'};
#プロキシサーバーの情報や生IP
$option[37] = $ENV{'HTTP_X_FORWARDED_FOR'};
#プロキシサーバー経由の生IP
$option[38] = $ENV{'HTTP_VIA'};
#プロキシの種類・バージョン等
$option[39] = $ENV{'HTTP_PROXY_CONNECTION'};
#プロキシ関係の情報
$option[40] = $ENV{'HTTP_CACHE_INFO'};
#プロキシサーバーのキャッシュ情報
$option[41] = $ENV{'HTTP_CACHE_CONTROL'};
#プロキシサーバーへのコントロール情報
$option[42] = $ENV{'HTTP_X_LOCKING'};
#プロキシ使用時の生IP、
#またはリファラーなどの情報
$option[43] = $ENV{'HTTP_FROM'};
#プロキシ使用時の生IPなどの情報
$option[44] = $ENV{'HTTP_SP_HOST'};
#プロキシ使用時の生ホスト
$option[45] = $ENV{'HTTP_CLIENT_IP'};
#プロキシ使用時の生IP
############################
#初心者用のログデータは以下の通りでした。
############################
my $log_data = "$r_addr,$user_agent,0\n";
#来訪者毎のログ内容(1行)
############################
#プロキシ以外の全情報を得る場合の
ログデータは以下の通りに変更して下さい。
############################
my $log_data = "$r_addr,$option[0],$option[1],
$option[2],$option[3],$option[4],$option[5],
$option[6],$option[7],$option[8],$option[9],
$option[10],$option[11],$option[12],$option[13],
$option[14],$option[15],$option[16],$option[17],
$option[18],$option[19],$option[20],$option[21],
$option[22],$option[23],$option[24],$option[25],
$option[26],$option[27],$option[28],$option[29],
$option[30],$option[31],$option[32],$option[33],
$option[34],$option[35],$user_agent,0\n";
#来訪者毎のログ内容(1行)
############################
#プロキシを含んだ全情報を得る場合の
ログデータは以下の通りに変更して下さい。
############################
my $log_data = "$r_addr,$option[0],$option[1],
$option[2],$option[3],$option[4],$option[5],
$option[6],$option[7],$option[8],$option[9],
$option[10],$option[11],$option[12],$option[13],
$option[14],$option[15],$option[16],$option[17],
$option[18],$option[19],$option[20],$option[21],
$option[22],$option[23],$option[24],$option[25],
$option[26],$option[27],$option[28],$option[29],
$option[30],$option[31],$option[32],$option[33],
$option[34],$option[35],$option[36],$option[37],
$option[38],$option[39],$option[40],$option[41],
$option[42],$option[43],$option[44],$option[45],
$user_agent,0\n";
#来訪者毎のログ内容(1行)
##################################
# 以上、(来訪者には関係のない)サーバー内の情報も多く
ありますので、必要な環境変数をお選び下さい
|
(注)
$r_addrと$user_agent が最初と最後に分かれている理由は:
一般的にデータはコンマ[,]で区切る事が殆ど(.csv等)ですが、
HTTP_USER_AGENTの情報にはコンマ[,]が入っている事が多くありますので、
HTTP_USER_AGENTは最後に入れるほうが良い様に思われます。
|
以上、有効にご活用下さい。
|