当前位置: 首页 > 图文教程 > 网络编程 > PHP > Discuz!用户怎样减少广告灌水机的骚扰

PHP
MySQL安全性指南
长沙发上的对话(一)
长沙发上的对话(二)
长沙发上的对话(三)
长沙发上的对话(四)
《PHP程序设计》序
《PHP程序设计》第一章 什么是PHP?
PHP4的新特征
php3的ODBC函数
初学入门 PHP 和 MySQL
《PHP程序设计》 第二章 安装PHP
《PHP程序设计》 第三章 PHP中的数据处理
《PHP程序设计》 第四章 程序控制
《PHP程序设计》 第五章 中场一:数据库连接
PHP4中的SESSION管理
开发大型PHP项目的方法(一)
开发大型PHP项目的方法(二)
开发大型PHP项目的方法(三)
开发大型PHP项目的方法(四)
开发大型PHP项目的方法(五)

PHP 中的 Discuz!用户怎样减少广告灌水机的骚扰


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 76 ::
收藏到网摘: n/a

问:我们的论坛用的是Discuz!,访问量很大,最近一直受到广告灌水机的骚扰。所以我想找到一个好的论坛广告管理机制,不知道有没有更好的解决方案?目前,我找到的解决方案似乎,用后台的管理功能,限制用户发帖时间,每隔一定时间(比如多少秒)才能发表一张帖。不过,这样的限制如果设置的时间大于5秒,也会妨碍了正常的用户访问,发广告的灌水工具来发根本没有影响,因为它是自动的。请问该怎么样解决?

答:关于广告灌水机的问题,我们都是深恶痛绝的。一般而言,广告的灌水工具(或发帖机器)现在都能内容相同但标题不同(添加特殊字符、随机串或多余空格的方式),因此,从论坛软件来说,根据内容对帖子限定是无效的。并且,采用这种机制,程序对数据库的压力极大,站长的硬件资源也将消耗很多。因此,Discuz!考虑到最终效果得不偿失,所以未予实施上述办法。

当然,Discuz!也不会放弃寻找更好的办法。目前,用户采用最新版本的Discuz!4.1,可以寻找的解决方案有两个:
一是采用发帖验证码;二是采用更长的灌水限制时间。
此外,Discuz!拟将在5.0中采用如下方案(www和wap上都要限制):
同一用户(假定不为游客)最近一小时(或一天)发帖数限制(标明影响效率)“maxppd(maxpostsperday)
 if($discuz_uid) {SELECT COUNT(*) FROM cdb_posts WHERE dateline>'$timestamp'-86400 AND authorid='$discuz_uid'
 }”

一般而言,这样应该可以更有效解决广告灌水的问题。
不过,考虑到Discuz!应用面的广泛,那些灌水机也一定不断寻找新的办法来骚扰。所以,我们需要更多的用户与我们一起去解决问题。