本篇文章更新時間:2021/01/12
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
前幾天在改版加密貨幣放貸機器人設定時,因為沒有帳號密碼機制,所以朋友這邊如果要做設定的頁面就可能被其他人「幫忙設定」。
思考怎小改版又能兼顧驗證的方式突然想到可以用 Two-factor authentication
簡稱 2FA,來處理。
搭配能夠自己輸入密鑰的 App 在手機裡就能綁定處理,這塊 App 使用 Authy。
處理這樣的小功能,這安全性已經足夠,畢竟要破解這六碼數字,還得在 30 秒內解出,不然又會更新重來了~
網站擔任的是驗證密碼端與產出密鑰端,與用戶互動的流程如下:
密鑰只會提供一次,其後用戶只能透過 Authy App 提供的六位數密碼來讓網站授權使用。
驗證方法網路上有不少套件處理:
照著 RFC 6238 標準寫或許能產生一個好的結果,但仔細看有些套件還會把驗證六碼的機制補上時間偏移量,確保避免因為裝置與伺服器時間差過大產生的錯誤。
看這些程式碼還真是有趣~
也在前陣子看到有網友分享根據密鑰字串產生六碼驗證的簡單方法:Very small implementation of Google's OTP Authenticator 需求是當手機 App 失靈或是手機不見等意外發生時可以用電腦產生,只要記住當初的密鑰字串就可以處理。