#!/usr/bin/perl # ↑ 自分の環境にあわせる # # サーバ調査CGI Ver. 1.00 # 2002/09/27 # http://www.geocities.co.jp/AnimalPark-Pochi/9345/ # # ファイル名を hello.cgi にして動かす # # このファイル名 $cgi = "hello.cgi"; # 調査対象ディレクトリ(最後には必ず'/'をつける) @dir = ("/usr/bin/", "/usr/sbin/", "/usr/local/bin/", "/usr/local/sbin/", "/var/log/", "/" ); print << "END"; Content-type: text/html
END
print "http://" . $ENV{'SERVER_NAME'} . $ENV{'SCRIPT_NAME'} . "\n";
print "(ここのURL)\n";
print "\n";
print "SCRIPT_FILENAME = " . $ENV{'SCRIPT_FILENAME'} . "\n";
print "(ここのパス)\n";
print "\n";
print "SERVER_SOFTWARE = " . $ENV{'SERVER_SOFTWARE'} . "\n";
print "(このサーバの種類)\n";
print "\n";
@week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime(time);
$ldate = sprintf("%04d/%02d/%02d %s %02d:%02d:%02d",
$year+1900, $mon+1, $mday, $week[$wday],
$hour, $min, $sec);
($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = gmtime(time);
$gdate = sprintf("%04d/%02d/%02d %s %02d:%02d:%02d",
$year+1900, $mon+1, $mday, $week[$wday],
$hour, $min, $sec);
($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = gmtime(time+9*60*60);
$jdate = sprintf("%04d/%02d/%02d %s %02d:%02d:%02d",
$year+1900, $mon+1, $mday, $week[$wday],
$hour, $min, $sec);
print "グリニッジ標準時($gdate)\n";
print "現地時間($ldate)、日本時間($jdate)\n";
print "\n";
$pwd = crypt("abcde", "fg");
print "cryptの結果 = $pwd\n";
if ($pwd =~ /^\$1\$/) { print "(FreeBSDなんかで使われてるMD5形式)\n"; }
print "\n";
if (open(TEST, $cgi)) {
$lock = eval 'flock(TEST, 2)';
if ($lock) { print "flockが使えます\n"; }
else { print "flockが使えません\n"; }
close(TEST);
}
print "\n";
for ($i = 0; $i < @dir; $i++) {
if (opendir(DIR, $dir[$i])) {
print "$dir[$i]の中身\n";
while (defined($file = readdir(DIR))) {
if (-d $dir[$i].$file) { print " d"; }
else { print " _"; }
if (-r $dir[$i].$file) { print "r"; }
else { print "_"; }
if (-w $dir[$i].$file) { print "w"; }
else { print "_"; }
if (-x $dir[$i].$file) { print "x "; }
else { print "_ "; }
$size = -s $dir[$i].$file;
$size = sprintf("%09ld", $size);
print "$size ";
print "$file\n";
}
closedir(DIR);
}
else {
print "$dir[$i]をオープンできません\n";
}
print "\n";
}
print "\n";
print "\n";
print "\n";
exit