|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^教程|使用实例 基于PHP的聊天室(三)
如今咱们有了需求经由过程$REMOTE_ADDR变量来穿插援用的文件,如许咱们可以辨别出想要发贴的用户是不是已被扁或没有被扁。很复杂:
<?php
for ($counter=0;$counter<sizeof($banned_array);$counter++) {
if ($banned_array[$counter] == $REMOTE_ADDR) {
print("<font color="red" face="arial" align="center">".
"You have been banned from this chat</font>");
exit;
}
}
?>
exit号令将当即中断剧本的履行。在入手下手对传递过去的变量履行处置之前,拔出对被扁用户的反省,如许被扁用户就不克不及利用聊天室了。
对照好的处理在某些情形下静态IP地址的成绩的一个定见就是,反省IP地址块的所属局限。一个复杂的函数可以轻易地完成它。
<?php
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;
}
?>
然后咱们把轮回中的if交换成
<?php
for ($counter=0;$counter<sizeof($banned_array);$counter++) {
if (makeMask($REMOTE_ADDR) == makeMask($banned_array[$counter])) {
print("<font color="red" face="arial" align="center">".
"You have been banned from this chat</font>");
exit;
}
}
?>
咱们有了针对静态IP地址的回护办法。
最初咱们需求一种办法最早失掉惹费事的IP。我的完成是将$name和$REMOTE_ADDR纪录到一个名为
iplist.html的文件中。关于一个分别的,奥密的URL,我可以在阅读动静的同时监控IP地址。这可以增添一些不测的优点,就是可以发明冒充者--在这些中央最常犯的“罪”。
iplist.html与messages.html的创立办法根基上一样。起首将以后的值从iplist.html中掏出来,咱们剥离失落头信息,脚标和旧的IP纪录,然后创立一个新的纪录,新的头信息,新的脚标。为了让结构更清晰,我利用了表格。
<?php
$header = "<html><body bgcolor="#000000" text="#ffffff"><table border="0"> ";
$footer = "</table></body></html>";
$new_ip = "<tr><td>$name</td><td>$REMOTE_ADDR</td></tr> ";
$ip_array = file("iplist.html");
for ($counter = 1; $counter < 20; $counter++)
$old_ips.= $ip_array[$counter];
?>
复杂地把内容写入磁盘与对message文件所做的一样,如许咱们就有了一个web聊天室。比Java有更好的逾越平台的兼容性,而且除一个web阅读器甚么都不需求了--我传闻乃至Dreamcast就是如许任务的!
有一些器材你能够想试着自已做一下,包含兼并一些经常使用代码片断为函数,编写一个可以主动增添惹费事的人到被扁列表中的剧本和编写一个regex表达式,可以扫描动静注释中的URL和e-mail,并将之主动转换成链接(象Outlook Express 和ICQ做的那样)。
对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,皮皮你有没? |
|