本篇文章更新時間:2021/01/12
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


前幾天在改版加密貨幣放貸機器人設定時,因為沒有帳號密碼機制,所以朋友這邊如果要做設定的頁面就可能被其他人「幫忙設定」。

思考怎小改版又能兼顧驗證的方式突然想到可以用 Two-factor authentication 簡稱 2FA,來處理。

搭配能夠自己輸入密鑰的 App 在手機裡就能綁定處理,這塊 App 使用 Authy

處理這樣的小功能,這安全性已經足夠,畢竟要破解這六碼數字,還得在 30 秒內解出,不然又會更新重來了~

網站擔任的是驗證密碼端與產出密鑰端,與用戶互動的流程如下:

2FA互動流程

密鑰只會提供一次,其後用戶只能透過 Authy App 提供的六位數密碼來讓網站授權使用。

驗證方法網路上有不少套件處理:

  1. Google Authenticator PHP class
  2. TotpAuthenticator

照著 RFC 6238 標準寫或許能產生一個好的結果,但仔細看有些套件還會把驗證六碼的機制補上時間偏移量,確保避免因為裝置與伺服器時間差過大產生的錯誤。

看這些程式碼還真是有趣~

也在前陣子看到有網友分享根據密鑰字串產生六碼驗證的簡單方法:Very small implementation of Google's OTP Authenticator 需求是當手機 App 失靈或是手機不見等意外發生時可以用電腦產生,只要記住當初的密鑰字串就可以處理。


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon