Home  >  Article  >  Backend Development  >  Chat room based on PHP (3)_PHP tutorial

Chat room based on PHP (3)_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:23:06911browse

PHP-based chat room (3)
Source: limodou
Author: Mike Hall
Translator: limodou
Now we have files that need to be cross-referenced through the $REMOTE_ADDR variable so that we can distinguish Check 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;
}
}
? >
The exit command will immediately stop the execution of the script. . 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 Replace if 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 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.
$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 with Do the same with the message file, so 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).
Give it a try, experience the fun, and get some experience. That's how I started in PHP and now I've made a career out of it.
Happy chatting!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/532273.htmlTechArticleChat room based on PHP (3) Source: limodou Author: Mike Hall Translator: limodou Now we have a need Cross-reference files via the $REMOTE_ADDR variable so we can distinguish...
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