王志勇 发表于 2009年10月12日 18:37
网友的绝大多数留言都是友好的。如果博客中偶尔出现一条陌生人的恶意留言,可能会影响博主的心情,如果在意,会与这些发布恶意留言的网友的命运发生牵连,与他们的业力发生牵连。留言者,没有权利审判别人。如上面的链接中的方法,可以直接封闭IP。
可以给博客建立留言的安全级别分类,建立信任级别列表,在程序上实现起来较容易。信任级别列表如下:
上述一共有6个列表,分别是好友的用户名列表、好友的URL列表、spam的用户名列表、URL列表、封IP的用户名列表、IP列表。建立的方法是整个列表作为一个字符串,用“|”符号可巧妙地判断用户的关键字是否在其中,这样不用循环程序,用strpos()函数就可以一次判断完成。例如好友的URL列表是:
|www.abc.com|wwww.auiou.com|www.cctv.com|www.ad.com|
假设上面这一行的值是$ac,用户留言时的URL是http://www.abc.com。
其它的列表都是如法炮制,注意最前面和最后的“|”不要省略。然后,使用strpos()函数判断www.abc.com是否在$ac的方法是:
<$url="www.abc.com";
$ur5="|".$url."|";
if (strpos($ac,$ur5)){} //此语句表示$url是否在$ac其中。
?>
这里在$url左右两边各加了一个“|”的符号,就可以准确判断。其它列表的建立和判断方法,都是一样的。http://www.abc.com去掉http://的方法如这里的2、3楼的回复,http://www.auiou.com/relevant/00000466.jsp。
附:这里有一种很特殊的情况,使用strpos()直接使用if (strpos($ac,$ur5)){}的形式,而无需使用if (strpos($ac,$ur5)!==false){},程序不会出错,是因为从第2个字符开始是URL列表。假如用户的URL如www.abc.com位于URL列表的第1个网址,那么strpos($ac,$ur5)的值是1。
置顶的文章:
股骨头坏死的中早期修复方法
Windows流畅度300%以上体感的操作
超低价享受i7-7700的体验
家用电脑理性优化升级天梯图之2026
服务器版Linux系统的选择之2026
秒会+实战PHP程序设计培训(2)
如何快速自制CPU天梯图?
我不明白你明不明白我明白(明白不)
最好的音乐播放硬件
如何打造全静音台式电脑之2026
近期的主题:
年度网络焦点人物黄仁勋/AI行业
重要测试:Debian 13.0
人生讨论(29):判断装修瓦匠是不是×德的方法
Nginx与.htaccess(2)
最漂亮的女华人是谁?
测试http3、Debian 11/12/13
DIY(35-5):干扰源终于找到
https利弊(7):建站税
博客又有活儿得干了:双服务器备份
支架设计(2):功放机+航空头的支架
数码评测(81):停电引起电脑损坏如何防止?
Debian 12.0的“致命”bug
数码评测(80):最好用的平价鼠标和维修/改装
这次的PHP大漏洞/淡定的PHPer们
“明白不”的心理机制(2)
博客/网页有没有必要做访问量统计?
数码评测(79):如何打造全静音台式电脑之2026
AI编程和人工编程的差别
世界上最好的二级域名
数码评测(78):最好的音乐播放硬件
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2025年-2026年03月(10)
2024年(13)
2023年 +