多域名授權管理有什麼技巧?

Thread Source: php奇云多应用授权系统|万能在线更新页面

多域名授權管理看似只是把幾個網域填進後台,實際上卻牽涉到網域格式、授權週期、版本更新與盜版追蹤等細節。尤其是 SaaS、代理商分銷或同一套程式服務多個品牌時,如果只用「完整網域字串」比對,很容易遇到 www.example.com、example.com 和 api.example.com 被誤判成不同站點的問題。比較穩妥的做法,是先把網域標準化,再決定授權範圍。

先定義單域名、泛域名與多域名規則

建議在建立應用時,明確區分三種模式:

  • 單域名授權:只允許指定網域,例如 shop.example.com。
  • 泛域名授權:允許 *.example.com 的子網域,但要防止錯誤匹配到 badexample.com。
  • 多域名授權:同一組授權碼綁定多個合法網域,適合企業客戶或多站部署。

比對前應移除協議、連接埠與結尾斜線,並統一大小寫。例如 https://Example.com:443/,應轉換為一致格式後再檢查。若直接以字串判斷,後續搬站或啟用 HTTPS 時,客服工單通常會突然增加,這種問題很常見。

授權碼不要只綁域名

實務上,建議將授權資料拆成「應用標識、授權碼、域名清單、有效期、版本權限」幾個欄位,而不是把所有內容硬編碼在一個檔案裡。授權碼可搭配簽名機制,例如 HMAC 或非對稱加密,避免使用者直接修改 AUTHCODE、AUTH_BUILD 等參數繞過檢測。

如果客戶有測試站,最好提供獨立的測試授權或白名單規則,例如允許 localhost、內網 IP 或指定測試子網域,但正式環境仍需重新核驗。這比把所有域名都設成永久放行安全得多。

多站授權要保留操作紀錄

後台至少應記錄授權建立者、使用者、綁定域名、IP、時間、應用版本與最後一次檢查結果。當同一組授權在短時間內從香港、美國及歐洲不同 IP 登入,或突然出現數十個陌生域名,就值得觸發風險提示,而不是直接刪除資料。誤判一次,可能就會傷害正版客戶的信任。

更新機制要與授權檢查分開

線上更新檔案雖然方便,但 online_update.php 的訪問口令不能使用簡單的 123456,也不宜長期暴露在公開路徑。更新前應驗證授權、應用標識與目前 build,並保留備份及回滾方案。我的看法是,授權檢查可以嚴格,但處置要留餘地:先記錄、提示與暫停更新,確認是盜版後再採取限制措施,系統會更穩,也比較不容易誤傷真正付費的使用者。

評論(8)

提示:請文明發言

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

  • 怒火狂潮 普通用户

    網域標準化這步真的不能省,之前搬站換 HTTPS 就中過一次

    2 個月前 Reply
  • 寒江釣客

    先記錄再處置這個順序我很認同,直接封掉最容易得罪付費客戶

    2 個月前 Reply
  • 廢話多多 普通用户

    泛域名那個 badexample.com 的坑,看到當下有點冷汗😅

    2 個月前 Reply
  • 夜貓子 普通用户

    想問測試站白名單一般會設多久有效期比較合適?

    2 個月前 Reply
  • MechMaven 普通用户

    授權碼加簽名這塊有推薦的實作方式嗎,HMAC 夠用嗎

    2 個月前 Reply
  • Mystic Monsoon

    最怕的就是客戶自己改參數繞過去

    2 個月前 Reply
  • 忍者龜

    操作紀錄留 IP 和 build 真的有用,出事的時候才查得到

    1 個月前 Reply
  • 泡泡梦 普通用户

    更新口令那段講到重點了,很多人真的就放預設密碼在公開路徑

    1 個月前 Reply