日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一個短信驗證碼功能引發(fā)的總結(jié)思考

 從簡單的功能探尋背后的技術(shù)奧秘。技術(shù)就是在生活中~

大化網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

故事

昨天看到一個地址,新用戶免費領(lǐng)取X登讀書APP的14天會員,2020年了,要開始讀書了。看到這個活動是在筆記本上,于是用筆記本瀏覽器訪問活動頁面,輸入手機號,收到驗證碼,填寫驗證碼,領(lǐng)取這個會員。本來以為一切就是這樣順利的結(jié)束了,然而并不是,填寫驗證就提示“網(wǎng)絡(luò)錯誤”。這不科學(xué)啊,作為程序員,我下意識的按了一下F12,打開了開發(fā)者工具,于是看到了下面的錯誤,如圖:

將錯誤單獨截圖出來:

簡單一點就是出現(xiàn)了跨域的問題。我想了一下,那估計這個活動是針對移動端的,我用PC端訪問導(dǎo)致出現(xiàn)跨域。這個地方設(shè)計不好。

于是用手機去訪問活動頁地址,正常打開,然后填寫手機號,然后提示:

我剛才PC發(fā)了幾次驗證碼,這個地方設(shè)計還是考慮到安全性了,不錯。

我只能等待,在開發(fā)角度,這個就是在一個固定的時間周期內(nèi),我的手機號只能發(fā)固定次數(shù)的驗證碼,超過這個數(shù)量,就不會給我再發(fā)了,一個是安全考慮(接口頻繁調(diào)用),另一個可能也是費用考慮( 防止短信驗證碼被刷)。

過了一段時間,我在去手機端試著領(lǐng)取,發(fā)現(xiàn)一切順利,領(lǐng)取成功。

看到這里的伙伴如果是新用戶,也對讀書有點興趣,那可以領(lǐng)取這個會員體驗一下(不是廣告)。地址:http://t.cn/AiFfyICx

到這里本該就結(jié)束了,但是作為一個開發(fā)人員,我覺得要簡單整理一下這個發(fā)短信的功能,因為這個功能雖然看似簡單,里面深究起來也有很多地方需要注意以及考慮的。

短信驗證碼設(shè)計總結(jié)

互聯(lián)網(wǎng)的時代,發(fā)送短信驗證碼已經(jīng)作為很多產(chǎn)品中必不可少的一個功能。用于的場景也是很多,如注冊登錄、銀行轉(zhuǎn)賬、營銷活動等(真的有很多場景,我就不多舉例了)。

那在發(fā)送驗證的時候,其實很多公司用的都是第三方的短信服務(wù),這個短信的服務(wù)是需要收費的,天下沒有免費的午餐。那么就出現(xiàn) 刷短信的黑工具——短信轟炸機 。

短信轟炸機就是一個利用寫好的程序來大批量刷短信的軟件,它能夠通過自動批量提交手機號、模擬IP等方式去刷短信。

如果 需要用到短信驗證碼的產(chǎn)品的時候,一定要制定限制規(guī)則 ,做好設(shè)計。

主要原則:發(fā)送驗證碼是前端和后臺是需要共同設(shè)計的,這樣相對才能更加完善或者更加完美。

主要思路:

1、時間限制

xx秒后才能再次發(fā)送,常規(guī)操作

一般點擊驗證后,在前端(客戶端)會進行一個xx秒的倒數(shù)(這個倒計時可以根據(jù)具體產(chǎn)品具體業(yè)務(wù)定,很多是60s)。在這固定的時間內(nèi),用戶是無法提交多次發(fā)送信息的請求的。

具體時效限制要考慮產(chǎn)品本身屬性,操作難易度,網(wǎng)絡(luò)延遲,短信資費成本等。

2、圖形驗證碼限制 + 時間限制

(1)、在需要發(fā)送驗證的碼的時候,先讓用戶輸入驗證碼,當輸入的驗證碼通過后,才能請求獲取短信驗證碼,否則獲取驗證按鈕不激活。

