現(xiàn)在網(wǎng)絡(luò)上發(fā)帖機(jī)橫行,如何在盡可能少地影響用戶(hù)體驗(yàn)的同時(shí)阻止發(fā)帖機(jī)是每個(gè)網(wǎng)站面臨的課題.
一 常見(jiàn)發(fā)帖機(jī)類(lèi)型及其原理
1)程序自動(dòng)構(gòu)建字段內(nèi)容,然后通過(guò)程序自動(dòng)POST到服務(wù)器.
2)通過(guò)按鍵精靈之類(lèi)的模擬器模擬鍵盤(pán)和鼠標(biāo)操作,以達(dá)到自動(dòng)發(fā)帖的目的.
二 發(fā)帖機(jī)行為分析
發(fā)帖機(jī)主要是為了發(fā)布廣告信息,所以一般發(fā)帖機(jī)都是采用即時(shí)創(chuàng)建帳號(hào)==>然后發(fā)帖==>然后閃人流程散布信息.
三 解決方案
1)通過(guò)增加一個(gè)特殊字段,系統(tǒng)可以通過(guò)驗(yàn)證這個(gè)特殊字段來(lái)確認(rèn)當(dāng)前信息是否是系統(tǒng)實(shí)時(shí)產(chǎn)生.這種方法可以有效抑制通過(guò)程序自動(dòng)POST數(shù)據(jù)的發(fā)帖機(jī),但是無(wú)法阻止模擬器類(lèi)型的發(fā)帖機(jī).
2)驗(yàn)證碼.驗(yàn)證碼是最有效的阻止發(fā)帖機(jī)的手段,但驗(yàn)證碼也影響了用戶(hù)的發(fā)帖體驗(yàn),根據(jù)發(fā)帖機(jī)的行為分析我們可以采用如果當(dāng)前用戶(hù)注冊(cè)還未滿(mǎn)一個(gè)月或者發(fā)帖數(shù)還未達(dá)到10之前必需輸入驗(yàn)證碼,這樣既不影響老用戶(hù)的發(fā)帖體驗(yàn)又可以達(dá)到抑制發(fā)帖機(jī)的作用.
四 特殊字段產(chǎn)生策略
可以采用時(shí)間戳+時(shí)間戳加密(
加密方案參見(jiàn)我的另一篇文章),然后在服務(wù)器驗(yàn)證當(dāng)前客戶(hù)端傳上來(lái)的時(shí)間戳是否在允許的timeout之內(nèi).