偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一個(gè)短信驗(yàn)證碼功能引發(fā)的總結(jié)思考

開(kāi)發(fā) 前端
從簡(jiǎn)單的功能探尋背后的技術(shù)奧秘。技術(shù)就是在生活中~昨天看到一個(gè)地址,新用戶(hù)免費(fèi)領(lǐng)取X登讀書(shū)APP的14天會(huì)員,2020年了,要開(kāi)始讀書(shū)了。

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

故事

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

 

 

 

 

將錯(cuò)誤單獨(dú)截圖出來(lái):

 

 

 

 

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

于是用手機(jī)去訪(fǎng)問(wèn)活動(dòng)頁(yè)地址,正常打開(kāi),然后填寫(xiě)手機(jī)號(hào),然后提示:

 

 

 

 

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

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

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

看到這里的伙伴如果是新用戶(hù),也對(duì)讀書(shū)有點(diǎn)興趣,那可以領(lǐng)取這個(gè)會(huì)員體驗(yàn)一下(不是廣告)。地址:http://t.cn/AiFfyICx

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

短信驗(yàn)證碼設(shè)計(jì)總結(jié)

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

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

短信轟炸機(jī)就是一個(gè)利用寫(xiě)好的程序來(lái)大批量刷短信的軟件,它能夠通過(guò)自動(dòng)批量提交手機(jī)號(hào)、模擬IP等方式去刷短信。

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

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

主要思路:

1、時(shí)間限制

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

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

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

2、圖形驗(yàn)證碼限制 + 時(shí)間限制

(1)、在需要發(fā)送驗(yàn)證的碼的時(shí)候,先讓用戶(hù)輸入驗(yàn)證碼,當(dāng)輸入的驗(yàn)證碼通過(guò)后,才能請(qǐng)求獲取短信驗(yàn)證碼,否則獲取驗(yàn)證按鈕不激活。

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

這一點(diǎn),圖形驗(yàn)證碼不一定是必須的??赡転榱擞懈玫挠脩?hù)體驗(yàn),一開(kāi)始不需要輸入圖形驗(yàn)證碼,在操作達(dá)到一定量之后,才需要輸入圖形驗(yàn)證碼。具體情況請(qǐng)根據(jù)具體場(chǎng)景來(lái)進(jìn)行設(shè)計(jì)。

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

如果前臺(tái)倒計(jì)時(shí)60s,后臺(tái)驗(yàn)證碼的失效時(shí)間設(shè)計(jì)肯定不能是60,一般會(huì)是5~10分鐘。

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

同一個(gè)手機(jī)號(hào),指定時(shí)間之內(nèi)不能夠超過(guò)x條。

對(duì)使用同一個(gè)手機(jī)號(hào)碼進(jìn)行注冊(cè)或者其他發(fā)送短信驗(yàn)證碼的操作的時(shí)候,系統(tǒng)可以對(duì)這個(gè)手機(jī)號(hào)碼進(jìn)行限制,例如,1小時(shí)只能發(fā)送3條短信驗(yàn)證碼,超出限制則進(jìn)行報(bào)錯(cuò)(如:系統(tǒng)繁忙,請(qǐng)稍后再試)。然而,這也只能夠避免人工手動(dòng)刷短信而已,對(duì)于批量使用不同手機(jī)號(hào)碼來(lái)刷短信的機(jī)器,這種方法也是無(wú)可奈何的。

4、IP及Cookie限制

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

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

這樣在第三點(diǎn)的基礎(chǔ)上防止惡意刷手機(jī)驗(yàn)證碼短信,如果同一個(gè)ip多次請(qǐng)求獲取手機(jī)驗(yàn)證碼短信,因?yàn)槎绦判枰X(qián),競(jìng)爭(zhēng)對(duì)手很可能惡意刷去。(我們對(duì)他人心懷善意,但是內(nèi)心要有防備之心)

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

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

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

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

后記

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

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

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

最后在說(shuō)兩點(diǎn),看到的朋友思考下:

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

2、怎么樣的短信驗(yàn)證碼用戶(hù)體驗(yàn)好,內(nèi)容和驗(yàn)證碼長(zhǎng)度?

責(zé)任編輯:華軒 來(lái)源: Java編程技術(shù)樂(lè)園
相關(guān)推薦

2021-01-19 10:29:34

短信驗(yàn)證碼密碼

2022-01-20 10:54:23

移動(dòng)手機(jī)短信驗(yàn)證碼隱患

2015-03-23 18:03:36

短信驗(yàn)證碼正則自動(dòng)填寫(xiě)

2016-11-14 15:40:01

Android

2013-12-19 09:58:36

移動(dòng)應(yīng)用產(chǎn)品市場(chǎng)

2016-10-09 13:33:12

2021-08-11 06:57:17

驗(yàn)證碼圖片顯示

2020-12-20 10:07:57

Canvas圖形驗(yàn)證碼javascript

2022-02-02 20:21:24

短信驗(yàn)證碼登錄

2021-06-06 16:15:57

地區(qū)接口項(xiàng)目

2013-06-19 10:19:59

2022-07-20 09:52:44

Go語(yǔ)言短信驗(yàn)證碼

2024-07-30 08:59:22

2024-04-08 14:10:06

2025-04-22 09:23:37

2018-08-08 09:47:29

短信驗(yàn)證碼APP

2024-05-08 10:20:00

Redis分布式

2022-02-11 07:10:15

驗(yàn)證碼

2021-07-22 10:25:07

JS驗(yàn)證碼前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)