www.pudn.com > coolchat.zip > chatdenyip.pl
sub chatdenyip
{
&get_form_data;
$formdata{'ToWho'} =~ s/[^\d.]//g;
$formdata{'message'} =~ s/\D//g;
$actstate = $formdata{'message'};
$actstate =~s/\D//g;
unless($formdata{'ToWho'} =~ m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/g)
{
&chatshowmsg;
exit 0;
}
if(($UserData{'Room'} eq "main") && ($UserData{'Group'} ne 99))
{#Only root can deny ip from main room!
&chatshowmsg;
exit 0;
}
MyDo $do_chatcheckmaster;
if ((&checkmaster($UserData{'User'},$UserData{'Room'}) ne 0)&&($UserData{'Group'} ne 99))
{#See wether the quest is come from the right user
&chatshowmsg;
exit 0;
}
my $forbidipfile = "$ChaTempFilePath$UserData{'Room'}.ip";
&lock("$forbidipfile");
if($actstate eq 0)
{
if(open(FDB,">>$forbidipfile"))
{
print FDB "$formdata{'ToWho'}\n";
close FDB;
$message = "$UserData{'Nick'}($UserData{'User'}) 阻止 IP:$formdata{'ToWho'} 进入这个聊天室!";
}
}
else
{
if(open(FDB,"$forbidipfile"))
{
@lines = ;
close FDB;
if(open(FDB,">$forbidipfile"))
{
foreach $line(@lines)
{
chomp($line);
print FDB $line if($line ne $objid);
}
close FDB;
}
$message = "$UserData{'Nick'}($UserData{'User'}) 允许 IP:$formdata{'ToWho'} 进入这个聊天室!";
}
}
&unlock("$forbidipfile");
&UpdateChatData(10, $UserData{'User'},$UserData{'Room'},$UserData{'Nick'},$message);
&chatshowmsg;
}
1; #return true