#!/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