|
作为一个论坛的管理员,我需要时刻防止有人恶意发广告帖,特别是现在xx的出现,经常在我们论坛的各个版块发相同主题的恶意广告帖,实在是让我们这些管理头疼。我的论坛是用Discuz!建的,为了避免主题重复的恶意广告帖,我也实在采取不少的措施,当然其中有一个最常用的方法,就是禁止发表重复主题的帖子。但我发现好像在管理后台没有这个功能,只好手工修改代码了。
打开 include/newthread.inc.php , 查找
代码:
- [code]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('请不要重复发帖,这很浪费资源的。请返回。');
- }
- }
- // ********************* 重复发帖检测 *****************************
复制代码 |
|