#! /usr/local/bin/perl # # env.cgi - Environment variable checker # Script written by Kan-chan # Script available at: http://kan-chan.stbbs.net/download/ # # v1.0 First release # # usage: # 1. Modify the top of this script (/usr/local/bin/perl) if it is required. # 2. Add &subt() to add a subtitle, add &disp() to add an item # 3. Upload this file to your html directory. # 4. chmod this file. (705 or 755) e.g. chmod 705 env.cgi # $body = ""; print "Content-type: text/html\n\n"; print "\n"; print "\n"; print "環境変数\n"; print "\n"; print "$body\n"; print "

環境変数

\n"; print "\n"; &subt("各種情報"); &disp("QUERY_STRING", "CGIプログラムのパラメータ"); &disp("SERVER_SOFTWARE", "サーバのソ\フトウェア"); &disp("SERVER_NAME", "サーバ名"); &disp("SERVER_PROTOCOL", "サーバのプロトコル名"); &disp("SERVER_PORT", "サーバのポート番号"); &disp("REMOTE_HOST", "自分のホスト名"); &disp("REMOTE_ADDR", "自分のIPアドレス"); &disp("REMOTE_USER", "自分のユーザ名"); &disp("REMOTE_IDENT", "自分のユーザID"); &disp("REQUEST_METHOD", "データ取得手段。GETあるいはPOST"); &disp("CONTENT_LENGTH", "METHOD=POST時に標準入力で読込可能\なデータサイズ"); &disp("GATEWAY_INTERFACE", "ゲートウェイプロトコル名"); &disp("CONTENT_TYPE", "データ形式"); &disp("PATH_INFO", "CGIプログラムのパラメータ"); &disp("PATH_TRANSLATED", "PATH_INFOのURLに一致するシステムフルパス"); &disp("SCRIPT_NAME", "CGIプログラムのURL"); &disp("HTTP_ACCEPT", "ブラウザがサポートするデータ形式"); &disp("HTTP_USER_AGENT", "ブラウザに関する情報"); &disp("HTTP_REFERER", "参照元のURL"); &disp("AUTH_TYPE", "認証方式"); &subt("プロクシ関連"); if (($ENV{'HTTP_PROXY_CONNECTION'} ne "")||($ENV{'HTTP_CACHE_INFO'} ne "")||($ENV{'HTTP_VIA'} ne "")){ $forwarded_for = $ENV{'HTTP_X_FORWARDED_FOR'}; if ($forwarded_for =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)$/) { ($part1,$part2,$part3,$part4) = split(/\./,$forwarded_for); $IP = pack("C4",$part1,$part2,$part3,$part4); $real_host = gethostbyaddr("$IP", 2); } else{ $real_host = $forwarded_for; } print "
\n"; print "\n"; print "プロクシサーバ経由のアクセスです。
\n"; if ($real_host ne ""){ print "実際のアクセス元は次のものと思われます:$real_host\n"; } else{ print "実際のアクセス元は不明です。\n"; } } &disp("HTTP_FORWARDED", "?"); &disp("HTTP_X_FORWARDED_FOR", "?"); &disp("HTTP_PROXY_CONNECTION", "?"); &disp("HTTP_CACHE_INFO", "?"); &disp("HTTP_VIA", "?"); &disp("HTTP_CLIENT_IP", "?"); print "
\n"; print "


Env. checker v1.0

"; print "\n"; print "\n"; exit; sub subt{ $name = $_[0]; print ""; print "$name"; } sub disp{ $envname = $_[0]; $comment = $_[1]; print "\n"; print "\n"; print "$envname"; print "\n"; $str = "\$ENV{'$envname'}"; print eval($str); print "\n"; print "\n"; print $comment; }