簡訊驗證碼 簡訊下行 簡訊下行的使用場景 簡訊驗證碼就是最常用的一個簡訊下行的例子,相對於傳統的圖片驗證碼,簡訊驗證碼最大的好處就是提升了賬號的有效性,註冊這一般都是使用自己的手機號嗎。當然了,除此之外簡訊驗證碼還可以用於登陸,方便快捷。 簡訊下行的設計 簡訊下行的驗證方式,較上行驗證碼簡單很多,這 ...
簡訊驗證碼
簡訊下行
簡訊下行的使用場景
簡訊驗證碼就是最常用的一個簡訊下行的例子,相對於傳統的圖片驗證碼,簡訊驗證碼最大的好處就是提升了賬號的有效性,註冊這一般都是使用自己的手機號嗎。當然了,除此之外簡訊驗證碼還可以用於登陸,方便快捷。
簡訊下行的設計
簡訊下行的驗證方式,較上行驗證碼簡單很多,這裡以簡訊驗證碼為例:
- 用戶輸入數據號。
- 點擊獲取驗證碼。
- 後端收到請求,根據手機號生成驗證碼,放入緩存,設置有效期,驗證碼以手機簡訊的形式發給用戶。
- 用戶收到驗證碼,進行校驗。
- 請求後端進行校驗。
- 伺服器收到請求,根據手機號、驗證碼和伺服器放入緩存中的進行匹配。
簡訊上行
簡訊上行的使用場景
簡訊服務在互聯網中應用的場景很多,比較常見的就是驗證碼了,但下行簡訊往往受網路的影響比較大,
經常會出現用戶收不到簡訊、簡訊延遲特別大的情況。為瞭解決這個問題,前輩們提出了一個改進的方案——上行驗證
碼,上行驗證碼出現延遲的情況也有,不過這個延遲在用戶方(網路不穩定,用戶方會顯示正在發送。。。),只要
用戶將簡訊放出去了就不會有延遲。
簡訊驗證碼的設計
這裡使用簡訊上行註冊為例說明下簡訊上行驗證碼:
- 獲取用戶手機號。
- 帶上手機號請求後端。
- 後端生成驗證碼,將驗證碼和手機號映射存入緩存,並設置過期時間。
- 將生成的驗證碼和簡訊接收號碼發送給用戶(http形式)。
- 用戶將驗證碼發送給指定的接收號碼。
- 運營商收到用戶的簡訊後,帶上用戶發送的內容和用戶手機號,調用回調(簡訊運營商後臺可以配置回調url)。
- 回調函數中去驗證用戶的發送內容是否ok,ok之後更新redis緩存中的標記,設置驗證成功。
- 客戶端輪詢,檢測用戶對應的redis緩存標記是否ok,ok則繼續執行操作。
總結
簡訊驗證經常使用,大大小小的互聯網公司都在用它,但我缺少了那種敏銳的嗅覺,一直沒有意識到他具體是怎麼實現的,自以為是的認為很簡單。這次用到了,正好學習總結下。現在發現這個簡訊驗證這個過程其實還挺有意思的。
2016-8-4 19:55:33
本文版權歸作者iforever(luluyrt@163.com)所有,未經作者本人同意禁止任何形式的轉載,轉載文章之後必須在文章頁面明顯位置給出作者和原文連接,否則保留追究法律責任的權利。