トップページのアクセス制限がしたいです

[上に] [前に] [次に]
poti 1999/03/30(火) 19:19:35
いたずらされて困っています・・・。

いたずらする人にどうしてもトップページを読ませたくないです。そこで、
#! /usr/local/bin/perl

&hostcheck;
sub hostcheck{
local($host_file,$remote_host,$line);
local(@lines);
$host_file = './host.dat';
$host=$ENV{'REMOTE_HOST'};
open(DB,"$host_file") || die "Cannot Open Log File $host_file: $!";
@lines = (DB);
close(DB);
foreach $line (@lines) {
next if(length($line)(4);
chop $line;
if( $host=~/$line/ ){print "Content-type: text/html\n"
print "Location: http://www.monbu.go.jp/\n\n";
exit;}
}
}#hostcheck END

というのをkill.cgiという名前にして、トップページから
<!--#exec cgi="kill2.cgi"-->と書いて
SSIで呼び出すようにしたのですが、どうしてもうまく働きません。
特定人物のホストを書いたhost.datはきちんと設置しています。
うまく機能したら、制限対象者だけが文部省に飛ぶはずなのですが
自分で試してもとびませんでした。
if( $host=~/$line/ ){print "Content-type: text/html\n"
print "Location: http://www.monbu.go.jp/\n\n";
のあたりは自分で改造したので、間違ってるとしたらここだと
思うのですが・・・。
長々とすいません。よろしくお願いいたします。


ふじ 1999/03/30(火) 21:15:49
>@lines = (DB);
これ、あやしい。
@lines = <DB>
では?

匿名希望 1999/04/01(木) 11:18:04
リダイレクトするのに、Content-typeはいらないんじゃない?

匿名希望 1999/04/01(木) 11:27:33
あ、ちょっと待ち。上の発言なしね。(^_^;)
SSIって言った?CGIじゃないんだよね?
したら、既にHTMLになってるんだから、
Content-typeとかLocationはダメだよね。
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://www.monbu.go.jp/">
とかをprintしましょう。

[上に] [前に] [次に]