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

PHP
PHP实现网页自动更新块
PHP 5.0 中的对象重载技术研究
轻型数据库SQLite结合PHP的开发
PHP中模板分页的处理
在debian下为PHP5.0.3安装pdo模块
PHP下实现端口复用/劫持
PHP链接ACCESS数据库最简单的方法
IIS 不用 rewrite 实现页面静态化的方法
PHP发现安全漏洞
Windows下PHP4.0与Oracle 8的连接设置
使用OOP技术来优化PHP应用程序
用MySQL和PHP创建XML
正则表达式中的特殊字符一览
截获网站
在UNIX平台上的Netscape Enterprise Server 3.x下配置PHP
Windows 98下安装Apache(PWS) PHP4MySQLphpMyAdmin的方法
对《Windows 9x/NT下以Apache的模块方式安装PHP4》的补充
Windows2000下安装Apache PHP4 MySQL
在WIN98下安装PHP4+ PERSONAL ORACLE8I
在 PHP 中用描点法“绘制”中文

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


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