仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2312|回复: 20
打印 上一主题 下一主题

[学习教程] PHP教程之PHP教程.使用实例18

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:28:39 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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小时速成那种,皮皮你有没?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-21 12:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表