問:本人論壇用的是Discuz!,訪問量很大,最近一直受到廣告灌水機(jī)的騷擾。所以想找到一個(gè)好的論壇廣告管理機(jī)制,不知道有沒有更好的解決方案?目前,找到的解決方案似乎,用后臺的管理功能,限制用戶發(fā)帖時(shí)間,每隔一定時(shí)間(比如多少秒)才能發(fā)表一張?zhí)2贿^,這樣的限制如果設(shè)置的時(shí)間大于5秒,也會妨礙了正常的用戶訪問,發(fā)廣告的灌水工具來發(fā)根本沒有影響,因?yàn)樗亲詣拥摹U垎栐撛趺礃咏鉀Q?
答:關(guān)于廣告灌水機(jī)的問題,大家都是深惡痛絕的。一般而言,廣告的灌水工具(或發(fā)帖機(jī)器)現(xiàn)在都能內(nèi)容相同但標(biāo)題不同(添加特殊字符、隨機(jī)串或多余空格的方式),因此,從論壇軟件來說,根據(jù)內(nèi)容對帖子限定是無效的。并且,采用這種機(jī)制,程序?qū)?shù)據(jù)庫的壓力極大,站長的硬件資源也將消耗很多。因此,Discuz!考慮到最終效果得不償失,所以未予實(shí)施上述辦法。
當(dāng)然,Discuz!也不會放棄尋找更好的辦法。目前,用戶采用最新版本的Discuz!4.1,可以尋找的解決方案有兩個(gè):
一是采用發(fā)帖驗(yàn)證碼;
二是采用更長的灌水限制時(shí)間。
此外,Discuz!擬將在5.0中采用如下方案(www和wap上都要限制):
同一用戶(假定不為游客)最近一小時(shí)(或一天)發(fā)帖數(shù)限制(標(biāo)明影響效率)“maxppd(maxpostsperday)
if($discuz_uid) {SELECT COUNT(*) FROM cdb_posts WHERE dateline>'$timestamp'-86400 AND authorid='$discuz_uid'
}”
一般而言,這樣應(yīng)該可以更有效解決廣告灌水的問題。
不過,考慮到Discuz!應(yīng)用面的廣泛,那些灌水機(jī)也一定不斷尋找新的辦法來騷擾。所以,需要更多的用戶一起去解決問題。
