Home >Backend Development >PHP Tutorial >PHP Tutorial.Application Example 18_PHP Tutorial

PHP Tutorial.Application Example 18_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 17:25:50775browse

PHP-based chat room (3)
Now we have files that need to be cross-referenced through the $REMOTE_ADDR variable, so that we can distinguish whether the user who wants to post has been banned or not. Very simple:
for ($counter=0;$counter if ($banned_array[$counter] == $REMOTE_ADDR) {
print("".
"You have been banned from this chat
");
exit;
}
}
?>
exit command Will stop 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 its a concatenation
$ip_array = explode(".", $ip);
$ip_mask = "$ip_array[0].$ip_array[1].$ip_array[2]";
return $ip_mask;
}
?>
Then we put the if replaced with
for ($counter=0;$counter
if (makeMask($REMOTE_ADDR) = = makeMask($banned_array[$counter])) {
print("".
"You have been banned from this chat
");
exit;
}
}
?>
We have protection against dynamic IP addresses
Finally we need a way to get the IP in trouble first. My implementation is to record $name and $REMOTE_ADDR. to a file called
iplist.html. For a separate, secret URL, I can monitor the IP address while browsing the messages. This has the added benefit of being able to detect impersonators - The most common "crimes" committed 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, and we peel off the header information, headers and old ones. IP record, then create a new record, new header information, new footer. To make the layout clearer, I use a table.
$header = " "; $footer = "
"; $new_ip = "$name$REMOTE_ADDR ";
$ip_array = file("iplist.html");
for ( $counter = 1; $counter $old_ips.= $ip_array[$counter]; ?>
Simply write the contents to disk as we did for the message file , so that we have a web chat room. Has better cross-platform compatibility than Java, and requires nothing more than a web browser - I've heard even the Dreamcast works this way!
There are a few things you might want to try doing yourself, including merging some common code snippets into functions, writing a script that automatically adds troublemakers to the target list, and writing a regex expression that scans for messages. URLs and e-mails in the text and automatically convert them into links (like Outlook Express and ICQ do).


http://www.bkjia.com/PHPjc/532024.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/532024.htmlTechArticleChat room based on PHP (3) Now we have the files that need to be cross-referenced through the $REMOTE_ADDR variable, like this We can distinguish whether the user who wants to post has been blocked or not...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn