線上簡訊驗證門號,以及驗證碼實際上如何送達
簡訊驗證是透過傳送一組簡短的驗證碼,來證明你掌控某個電話號碼。大多數問題都發生在你看不到的環節,所以這裡把整條路徑攤開來講:從表單一路到手機,以及驗證碼可能在途中遺失的每一個地方。
簡訊驗證的用途
它是一種「持有驗證」。網站並不是在確認你是誰,而是在確認你手上握有只有你該持有的東西。這也是為什麼同一套機制會出現在三個地方:註冊時確認號碼真實存在、重設密碼時確認號碼仍屬於你,以及登入時充當第二道驗證。
也正因如此,這項檢查的強度完全取決於你對這個號碼的掌控程度。驗證碼傳到一條你已經無法掌控的線路,就保護不了任何人,這也是本頁下方所有建議背後的理由。
一次性驗證碼的傳送路徑
- 你送出一個號碼。 網站會把它轉成國際格式(例如
+1 208 555 1234),無法解析的號碼一律拒絕。 - 網站可能會做電信業者查詢。 查詢結果會回傳電信業者與線路類型。在這一步就被擋下的號碼,根本不會有簡訊產生,所以你看到的是「號碼無效」,而不是傳送失敗。
- 網站產生驗證碼。 通常是六位數,以雜湊值儲存並設定很短的有效期限(常見為五到十分鐘),再交給簡訊服務商。
- 服務商進行路由。 經過簡訊聚合商,再透過雙方約定的互連線路送到目的地電信業者。
- 電信業者把簡訊送達持有該號碼的那一端。
- 你把驗證碼輸入回去。 網站會將它與儲存的雜湊值比對,並確認尚未過期。
六個步驟、四個單位,只有第二步會產生你看得懂的錯誤訊息。之後的每一步,要嘛送到,要嘛就無聲無息地消失。
為什麼收不到驗證碼
大致依照實際發生頻率排列:
- 號碼在查詢階段就被拒絕。 線路類型回傳
voip,簡訊根本沒有發出。這是虛擬號碼失敗最常見的原因,而且看起來像是格式錯誤,而不是被拒絕。 - 電信業者把它過濾掉了。 大量的應用程式簡訊會被評估是否為垃圾訊息,被過濾的簡訊會直接被丟棄,不會退回。
- 這個號碼已經註冊過。 許多服務規定一個號碼只能註冊一個帳號,對已經見過的號碼不會再發送第二組驗證碼。
- 沒有可用的路由。 並非每個發送方都能送達每個目的地國家,缺少路由時會在毫無通知的情況下失敗。
- 送到了,但已經過期。 在十分鐘有效期的情況下排隊了十一分鐘的驗證碼,雖然送達,卻已經沒有用。
- 你被限制了請求頻率。 短時間內連續請求幾次之後,有些服務會停止發送,畫面卻仍然顯示同樣的確認訊息。
立刻重試只對其中一種情況有幫助。其他情況下,唯一有用的做法就是改變某個條件:換號碼、換線路類型,或換服務。
什麼情況下適合使用第二個號碼
用非個人號碼進行驗證,有很多再平常不過的理由:
- 用真實的電信路徑(而不是模擬環境)測試你自己的註冊或密碼重設流程。
- 讓工作帳號不綁在個人門號上,或者反過來。
- 人不在美國,卻要註冊一個要求美國號碼的服務。
- 考量到行銷名單最後的流向,不想把永久號碼交給一個毫無往來紀錄的網站。
但有一種情況不算:建立服務明確表示不允許的帳號。租來的號碼不會改變對方服務條款的內容,用這種方式建立的帳號,正是最後會消失的那種。
如何選擇驗證用的號碼
常見需要驗證碼的服務
- 99Ranch $0.01
- AARP $0.02
- 3Fun $0.08
- 101Plus $0.10
- Apple $0.12
- AMSecure $0.13
- TikTok $0.13
- Twitter $0.13
- WeChat $0.13
- Acorns $0.16
- Discord $0.16
- Uber $0.16
常見問題
- 簡訊驗證和雙重驗證是一樣的嗎?
- 它是雙重驗證的一種形式。雙重驗證指的是兩種不同類型的證明:你知道的東西,以及你擁有的東西。簡訊驗證碼屬於「你擁有的東西」,也是常見形式中最弱的一種,因為號碼可能被移轉而脫離你的掌控。
- 驗證碼的有效時間多長?
- 由發送的網站決定,常見的有效時間是五到十分鐘。刻意設得很短:一組有效一小時的驗證碼,就等於給攻擊者一小時的時間去使用它。
- 沒有手機也能完成驗證嗎?
- 你需要的是一個能接收簡訊的號碼,而不是一支手機。這正是租用電信門號所提供的,簡訊直接在螢幕上閱讀。
- 為什麼我放棄之後驗證碼才送到?
- 因為電信業者的佇列塞住了。簡訊已被接受、暫存,然後延遲送達,而那時網站通常已經讓它過期。接收端沒有任何方法可以加快這個過程。
- 簡訊驗證安全嗎?
- 比沒有好,但比驗證器 App 差。SIM 卡挾持和號碼回收都能破解它,這也是為什麼銀行和交易所越來越把簡訊當作備援,而不是主要的驗證方式。
相關頁面
準備好接收驗證碼了嗎?
註冊只要一分鐘,而且只需為成功送達的號碼付費。
免費建立帳號