帳號與登入安全
3.8.1 加了一組帳號安全功能,會員和管理員都有:
| 對象 | 新功能 |
|---|---|
| 會員 | 兩步驗證、資金操作二次驗證、登入裝置管理、安全日誌、通行密鑰登入 |
| 管理員 | 通行密鑰登入、閒置自動鎖定、新的登入頁 |
3.8.2 又加了對接白名單 IP:登記了 IP 後,對接介面只接受從這些伺服器來的餘額下單;開了資金操作二次驗證的帳號,也要靠它才能透過對接介面下單。
升級須知
升級到 3.8.1 後會有下面這些變化,都是正常的。升級方法見 升級與遷移。
- 所有會員都要重新登入一次。 為了安全,會員的登入憑證全部重建,原本的登入狀態會失效。
- 密碼改用更強的雜湊儲存。 會員和管理員的密碼在下次用密碼登入時自動轉換,不用你操作。管理員轉換的那一次,他在其他裝置上的後臺登入會失效,重新登入即可。
- 後臺閒置自動鎖定預設開啟,時間是 15 分鐘,見下文「閒置自動鎖定」。升級本身不會讓管理員被登出。
- 資料庫改動由線上升級自動完成,不用手動執行 SQL。
升級後不要再退回舊版本。 密碼已經轉換過的帳號,在舊版本裡無法用密碼登入。
會員端
會員中心的安全導覽列(個人資料、密碼設定、信箱設定、手機設定那一排)多了這些頁面:
| 頁面 | 用途 |
|---|---|
| 兩步驗證 | 登入時除了密碼,還要輸入驗證器 App 上的動態碼;資金操作二次驗證的開關也在這裡 |
| 登入裝置 | 查看哪些裝置登入著這個帳號,並將它們登出 |
| 對接白名單 | 3.8.2 新增:登記能透過對接介面用餘額下單的伺服器 IP。只有預設主題有這一頁,其他主題放在「兩步驗證」頁裡 |
| 安全日誌 | 登入、改密碼、提現等重要操作的紀錄 |
| 通行密鑰 | 用指紋、臉部辨識或裝置 PIN 碼代替密碼登入 |
兩步驗證
開啟步驟:
- 打開 兩步驗證 頁面,點「開啟兩步驗證」
- 用驗證器 App(Google Authenticator、Microsoft Authenticator 等)掃描 QR Code
- 輸入 App 上顯示的 6 位數動態碼和帳號密碼,確認開啟
- 頁面會顯示 8 組備用恢復碼,只會顯示這一次,請務必存好
開啟之後:
- 登入時輸入密碼後,還要輸入 6 位數動態碼;手邊沒有動態碼時,可以用一組恢復碼代替
- 其他裝置上的登入會被登出,只保留目前這臺
- 資金操作二次驗證會自動開啟,見下一節
恢復碼每組只能用一次。手機遺失、打不開驗證器時,可以用它登入,或用它關閉兩步驗證。
| 操作 | 需要輸入 |
|---|---|
| 關閉兩步驗證 | 帳號密碼 + 動態碼或一組恢復碼。資金操作二次驗證會一併關閉 |
| 重新產生恢復碼 | 帳號密碼 + 動態碼。舊的恢復碼全部作廢 |
金鑰和恢復碼只在設定時顯示一次,之後不會出現在任何頁面、清單或匯出資料裡,後臺也看不到。
資金操作二次驗證
兩步驗證 頁面上的一個開關。開啟兩步驗證時會自動打開;切換這個開關需要輸入帳號密碼和動態碼。
打開後,會員進行下面這些操作前,要先輸入當下的 6 位數動態碼:
- 用餘額支付下單
- 申請提現(兌現)
- 給下級會員轉帳
- 用餘額開通商戶等級
驗證通過後,5 分鐘內不會再重複詢問。沒開兩步驗證的會員完全不受影響。
對接要注意: 店鋪共享和 API 對接用的都是對接介面,由伺服器自動呼叫,沒辦法輸入動態碼。所以開了資金操作二次驗證的帳號,透過對接介面用餘額下單時只認呼叫方伺服器的 IP:在這個帳號的對接白名單 IP裡才放行,白名單是空的就一律拒絕。下游網站用這種帳號對接你的店,或者你用自己在上游的帳號對接別人,都是這樣。
3.8.1 還沒有白名單,這種帳號完全不能透過對接介面消費餘額,只能在這個帳號上關掉資金操作二次驗證(兩步驗證可以繼續開著)。
對接白名單 IP
3.8.2 新增,所有會員都能用,和有沒有開兩步驗證無關。新增第一筆就啟用:之後對接介面用這個帳號的餘額下單時,只接受清單裡的 IP 或網段。只管下單,拉商品、查庫存、查訂單都不受影響。
| 清單 | 開了資金操作二次驗證 | 沒開資金操作二次驗證 |
|---|---|---|
| 有項目 | 只接受清單裡的來源 | 只接受清單裡的來源 |
| 空的 | 一律拒絕(對接介面沒辦法輸入動態碼) | 不限制,和 3.8.2 之前一樣 |
沒開資金操作二次驗證的帳號也值得設定:商戶金鑰(app_key)萬一外洩,對方不從清單裡的 IP 發起,就用不了你的餘額下單。
在哪裡設定:
- 預設主題(原初之力):會員中心安全導覽列裡的 對接白名單 頁,在「安全日誌」左邊。開了兩步驗證時,兩步驗證 頁的資金操作二次驗證開關下方也會給一行提示:開了資金操作二次驗證、清單還空著時是黃色提醒,附「去添加」連結;清單有項目時顯示放行了幾個來源,附「管理白名單」連結
- 其他主題:白名單直接顯示在 兩步驗證 頁:開了兩步驗證時在資金操作二次驗證開關下方,沒開時在頁面底部
| 項目 | 說明 |
|---|---|
| 能填什麼 | 單一 IPv4 或 IPv6 位址,或是 CIDR 寫法的網段,例如 203.0.113.0/24 |
| 網段上限 | IPv4 最大 /16,IPv6 最大 /48。0.0.0.0/0 這類更大的網段無法加入 |
| 筆數和備註 | 每個帳號最多 20 筆,每筆可以寫一段備註(最多 32 個字) |
| 新增 | 要驗證身分:開了兩步驗證的輸入驗證器 App 上的 6 位數動態碼,沒開的輸入帳號密碼 |
| 移除 | 不用驗證,移除只會縮小放行範圍 |
| 最近放行 | 每筆都會顯示它上一次放行對接下單的時間 |
預設主題的 對接白名單 頁頂端會顯示目前狀態:
| 狀態 | 意思 |
|---|---|
| 已啟用 | 清單有項目,對接介面只接受清單裡的來源 |
| 清單還是空的 | 開了資金操作二次驗證、清單是空的,對接下單全部被拒 |
| 未啟用 | 沒開資金操作二次驗證、清單是空的,不限制來源;新增第一個 IP 就會啟用 |
最近被拒絕的來源: 對接下單被拒時,回傳給呼叫方的錯誤訊息故意不帶 IP —— 下游網站可能把上游的錯誤訊息直接顯示給顧客,帶上 IP 就等於公開了下游伺服器的真實 IP。被拒的 IP 改為列在白名單下方的「最近被拒絕的來源」裡(最近 7 天,最多 5 個),點一下就能加入白名單,同樣要驗證身分。每次被拒也會在安全日誌裡記一筆「風險較高」的紀錄,同一個 IP 每 10 分鐘最多記一筆。這裡出現不認識的 IP,表示有人拿著這個帳號的商戶金鑰(app_key)在下單,應立即重設商戶金鑰。
不知道伺服器 IP: 先對接下一單。只要這一單被拒(開了資金操作二次驗證,或者清單裡已經有別的 IP),伺服器的 IP 就會出現在「最近被拒絕的來源」裡,直接加進白名單即可。否則就在呼叫介面的那臺伺服器上查出它對外連線用的公開 IP 並新增;有了第一個 IP 之後,其他來源的對接下單都會被拒,並列在「最近被拒絕的來源」裡。
站長注意: 系統依 網站設定 → 安全設定 裡的「IP 獲取方式」和「受信代理 IP」判斷呼叫方的 IP。網站套了 CDN 或反向代理、卻沒把它設為受信代理時,所有對接請求看起來都來自 CDN 的 IP,會員只能把 CDN 的 IP 加進白名單,白名單就形同虛設。請先把受信代理設定好。
登入裝置
3.8.1 起,一個帳號可以同時在多臺裝置上保持登入。舊版本在新裝置登入時,會把上一臺裝置擠下線。
登入裝置 頁面列出所有登入中的裝置:裝置類型、系統和瀏覽器、登入時的 IP 和時間、最近活動的 IP 和時間。目前正在用的這臺會標上「當前設備」。
可以逐臺登出,也可以點「退出其他設備」或「退出全部設備」。發現陌生裝置,先將它登出,再修改密碼。
安全日誌
帳號上的重要操作都會記錄下來,每筆都有時間、IP 和瀏覽器:
| 類別 | 記錄的事件 |
|---|---|
| 登入 | 登入成功(含通行密鑰登入)、登入失敗、登出 |
| 帳號資料 | 修改密碼、信箱、手機號碼、個人資料或結算方式 |
| 驗證設定 | 開啟或關閉兩步驗證、開啟或關閉資金操作二次驗證、通過資金操作二次驗證、重新產生恢復碼 |
| 裝置與金鑰 | 登出裝置、新增或刪除通行密鑰、重設商戶金鑰(app_key) |
| 資金 | 申請提現、給下級會員轉帳 |
| 對接白名單 | 新增或移除對接白名單 IP、對接下單被拒(呼叫方 IP 不在白名單裡) |
風險較高的事件會帶上「風險較高」標記,例如登入 IP 和上次不同、登入失敗、關閉兩步驗證、重設商戶金鑰、新增對接白名單 IP、對接下單被拒。點「只看風險」可以只看這些。
日誌不會儲存信箱、手機號碼、收款帳號這類內容。
管理員查看: 後臺 會員管理,每位會員那一列都有「安全日誌」按鈕(盾牌圖示),點開就是這位會員的日誌,可以依類型、詳情、IP、時間篩選。管理員在後臺重設會員密碼,也會記錄進去。3.8.2 起這個按鈕只有主管理員帳號(安裝時建立的那個)能開啟,超級管理員、白班、夜班帳號點開會提示沒有權限。
通行密鑰
用指紋、臉部辨識或裝置的螢幕鎖定密碼(PIN 碼)代替密碼登入。通行密鑰存放在會員自己的裝置或密碼管理工具裡,釣魚網站騙不走。
新增: 打開 通行密鑰 頁面 → 點「新增通行密鑰」→ 輸入帳號密碼 → 依裝置提示完成驗證。每個帳號最多 10 個,可以重新命名、刪除。
登入: 在登入頁點「使用通行密鑰登入」,或點一下帳號輸入框、從自動填入選單選擇通行密鑰,再用指紋、臉部辨識或 PIN 碼確認。
開了兩步驗證的會員,用通行密鑰登入時,只要在裝置上完成了指紋、臉部辨識或 PIN 碼驗證,就不用再輸入動態碼。沒做這一步的(例如沒設 PIN 碼的實體安全金鑰),仍要輸入動態碼。
通行密鑰對連線方式有要求:
| 要求 | 說明 |
|---|---|
| HTTPS + 域名 | 網站要用 https://域名 開啟,用 http 或 IP 連線都不行 |
| 系統瀏覽器 | 微信、QQ、支付寶等 App 內建的瀏覽器不支援 |
| 同一個域名 | 通行密鑰只在新增時的那個域名下有效。帶 www 和不帶 www 算兩個域名,每個分站域名也各自分開 |
前兩項不符合時,登入頁不會出現「使用通行密鑰登入」按鈕。
其他主題
預設主題(原初之力)已經具備這些頁面。洛杉磯、富士山、紐約、西雅圖、澀谷、魯迪烏斯等有會員中心的主題,要透過各自的主題更新取得這些頁面 —— 到應用商店把主題更新到最新版。這些主題沒有單獨的「對接白名單」頁,白名單直接顯示在「兩步驗證」頁:開了兩步驗證時在資金操作二次驗證開關下方,沒開時在頁面底部。
不論使用哪個主題,開了兩步驗證的會員都能正常登入。
後臺
通行密鑰登入
管理員可以用通行密鑰登入後臺,不用輸入密碼。
- 點右上角頭像,進入 個人設定
- 在「通行密鑰」一欄點「新增通行密鑰」
- 輸入目前的登入密碼
- 依提示用指紋、臉部辨識、Windows Hello、手機或安全金鑰確認
之後在後臺登入頁點「使用通行密鑰登入」即可。密碼登入照常可用;通行密鑰也能用來解除閒置鎖定。同樣需要 HTTPS,而且只在新增時使用的那個域名下有效。
開了谷歌驗證器的管理員:
| 通行密鑰 | 登入時 |
|---|---|
| 在裝置上做了指紋、臉部辨識或 PIN 碼驗證 | 直接登入,不用輸入谷歌驗證碼 |
| 沒做這一步(例如沒設 PIN 碼的一般安全金鑰) | 仍要輸入谷歌驗證碼 |
修改管理員密碼不會讓他的通行密鑰失效。 要收回某位管理員的後臺權限,請停用或刪除這個管理員帳號。
閒置自動鎖定
升級後預設開啟,時間是 15 分鐘。在 網站設定 → 安全設定 的「後台閒置自動鎖定」裡修改,可填 0–1440 分鐘,填 0 關閉。見 網站設定。
- 超過設定的時間沒有滑鼠、鍵盤或觸控操作,後臺會自動鎖定
- 解鎖:輸入登入密碼,或使用通行密鑰;也可以點「改用其他帳號登入」
- 鎖定由伺服器判斷。頁面自己定時重新整理資料不算操作;勾選「保持登入」的裝置一樣會鎖定
- 鎖定時會離開目前的頁面,正在編輯的內容記得先儲存
- 升級本身不會讓管理員被登出
新的登入頁
後臺登入頁改成了 macOS 鎖定畫面的樣子:一個時鐘,加上玻璃質感的輸入框。
- 右上角可以切換語言和外觀(亮色 / 暗色 / 跟隨系統)
- 出錯時,提示直接顯示在對應的輸入框下方;開著大寫鎖定會提醒
- 開了谷歌驗證器的帳號,驗證碼輸入框會直接在登入框裡展開
- 沒設自訂背景(或用的就是預設那張)時,顯示內建桌布,隨亮色 / 暗色切換;自訂背景照常生效
預設背景圖本身換了新圖。 還在用預設「PC背景圖片」的網站,前臺和會員中心的背景也會跟著改變。想保留舊圖:升級前先把網站上的
/assets/admin/images/login/bg.jpg另存一份,升級後到 網站設定 → 基本設定 把它當作「PC背景圖片」上傳。
常見問題
| 現象 | 怎麼辦 |
|---|---|
| 登入頁沒有「使用通行密鑰登入」按鈕 | 用 https://域名 開啟網站,並改用系統瀏覽器,不要用微信、QQ、支付寶裡的內建瀏覽器 |
| 會員手機遺失,看不到動態碼 | 用一組恢復碼登入,然後關閉兩步驗證,在新手機上重新開啟 |
| 後臺太常自動鎖定 | 到 網站設定 → 安全設定 把「後台閒置自動鎖定」調長,或填 0 關閉 |
| 對接下單失敗,提示「该账号已开启资金二次验证,必须先登记对接白名单 IP 才能通过对接接口用余额下单。请登录该账号的会员中心,在「对接白名单」(或「两步验证」页)把服务器 IP 加入白名单;被拒的 IP 会列在那里」 | 上游是 3.8.2 以上,這個帳號開了資金操作二次驗證,白名單還是空的。登入這個帳號的會員中心,開啟 對接白名單 頁(其他主題在 兩步驗證 頁),把「最近被拒絕的來源」裡的伺服器 IP 加進對接白名單 IP |
| 對接下單失敗,提示「调用方 IP 不在该账号的对接白名单内。请登录该账号的会员中心,在「对接白名单」(或「两步验证」页)把服务器 IP 加入白名单;被拒的 IP 会列在那里」 | 上游是 3.8.2 以上,這個帳號設了白名單,呼叫方伺服器的 IP 不在裡面。同樣從「最近被拒絕的來源」把它加進去;這個 IP 你不認識的話,商戶金鑰可能已經外洩,請先重設商戶金鑰 |
| 對接下單失敗,提示「该账号已开启资金二次验证,无法通过对接接口消费余额」 | 上游是 3.8.1,還沒有白名單。在這個帳號的 兩步驗證 頁面關掉資金操作二次驗證,或者請上游升級到 3.8.2 後改用白名單 |
| 後臺點會員的「安全日誌」提示沒有權限 | 3.8.2 起只有主管理員帳號(安裝時建立的那個)能看會員的安全日誌 |
| 升級後所有會員都被登出了 | 正常現象,每位會員重新登入一次即可 |
| 換了域名,通行密鑰不能用 | 通行密鑰綁定新增時的域名,在新域名下重新新增一個 |
