Discuz!禁止發(fā)表重復(fù)主題的帖子的方法
來源:程序員人生 發(fā)布時(shí)間:2014-05-06 07:07:31 閱讀次數(shù):3805次
作為一個(gè)論壇的管理員,我需要時(shí)刻防止有人惡意發(fā)廣告帖,特別是現(xiàn)在群發(fā)軟件的出現(xiàn),經(jīng)常在我們論壇的各個(gè)版塊發(fā)相同主題的惡意廣告帖,實(shí)在是讓我們這些管理頭疼。我的論壇是用Discuz!建的,為了避免主題重復(fù)的惡意廣告帖,我也實(shí)在采取不少的措施,當(dāng)然其中有一個(gè)最常用的方法,就是禁止發(fā)表重復(fù)主題的帖子。但我發(fā)現(xiàn)好像在管理后臺(tái)沒有這個(gè)功能,只好手工修改代碼了。
打開 include/newthread.inc.php , 查找
代碼:
if($subject == '' || $message == '') {
showmessage('post_sm_isnull');
}
在下面添加:
復(fù)制內(nèi)容到剪貼板代碼:
// ********************* 重復(fù)發(fā)帖檢測(cè) *****************************
$repeatlevel = 4; // 重復(fù)發(fā)帖的驗(yàn)證級(jí)別
$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('請(qǐng)不要重復(fù)發(fā)帖,這很浪費(fèi)資源的。請(qǐng)返回。');
}
}
// ********************* 重復(fù)發(fā)帖檢測(cè) *****************************
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)