>>230 # PHOST がどんな形式で格納されているのか判らないので想像で。
if (!open(PHOST,"<$pxck")) { return 0;}
my @PIP = <PHOST>;
close(PHOST);
foreach(@PIP){
chomp;
# PHOST が "ipbf\d\dhodogaya\.kanagawa\.ocn\.ne\.jp" という形で格納されているならばこのまま。
# PHOST が "ipbf**hodogaya.kanagawa.ocn.ne.jp" という形で格納されているならば、次の 2 行の # を外す
# s/\./\../g;
# s/\*/\\d/g;
if($HOST999 =~ /$_/i) { DispError("ERROR!","アクセス規制中です!!($_)");}
}
>>234 # ぁゃιぃ %ENV をすべて採取する仕組みに。
# ぁゃιぃ %ENV があれば串規制に飛ばしても良さそうな。。。
$HOST = gethostbyaddr(pack('c4',split(/\./, $ENV{'REMOTE_ADDR'})), 2) || $ENV{'REMOTE_ADDR'};
foreach my $prox_value ($ENV{'HTTP_X_FORWARDED_FOR'},$ENV{'HTTP_FORWARDED'},$ENV{'HTTP_VIA'}){
next if defined $prox_value;
if ($prox_value =~ /\d+\.\d+\.\d+\.\d{1,3}/) {
$HOST2 .= sprintf(qq/,%s/,gethostbyaddr(pack('c4',split(/\./, $&)), 2) || $&);}
elsif ($prox_value =~ /[\s\/]([\w]+\.[\w\.]+):\d/) {
$HOST2 .= ",$1";}
}
IN OUTの仕様を仰有ってくれればそれなりにそそくさと書いてみますけれども。。。