DISCUZ!X2.5如何限制会员每天发帖数量

作为一位论坛管理员,最烦恼的莫过于垃圾帖子和大量无意义的灌水帖子。我们都会想尽办法与垃圾贴、灌水贴、广告贴做斗争,您解决不了这些问题,那么你的论坛永远也不会强大,看到满世界的这类垃圾帖子,试问,还有谁会耐着性子,继续浏览下去?站长们在想尽办法来防止垃圾帖子的泛滥、康盛的官方开发团队也在不断提供新方法、新功能为我站长供应强大的“弹药”,如防水墙,就是这种产物,而今天的重点不是讨论如何防水墙的,无忧主机(www.51php.com)小编和大家一起学习一个限制discuz!x2.5垃圾信息泛滥的重武器——如何限制会员每天发帖数量。

在使用dz的站长都晓得,dz后台默认的功能中,可以自定义会员每小时发帖的数量,这个是默认功能,但这个功能也不是很好用,如果过了时间限制,那么又可能会刮起新一轮垃圾帖子狂潮。能否可以限制disucz!x2.5每个会员每天发帖数量类?无忧主机(www.51php.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打开\source\language\lang_admincp.php

查找定位约3703行

1 'usergroups_edit_basic_hour_threads'=>
2 '会员每小时发主题数限制',
3 'usergroups_edit_basic_hour_threads_comment'=>
4 '设置允许会员每小时最多的发主题数量,
5 可以配合灌水预防功能进一步限制会员的发帖,
6 可设置为 1~255 范围内的数值,0 为不限制。
7 此功能会轻微加重服务器负担,且对游客无效',
8 'usergroups_edit_basic_hour_posts'=>
9 '会员每小时发回帖数限制',
10 'usergroups_edit_basic_hour_posts_comment'=>
11 '设置允许会员每小时最多的发回帖数量,
12 可以配合灌水预防功能进一步限制会员的发帖,
13 可设置为 1~255 范围内的数值,0 为不限制。
14 此功能会轻微加重服务器负担,且对游客无效',

替换

1 'usergroups_edit_basic_hour_threads'
2 => '会员每天发主题数限制',
3 'usergroups_edit_basic_hour_threads_comment'
4 => '设置允许会员每天最多的发主题数量,
5 可以配合灌水预防功能进一步限制会员的发帖,
6 可设置为 1~255 范围内的数值,0 为不限制。
7 此功能会轻微加重服务器负担,且对游客无效',
8 'usergroups_edit_basic_hour_posts'
9 => '会员每天发回帖数限制',
10 'usergroups_edit_basic_hour_posts_comment'
11 => '设置允许会员每天最多的发回帖数量,
12 可以配合灌水预防功能进一步限制会员的发帖,
13 可设置为 1~255 范围内的数值,0 为不限制。
14 此功能会轻微加重服务器负担,且对游客无效',

2、用户组每天发帖限制提示

使用文本编辑editplus打开\source\language\lang_message.php

查找约144行

1 'thread_flood_ctrl_threads_per_hour' =>
2 '抱歉,您所在的用户组每天限制发主题 {threads_per_hour} 个,请稍候再发表',

替换

1 'thread_flood_ctrl_threads_per_hour' =>
2  '抱歉,您所在的用户组每天限制发主题 {threads_per_hour} 个,请稍候再发表',

3、修改检验程序文件:会员每小时发帖数限制更改为会员每天发帖数限制

使用文本编辑editplus打开\source\class\table\table_common_member_action_log.php

1 查找约31行
2 public function count_per_hour($uid, $type) {
3 return DB::result_first('SELECT COUNT(*) FROM %t WHERE dateline>%d AND `action`=%d AND uid=%d', array($this->_table, TIMESTAMP - 3600,
4 getuseraction($type), $uid));
5 }

替换

1 public function count_per_hour($uid, $type) {
2 return DB::result_first('SELECT COUNT(*) FROM %t WHERE dateline>%d AND `action`=%d AND uid=%d', array($this->_table, TIMESTAMP - 86400,
3 getuseraction($type), $uid));
4 }

将上述修改完毕后,上传到原目录进行覆盖后,完成限制论坛会员每天发帖数量的限制。效果如下对比

Dz后台默认的每小时发帖限制限制

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

成功修改为按会员每天发帖数

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

Dz后台默认的每小时发帖限制成功修改为按会员每天发帖数,如果你也设置好了,赶快去测试下吧,同时你还可以参照:设置DISCUZ!X2.5 防灌水垃圾帖设置策略,抵御垃圾非法信息的侵害。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值