前言
產(chǎn)品設(shè)計(jì)中不可避免的會(huì)需要考慮各種防刷&防作弊等安全策略設(shè)計(jì)摘刑,今天就簡單總結(jié)一下相關(guān)方法蘸秘。
為什么要考慮這些
作為一個(gè)產(chǎn)品狗官卡,設(shè)計(jì)產(chǎn)品是為了給用戶提供優(yōu)質(zhì)的服務(wù),如果被刷被作弊就會(huì)間接影響到產(chǎn)品服務(wù)的質(zhì)量醋虏。比如一個(gè)短信接口被刷爆導(dǎo)致公司需要支付巨額短信服務(wù)費(fèi)寻咒,進(jìn)一步影響公司狀況從而無法繼續(xù)為正常用戶提供服務(wù)等等。
隨便說點(diǎn)
1. 姓名身份證匹配認(rèn)證
最近一個(gè)項(xiàng)目接觸到有關(guān)姓名與身份證匹配的認(rèn)證颈嚼,這樣的第三方接口相對(duì)價(jià)格較高毛秘,所以被刷的損失也就較大。
對(duì)此阻课,我設(shè)計(jì)的策略是:
- 單個(gè)注冊(cè)用戶叫挟,每天最多認(rèn)證x次,x次失敗后當(dāng)天(24點(diǎn)為界)無法繼續(xù)認(rèn)證
- 單個(gè)注冊(cè)用戶限煞,最多累計(jì)認(rèn)證y次抹恳,超過則無法再認(rèn)證
- 對(duì)所有用戶,客服可以再后臺(tái)進(jìn)行認(rèn)證
以上策略設(shè)置了單個(gè)用戶一天可認(rèn)證的上限和累計(jì)可認(rèn)證上限署驻,然后在后臺(tái)為用戶保留最極端情況(就是用戶真就不知道啥原因又不是有意的認(rèn)證失敗y次)的處理方式——聯(lián)系客服(機(jī)器沒法處理的事奋献,還是得交給人來處理)
但是簡單得一條“單個(gè)注冊(cè)用戶每天最多認(rèn)證3次”的策略健霹,卻不是你和技術(shù)說“單個(gè)注冊(cè)用戶每天認(rèn)證x次后,頁面認(rèn)證按鈕置灰不可點(diǎn)”這么簡單的瓶蚂。要知道前端的控制是可以被輕易修改的糖埋,而且在認(rèn)證的時(shí)候POST or GET了哪些接口在如今各種瀏覽器的F12里都是可以被小白如我的人找到并利用。因此:
涉及到限制策略窃这,就需要前端+接口一起限制
所以上面的“單個(gè)注冊(cè)用戶每天最多認(rèn)證x次”阶捆,就需要說明不僅是“用戶認(rèn)證失敗x次后,當(dāng)天24點(diǎn)前頁面認(rèn)證按鈕置灰不可點(diǎn)”钦听,還包括“后端提供的調(diào)用第三方認(rèn)證服務(wù)的接口洒试,需要根據(jù)輸入的用戶名判斷,若當(dāng)天已經(jīng)被調(diào)用達(dá)到x次則接口直接返回錯(cuò)誤”朴上。
2. App的防刷&防作弊
最近還向組內(nèi)產(chǎn)品大牛Mr.D討教了一些App相關(guān)的防刷&防作弊策略垒棋。
App因?yàn)槠淇梢垣@取更多的信息,便可以做的更多:
1:前端+接口限制痪宰,一般的登錄后操作可以通過用戶名等標(biāo)識(shí)進(jìn)行次數(shù)判斷限制
2:登錄前操作可以通過獲取相關(guān)設(shè)備ID來進(jìn)行次數(shù)判斷限制
最后
通過互聯(lián)網(wǎng)這張大網(wǎng)提供服務(wù)叼架,用戶都藏在背后,天然就減低了做壞事的成本衣撬。我們希望給用戶做無罪假設(shè)乖订,但是不可避免的還是要考慮各種有罪假設(shè)情況下的應(yīng)對(duì)措施【吡罚總的來說:用戶沒有錯(cuò)乍构,只要服務(wù)有問題了,就是產(chǎn)品狗的錯(cuò)扛点,即使是被刷爆了那也是產(chǎn)品狗沒考慮周全沒做好應(yīng)對(duì)策略(當(dāng)然大黑客來攻擊就沒轍了)哥遮,就醬。