加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Discuz!禁止发表重复主题的帖子的方法

发布时间:2021-03-12 06:42:47 所属栏目:教程 来源:网络整理
导读:作为一个论坛的管理员,我需要时刻防止有人恶意发广告帖,特别是现在群发软件的出现,经常在我们论坛的各个版块发相同主题的恶意广告帖,实在是让我们这些管理头疼。我的论坛是用Discuz!建的,为了避免主题重复的恶意广告帖,我也实在采取不少的措施,当然其

作为一个论坛的管理员,我需要时刻防止有人恶意发广告帖,特别是现在群发软件的出现,经常在我们论坛的各个版块发相同主题的恶意广告帖,实在是让我们这些管理头疼。我的论坛是用Discuz!建的,为了避免主题重复的恶意广告帖,我也实在采取不少的措施,当然其中有一个最常用的方法,就是禁止发表重复主题的帖子。但我发现好像在管理后台没有这个功能,只好手工修改代码了。

打开 include/newthread.inc.php,查找

代码:
if($subject == '' || $message == '') {
showmessage('post_sm_isnull');
}

在下面添加:

复制内容到剪贴板代码:
// ********************* 重复发帖检测 *****************************

$repeatlevel = 4; // 重复发帖的验证级别

$chk_sql = "SELECT COUNT(*) FROM {$tablepre}posts WHERE ";
$chk_term = "";
switch($repeatlevel) {
case 1:
$chk_term = "subject='{$subject}'";
break;
case 2:
$chk_term = "message='{$message}'";
break;
case 3:
$chk_term = "subject='{$subject}' AND message='{$message}'";
break;
case 4:
$chk_term = "subject='{$subject}' AND message='{$message}' AND authorid='{$discuz_uid}'";
break;
}
if($chk_term) {
$chk_num = $db->result($db->query($chk_sql . $chk_term),0);
if($chk_num > 0) {
showmessage('请不要重复发帖,这很浪费资源的。请返回。');
}
}
// ********************* 重复发帖检测 *****************************

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读