问:我们的论坛用的是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!应用面的广泛,那些灌水机也一定不断寻找新的办法来骚扰。所以,我们需要更多的用户与我们一起去解决问题。