(2)、在請求獲取驗證后,一般在前端(客戶端)會進行一個xx秒的倒數(shù)(這個倒計時可以根據(jù)具體產(chǎn)品具體業(yè)務(wù)定)。在這固定的時間內(nèi),用戶是無法提交多次發(fā)送信息的請求的。

這一點,圖形驗證碼不一定是必須的??赡転榱擞懈玫挠脩趔w驗,一開始不需要輸入圖形驗證碼,在操作達到一定量之后,才需要輸入圖形驗證碼。具體情況請根據(jù)具體場景來進行設(shè)計。

這種方法雖然使用得比較普遍,但是卻不是非常有用,技術(shù)稍微好點的人完全可以繞過這個限制,直接發(fā)送短信驗證碼。

如果前臺倒計時60s,后臺驗證碼的失效時間設(shè)計肯定不能是60,一般會是5~10分鐘。

3、手機號+指定時間可以發(fā)短信次數(shù)限制

同一個手機號,指定時間之內(nèi)不能夠超過x條。

對使用同一個手機號碼進行注冊或者其他發(fā)送短信驗證碼的操作的時候,系統(tǒng)可以對這個手機號碼進行限制,例如,1小時只能發(fā)送3條短信驗證碼,超出限制則進行報錯(如:系統(tǒng)繁忙,請稍后再試)。然而,這也只能夠避免人工手動刷短信而已,對于批量使用不同手機號碼來刷短信的機器,這種方法也是無可奈何的。

4、IP及Cookie限制

限制相同的IP/Cookie信息最大數(shù)量

使用Cookie或者IP,能夠簡單識別同一個用戶,然后對相同的用戶進行限制(如:xx時間內(nèi)最多只能夠發(fā)送xx條短信)。然而,Cookie能夠清理、IP能夠模擬,而且IP還會出現(xiàn)局域網(wǎng)相同IP的情況,因此,在使用此方法的時候,應(yīng)該根據(jù)具體情況來思考。

這樣在第三點的基礎(chǔ)上防止惡意刷手機驗證碼短信,如果同一個ip多次請求獲取手機驗證碼短信,因為短信需要錢,競爭對手很可能惡意刷去。(我們對他人心懷善意,但是內(nèi)心要有防備之心)

5、短信預(yù)警機制

監(jiān)控短信服務(wù),做好出問題之后的防護

以上的方法并不一定能夠完全杜絕短信被刷,因此,我們也應(yīng)該做好短信的預(yù)警機制,即當短信的使用量達到一定量之后或者短信發(fā)送接口被超量調(diào)用,向管理員發(fā)送預(yù)警信息,管理員可以立刻對短信的接口情況進行監(jiān)控和防護。

當我整理了相關(guān)的資料后,稍微明白了今天上文出現(xiàn)的問題,移動端驗證碼正常驗證成功,而PC端不能進行驗證的原因??赡苁钱a(chǎn)品設(shè)計上的限制惡意刷短信,做了跨域請求限制。 也或許這就是一個bug(不讓程序員背鍋)。

后記

一個看似簡單的功能,要簡單做可以很簡單,要復(fù)雜也可以很復(fù)雜,作為一個技術(shù)人員,了解業(yè)務(wù),了解使用場景,了解用戶量等,全面考慮,多端的時代,兼容性等也要考慮。

其實這個問題如果可以仔細想清楚的話,如果以后遇到就能夠全面考慮,并且開發(fā)人員總是說自己做增刪查改,這個的功能設(shè)計好,里面涉及了增刪查改,更涉及了一個開發(fā)對功能的設(shè)計能力。

做好每一個小的功能,從小的地方提升用戶體驗,是產(chǎn)品和開發(fā)共同的責(zé)任。

最后在說兩點,看到的朋友思考下:

1、后臺應(yīng)該如何處理驗證碼,保存在什么地方,內(nèi)存,緩存,還是數(shù)據(jù)庫?

2、怎么樣的短信驗證碼用戶體驗好,內(nèi)容和驗證碼長度?


當前文章:一個短信驗證碼功能引發(fā)的總結(jié)思考
網(wǎng)頁鏈接:http://www.5511xx.com/article/dpcgpeo.html