05/01/29 16:57:47
>594-595
俺もperlをちょこっといじって遊んでるくらいの人間なんで、あんま自信ないけど・・・
if ($deny[0]) {
local($flag)=0;
foreach (@deny) {
#↓これは、@denyから取り出した内容($_)が空('')だったらループ抜け、だと思
if ($_ eq '') { last; }
$_ =~ s/\*/\.\*/g;
if ($host =~ /$_/) { $flag=1; last; }
#↑アクセスした人のホスト($host)に@denyから取り出した内容($_)が
#↑含まれていたら$flagの値を1にしてループを抜ける
#↑つまり「$flag==1なら拒否」
# これを「$flag==1なら許可」に変えたい → 言い換えると「$flag=!1なら拒否」
}
if ($flag=!1) { &error("許可されていないアクセスです!") }
#↑ということでここをこう変更すればいけるんでは?
}
ただ「特定のIPからの制限」なら、$hostじゃなくて$addrにするべきなんじゃ?って気がするけど