IPドメイン来訪者ログ

( 貴方が自サイト内に無料で作れる来訪者解析ログ )
[  Ver 1.0  ]
 by ip-domain-search.com
IPドメインSEARCH IPドメインLOOKUP IPドメイン半自動 IPドメイン来訪者ログ WWWサーバへ渡す情報
ドメイン基礎講座 独自ドメインの取得 自社(宅)サーバの構築 複数ドメインの運用 お問合せ・PROFEEL


CGIアプリ(my_log.cgi)の上級者用オプション設定
上級者の方で来訪者のもっと多くの情報を知りたいと思っておられる方の為の頁です。

先の頁で得られた来訪者情報は「アクセス元のIPアドレス」と「使用ブラウザ名とバージョン」のみでした。
(環境変数名で言うと「REMOTE_ADDR」と「HTTP_USER_AGENT」のみでした。)



  ###############################
  # 来訪者のIPアドレス等の情報を得る
  ###############################

my $r_addr = $ENV{'REMOTE_ADDR'};
     #アクセス元のIPアドレス
my $user_agent = $ENV{'HTTP_USER_AGENT'};
     #使用ブラウザ名とバージョン
my $log_data = "$r_addr,$user_agent,0\n";
     #来訪者毎のログ内容(1行)


もっと多くの情報を得る事が可能です。

(詳しくは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は最後に入れるほうが良い様に思われます。


以上、有効にご活用下さい。

動作不良が起こった場合はEメールでお知らせ下さいますようにお願い申し上げます。

Copyright(c) {{year}} ip-domain-search.com  All rights reserved.

IPドメインSEARCH IPドメインLOOKUP IPドメイン半自動 IPドメイン来訪者ログ WWWサーバへ渡す情報
ドメイン基礎講座 独自ドメインの取得 自社(宅)サーバの構築 複数ドメインの運用 お問合せ・PROFEEL
include virtual="./index_srch.cgi/VSTO"-->