#!/usr/bin/perl #!/usr/local/bin/perl #!c:/perl/bin/perl.exe #!c:/program files/perl/perl.exe # 設置サーバーに合わせ先頭にコピーする #*************************************************************** # CGI-SPYCGI Construction Sapports Software # copyright(C)2002 SCOPE software design # フリーソフト (著作権は放棄していません) #--------------------------------------------------------------- # * 書換え厳禁!サポートは受けられません # * あくまでCGI設置の目安としてお使いください #*************************************************************** # 設定は必要ありません $Ctableef='width=100% border=1 cellpadding=4 cellspacing=0'; $Chdcolor='#d0d0e0'; $Ctdcolor='#ffffff'; $CVer='0.1.0'; ############### 処理 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime time;if($year>50){$year+=1900}else{$year+=2000} $mon++;@wdayls=qw(日 月 火 水 木 金 土);@mmday=(31,28,31,30,31,30,31,31,30,31,30,31); $datenow=sprintf("%04d年%02d月%02d日(%s)",$year,$mon,$mday,$wdayls[$wday]); $timenow=sprintf("%02d時%02d分%02d秒",$hour,$min,$sec); $o="Content-type: text/html;charset=euc\n\n"; $o.=< CGI-SPY Ver.$CVer EOF $o.="

"; $o.="CGI-SPY"; $o.="CGI Construction Sapports Software Version $CVer"; $o.="


"; $o.="CGI設置に困った時にお助けになる情報をかき集めてきます。
"; $o.="

収集した情報"; $o.=""; # TIME $o.=""; # DOCUMENT_ROOT $o.=""; # PATH $o.=""; # SCRIPT_NAME $o.=""; # SERVER_NAME $o.=""; # SERVER_PROTOCOL $o.=""; # SERVER_SOFTWARE $o.=""; # GATEWAY_INTERFACE $o.=""; # HTTP_USER_AGENT $o.=""; # SENDMAIL $o.=""; # NKF $o.=""; $o.="
"; $o.="サーバー時間"; $o.=""; $o.="$datenow $timenow"; $o.="
"; $o.="ウェブルートパス"; $o.=""; $o.="$ENV{'DOCUMENT_ROOT'}"; $o.="
"; $o.="このCGIまでのパス"; $o.=""; $vl=$ENV{'SCRIPT_FILENAME'};$vl=$0 if!$vl; $o.="

$vl"; $o.="

"; $o.="ウェブルートから"; $o.=""; $o.="$ENV{'SCRIPT_NAME'}"; $o.="
"; $o.="サーバーホスト名"; $o.=""; $o.="$ENV{'SERVER_NAME'}(連絡先:$ENV{'SERVER_ADMIN'})"; $o.="
"; $o.="プロトコル"; $o.=""; $o.="$ENV{'SERVER_PROTOCOL'}"; $o.="(ポート番号:$ENV{'SERVER_PORT'})"; $o.="
"; $o.="ウェブサーバー"; $o.=""; $o.="$ENV{'SERVER_SOFTWARE'}"; $o.="
"; $o.="CGI仕様"; $o.=""; $o.="$ENV{'GATEWAY_INTERFACE'}"; $o.="
"; $o.="ブラウザ"; $o.=""; $o.="$ENV{'HTTP_USER_AGENT'}"; $o.="
"; $o.="SENDMAIL"; $o.=""; $vl='/usr/sbin/sendmail';if(-e $vl){$o.=$vl} $o.="(メール送信コマンド)"; $o.="
"; $o.="NKF"; $o.=""; $vl='/usr/bin/nkf';if(-e $vl){$o.=$vl} $o.="(漢字コード変換コマンド)"; $o.="
"; $o.="コマンドの情報は、一般的な場所を捜索し存在した場合に表示します。"; # etc.. @Cetcenv=qw(DATE_LOCAL DOCUMENT_NAME LAST_MODIFIED CONTENT_LENGTH CONTENT_TYPE REQUEST_METHOD SERVER_BLOCKSIZE TZ REMOTE_ADDR REMOTE_HOST REMOTE_USER REMOTE_PORT HTTP_REFERER AUTH_TYPE PATH_TRANSLATED HTTP_FROM HTTP_ACCEPT HTTP_VIA HTTP_FORWARDED HTTP_CACHE_INFO HTTP_X_FORWARDED_FOR HTTP_CACHE_CONTROL HTTP_PROXY_CONNECTION HTTP_XONNECTION HTTP_XROXY_CONNECTION HTTP_X_LOCKING HTTP_CLIENT_IP); $o.="

その他環境変数など"; $o.=""; foreach(@Cetcenv){ $o.=""; } $o.="
"; $o.="$_"; $o.=""; $vl=$ENV{$_};$vl=' 'if!$vl; $o.="$vl
"; # FILE LIST @list=glob("./*"); $o.="

このディレクトリー内のファイル一覧"; $o.="(ファイル総数:".(scalar@list).")"; $o.=""; $o.=""; $o.=""; $o.=""; $o.=""; $o.=""; $o.=""; foreach(@list){ @stat=stat; $o.=""; } $o.="
ファイル名種類権限サイズ
"; $o.="$_"; $o.=""; $flmod=sprintf("%lo",@stat[2]); $vl=substr($flmod,-5,2); $tmp=$vl; $tmp='ファイル'if$vl eq'00'; $tmp='ディレクトリ'if$vl eq'40'; $o.=$tmp; $o.=""; $vl=substr($flmod,-3,3); $o.=$vl; $o.=" "; if($stat[7]){$o.=(int($stat[7]/1024)+1)."K($stat[7]Byte)"} $o.="
"; $o.="権限は左桁からオーナー、グループ、他人です。4:読込可、6:読書可、7:読書実行可です。通常は、グループと他人の項は一緒にしてください。安全性上、必要なファイルのみ書き込み可にしてください。"; $o.="

どうしても動作しない場合は、最終手段として一時的にのみ権限を777にして確かめてください。"; $o.="


"; $o.="
Copyright(C) 2002 SCOPE software design
"; $o.=< EOF print$o;