Now we have the file that needs to be cross-referenced via the $REMOTE_ADDR variable so we can distinguish whether the user who wants to post has been banned or not. Very simple:
for ($counter=0;$counter
print("".
"You have been banned from this chat");
exit ;
}
}
?>
The exit command will stop the execution of the script immediately. Before starting processing of the passed variables, insert a check for the blocked user so that the blocked user cannot use the chat room.
A better way to solve the problem of dynamic IP addresses in some cases is to check the range of the IP address block. A simple function can easily implement it.
function makeMask($ip) {
// remember to escape the . so PHP doesn't think it's a concatenation
$ip_array = explode(".", $ip );
$ip_mask = "$ip_array[0].$ip_array[1].$ip_array[2]";
return $ip_mask;
}
?>
Then we Replace the if in the loop with
for ($counter=0;$counter
print("".
"You have been banned from this chat< /font>");
exit;
}
}
?>
We have protection measures for dynamic IP addresses.
Finally we need a way to get the troublesome IP first. My implementation is to log $name and $REMOTE_ADDR into a file called
iplist.html. For a separate, secret URL, I can monitor the IP address while browsing the messages. This can have the added benefit of being able to detect counterfeiters - the most common crime in these places.
The creation methods of iplist.html and messages.html are basically the same. First, take the current value out of iplist.html. We strip off the header information, footer and old IP record, and then create a new record, new header information, and new footer. To make the layout clearer, I used tables.