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

PHP
PHP新手上路(九)
来自PHP.NET的入门教程
PHP新手上路(十)
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
别人整理的服务器变量:$_SERVER
APMServ使用说明
《APMServ 5.1.2》使用图解
一个可以找出源代码中所有中文的工具
php.ini 中文版
MYSQL数据库初学者使用指南
第一节--面向对象编程
第二节--PHP5 的对象模型
第三节--定义一个类
第四节--构造函数和析构函数
第五节--克隆
第六节--访问属性和方法
第七节--类的静态成员
第八节--访问方式
第九节--绑定
第十节--抽象方法和抽象类

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 188 ::
收藏到网摘: 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!应用面的广泛,那些灌水机也一定不断寻找新的办法来骚扰。所以,我们需要更多的用户与我们一起去解决问题。