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