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行)
##################################
# 以上、(来訪者には関係のない)サーバー内の情報も多くありますので必要な環境変数をお選び下さい
|