很多站長(zhǎng)朋友們使用Discuz程序建站都明白,當(dāng)論壇建好了就開(kāi)始發(fā)展一些會(huì)員了。但是如果沒(méi)有做任何限制的前提下論壇就會(huì)被惡意注冊(cè)一些垃圾會(huì)員刷一些垃圾帖子。不僅自己的空間穩(wěn)定性會(huì)受到影響,數(shù)據(jù)庫(kù)也可能會(huì)被超容量。小編剛剛也是接到了一位站長(zhǎng)朋友反映他用的是織夢(mèng)DEDECMS程序在無(wú)憂主機(jī)php獨(dú)立ip空間中建的站。最近很多會(huì)員在發(fā)垃圾廣告帖子,有時(shí)候一個(gè)小是就可能發(fā)帖數(shù)量上百篇之多。
小編開(kāi)始的時(shí)候給出的意見(jiàn)是登陸后臺(tái)從會(huì)員注冊(cè)下手,注冊(cè)的會(huì)員需要驗(yàn)證通過(guò),并且發(fā)帖也需要驗(yàn)證這樣可以有效控制下的。但是這位站長(zhǎng)朋友提出能否直接讓注冊(cè)的會(huì)員發(fā)帖子的時(shí)候?qū)ζ浒l(fā)帖子的數(shù)量上面進(jìn)行限制呢?小編仔細(xì)想象果然是好方法。于是就研究了半個(gè)小時(shí)果然可以做到。下面小編來(lái)詳細(xì)說(shuō)明下方法吧。
第一步:連接FTP工具按照目錄找到member/article_add.php文件。
使用一款編輯軟件打開(kāi)大概在39行左右找到以下代碼:
else if($dopost=="save") { |
在下面添加以下代碼:
$memberarcnum = $dsql->GetOne("SELECT count(*) FROM `dede_archives` WHERE mid='".$cfg_ml->M_ID."' AND FROM_UNIXTIME(senddate,'%Y-%m-%d') = curdate()"); //判斷當(dāng)前投稿數(shù)量是否大于3篇 if($memberarcnum['count(*)'] > 3) { ShowMsg("對(duì)不起,您所在會(huì)員組每日只可投稿3篇!","/member/content_list.php?channelid=1"); exit(); } |
小編在這里大概的講解下 這行代碼:if($memberarcnum[‘count(*)’] > 3) 中的大于數(shù)字3 也就是限制會(huì)員每天最多可以發(fā)稿的數(shù)量了。
站長(zhǎng)朋友們可以根據(jù)自己的需要來(lái)調(diào)試。如果限制每天會(huì)員可以發(fā)稿的數(shù)量為5 就寫(xiě)大于5就可以了。修改后上傳到對(duì)應(yīng)的目錄下。然后登陸后臺(tái)更新下緩存就可以了。