一文淺析短信驗證碼基礎規則
登錄注冊密碼這一部分的功能常常涉及短信驗證的規則設定,分享小小干貨。
驗證碼即使不去單獨了解,也會常常在app中用到,驗證碼通常為4位或者6位,其實位數并不是很重要,因為4位隨機數即使用機器去撞也不會短時間也不會撞出來,所以很多新興的app也漸漸舍棄了“傳統的”6位短信驗證碼,采用體驗更好的4位驗證碼,在位數的事情上不必糾結。
失效規則
下面說一下短信驗證碼的失效規則,當然通常這部分的設計工作都由開發人員根據產品的安全性等級去設計失效規則,但有的開發人員會把這個鍋丟給PM去考慮,這個時候就要PM配合給出一定的規則,分享一部分的規則供大家思考:
- 同一手機號前3次短信請求,可由服務端判斷給出60s的間隔限制,也可以在終端由交互樣式阻礙用戶持續請求,讓用戶安心等待再次獲?。?/li>
- 同一手機號第4-8次請求,則3分鐘內為同一驗證碼,并且每次獲取;
- 同一手機號的請求,每天超過20次請求,則可直接鎖定該手機號,拉入黑名單,拒絕其接下來的請求;
- 對于同一種驗證類型,如忘記密碼,注冊等,3次填入驗證碼錯誤,則驗證碼失效;
- 短信接收時間基本在2-3秒,時間再長,有可能是運營商不靠譜
- 圖形驗證碼很容易被繞過,所以不建議使用圖形驗證碼,登錄注冊找回密碼等路徑下,短信是相對保險的方式,圖形驗證碼更多用于防止機器批量操作造成服務器壓力;
- 語音驗證是錦上添花的功能,談好第三方最好接口調用就好啦。
以上,是在做登錄注冊功能過程中遇到的問題及解決方案,對于不同的app的場景和使用的安全等級,可做具體的調整,低級干貨,歡迎補充喵。
登錄注冊鏈路
另外,登錄注冊整個鏈路為改造做了幾個迭代,想談下幾點心得:
1.已經過了在登錄時勾選記住密碼的時代了,再辣樣做就有點傻了,可考慮幫助成功登錄的用戶記住密碼,每次進入都自動登錄,主動點擊退出時再幫助用戶清空密碼;手機端一般都有續身份有效期的設定,所以用戶正常使用或者覆蓋安裝升級都不會退出登錄
2.很多app弱化了注冊過程,讓用戶通過手機短信驗證的方式直接登錄,自動幫助用戶創建帳號,讓用戶快速進入平臺使用。其實是我個人偏向的方式,最簡單的方式也是用戶容易增強記憶的方式,誰又會忘記自己的手機號呢,基于手機號去拓展個人帳號,資料維護,安全保障,密碼管理等,產品設計的理念還是簡化邏輯和交互,讓用戶更清晰的知道你想讓他做什么,以及看到頁面后如何快速完成;還有一種方式是,參照格瓦拉,進入app后可隨意瀏覽影片影院信息等不涉及帳號判定的功能,用戶真正想要使用時再進行快捷的帳號注冊和登錄,能更好的增量用戶。
3.網頁端登錄
- 網頁端掃碼功能可做手機授權功能,比較常見的栗子就是微信客戶端的直接點擊手機授權登錄的方式,該方式不止適合客戶端類產品,網頁端也適用,尤其對于企業級應用來講。
- 為安全考慮,網頁端登錄可以做雙因子校驗,即通過檢測常用登錄地點(IP庫和IP位置解析這是個技術活)或長時間未登錄的檢測,可做帳號密碼登錄后的手機號校驗,保證帳號安全,同樣適用于企業級應用,個人應用沒必要做的這樣麻煩。
- 最理想的方式還是利用授權或者其他安全認證的方式,確保手機端的帳號密碼安全,利用手機端去完成網頁端及客戶端的登錄,簡單高效。
嗯,沒有下一條了……
以上,小小經驗,也請大家指正和補充,相互學習,
開始寫東西第一天,爭取一天出一篇,覺得自己的輸出能力比較薄弱,想通過這種方式去學習書面表達,嗯~拜,see u tomorrow。
本文由 @ShirleyW 原創發布于人人都是產品經理。未經許可,禁止轉載。
驗證碼輸入3次直接失效,這個功能是防止什么的呢?
不行,換個手機號就能把你刷爆了
無網絡狀況下,如何檢校密碼是個問題,驗證身份不通過服務器請求安全性還是不夠的;天翼帳號這種應該是做相關合作的,倒也是個好思路,不過尋求合作需要付出其他商務成本了就
已經關注你了,加油。。。
謝謝
很多環節都會導致短信延遲,最大的應該是自己供應商
有些時候也會是接口調用問題,遇到過使用同樣的運營商,不同的頁面視覺
不同的頁面延遲時間不同
加油
為開發同學喊個冤。短信接收時間不是開發同學可以控制的,這與選擇的短信平臺有直接關系。正規短信平臺都是運營商網關發送(短信貓也需要經過網關),一級運營商(電信、移動、聯通)會對二級、三級短信運營商的流量進行限制,也就是在短信量大時,網關會出現排隊、阻塞等現象,這是正常的。正常情況下5秒內基本可以接收到,但如果遇到阻塞,時間就不好說了。所以不要在這個上面去打開發同學的板子啊 ??
?? 我錯了
??