Discuz!x2.5如何限制会员每天发帖数量

作为一位论坛管理员,最烦恼的莫过于垃圾帖子和大量无意义的灌水帖子。我们都会想尽办法与垃圾贴、灌水贴、广告贴做斗争,您解决不了这些问题,那么你的论坛永远也不会强大,看到满世界的这类垃圾帖子,试问,还有谁会耐着性子,继续浏览下去?站长们在想尽办法来防止垃圾帖子的泛滥、康盛的官方开发团队也在不断提供新方法、新功能为我站长供应强大的“弹药”,如防水墙,就是这种产物,而今天的重点不是讨论如何防水墙的,高速度 主机(www.gaosudu.com)小编和大家一起学习一个限制discuz!x2.5垃圾信息泛滥的重武器——如何限制会员每天发帖数量。在使用dz的站长都晓得,dz后台默认的功能中,可以自定义会员每小时发帖的数量,这个是默认功能,但这个功能也不是很好用,如果过了时间限制,那么又可能会刮起新一轮垃圾帖子狂潮。能否可以限制disucz!x2.5每个会员每天发帖数量类?高速度 主机(www.gaosudu.com)认为是可以的,我们接下来,就一起详细学习一下。要实现这个功能,我们需要修改disucz论坛的源代码,那么,一个文本编辑器是不可缺少的,这是成功的保障。我们只需要修改lang_admincp.php、lang_message.php、table_common_member_action_log.php就可以实现这个效果。下面是详细过程。首选,连接php虚拟主机下载这三个文件下载到本地电脑/source/language/lang_admincp.php/source/language/lang_message.php/source/language/lang_message.php然后以此修改、替换代码如下:1、修改discuz!x2.5后台功能菜单设置显示提示使用文本编辑editplus打开sourcelanguagelang_admincp.php查找定位约3703行

'usergroups_edit_basic_hour_threads'=>'会员每小时发主题数限制','usergroups_edit_basic_hour_threads_comment'=>'设置允许会员每小时最多的发主题数量,可以配合灌水预防功能进一步限制会员的发帖,可设置为 1~255 范围内的数值,0 为不限制。此功能会轻微加重服务器负担,且对游客无效','usergroups_edit_basic_hour_posts'=>'会员每小时发回帖数限制','usergroups_edit_basic_hour_posts_comment'=>'设置允许会员每小时最多的发回帖数量,可以配合灌水预防功能进一步限制会员的发帖,可设置为 1~255 范围内的数值,0 为不限制。此功能会轻微加重服务器负担,且对游客无效',
替换
'usergroups_edit_basic_hour_threads'=> '会员每天发主题数限制','usergroups_edit_basic_hour_threads_comment'=> '设置允许会员每天最多的发主题数量,可以配合灌水预防功能进一步限制会员的发帖,可设置为 1~255 范围内的数值,0 为不限制。此功能会轻微加重服务器负担,且对游客无效','usergroups_edit_basic_hour_posts'=> '会员每天发回帖数限制','usergroups_edit_basic_hour_posts_comment'=> '设置允许会员每天最多的发回帖数量,可以配合灌水预防功能进一步限制会员的发帖,可设置为 1~255 范围内的数值,0 为不限制。此功能会轻微加重服务器负担,且对游客无效',
2、用户组每天发帖限制提示使用文本编辑editplus打开sourcelanguagelang_message.php查找约144行
'thread_flood_ctrl_threads_per_hour' =>'抱歉,您所在的用户组每天限制发主题 {threads_per_hour} 个,请稍候再发表',
替换
'thread_flood_ctrl_threads_per_hour' => '抱歉,您所在的用户组每天限制发主题 {threads_per_hour} 个,请稍候再发表',
3、修改检验程序文件:会员每小时发帖数限制更改为会员每天发帖数限制使用文本编辑editplus打开sourceclasstabletable_common_member_action_log.php
查找约31行public function count_per_hour($uid, $type) {return DB::result_first('SELECT COUNT(*) FROM %t WHERE dateline>%d AND `action`=%d AND uid=%d', array($this->_table, TIMESTAMP - 3600,getuseraction($type), $uid));}
替换
public function count_per_hour($uid, $type) {return DB::result_first('SELECT COUNT(*) FROM %t WHERE dateline>%d AND `action`=%d AND uid=%d', array($this->_table, TIMESTAMP - 86400,getuseraction($type), $uid));}
将上述修改完毕后,上传到原目录进行覆盖后,完成限制论坛会员每天发帖数量的限制。效果如下对比Dz后台默认的每小时发帖限制限制成功修改为按会员每天发帖数Dz后台默认的每小时发帖限制成功修改为按会员每天发帖数,如果你也设置好了,赶快去测试下吧,同时你还可以参照:设置DISCUZ!X2.5 防灌水垃圾帖设置策略,抵御垃圾非法信息的侵害。 纯Linux环境下高端免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:https://www.gaosudu.com/discuz/7585.html