軟件許可證

WHMCS 授權附加糢塊讓您能夠為自己開發嘅網頁應用提供授權,並銷售予終端用戶。 您可以生成本地授權密鑰,並設置定期遠程檢查,以確保產品授權的安全性。

  • 此為付費附加模塊,您需要另行購買 
  • 購買此附加糢塊之後,你無需安裝任何額外文件。
  • 確保你使用正確嘅授權附加糢塊:
    • 軟件授權附加糢塊讓您能夠為開發嘅軟件產品生成及檢查授權。
    • cPanel 授權附加模塊透過 Manage2 自動購買 cPanel 及 WHM 授權。
  • 如需更多信息及最新版本資料,請參閱 WHMCS 市場上的軟件授權附加模塊 

  啟用說明

啟用此附加糢塊嘅步驟:

  1.   購買附加糢塊。
  2. 前往幫助() % 3E 授權信息 
  3. 點擊強制更新許可證 。 將強制系統立即檢測您的附加元件許可證。
  4. 前往配置( < I id=1 > ) % 3E 系統設置% 3E 附加糢塊 
  5. 為附加元件點擊啟用 
  6. 點擊配置 
  7. 布局以下設置:
    • 公開許可證驗證工具 -勾選以啟用驗證頁面,訪客可使用此頁面檢查域名是否獲授權使用您的軟件。
      • 您可以使用 /modules/addons/licensing/licenseverify.tpl 文件自定義頁面外觀。
      • 此頁面將在 http://www.example.com/whmcs/index.php?m=licensing 提供,其中 http://www.example.com/whmcs/ 是您的 WHMCS 安裝位置。
    • 允許發行嘅最大次數番 -輸入客戶可以發行許可證嘅最大次數番。
    • 自動清理日誌 -設置保留許可證訪問日誌嘅時間長度。
  8. 選擇將可訪問此附加元件嘅管理員角色。
  9. 點擊儲存變更 

  使用此附加糢塊#

要配置許可產品:

  1. 設置( < I id=1 > ) % 3E 系統設置% 3E 產品/服務中建立產品。
  2. 糢塊設定分頁中,選擇授權軟件 
  3. 布局以下選項:
    • 密鑰長度 -隨機生成密鑰嘅長度。
    • 密鑰前綴 -授權密鑰嘅開頭部分。 你可以用此來驗證適用嘅密鑰。
    • 允許發行番 -客戶是否可以由客戶區發行授權番。
    • 允許域名衝突  允許督察衝突允許目錄衝突 -勾選以分別停用對匹配域名、IP 地址或目錄嘅位置驗證。 如不將其停用,WHMCS 將使用服務記錄中嘅有效值嚟驗證授權嘅位置。
    • 支持/更新附加組件 見下文 
    • 免費試用 -勾選以防止客戶喺同一域名上使用多個此產品嘅授權。 如客戶嘗試訂購此產品嘅第二份副本並將其用于與先前服務相同嘅域名,系統將自動暫停該服務,原因為重複使用免費試用 
您的客戶可以喺購買後透過下載嚟獲得佢哋訂購嘅軟件產品。 更多信息,請參閱產品下載派 

  授權狀態#

授權使用以下狀態:

  • 發行番 -授權已準備好使用。
    如果授權狀態為發行番 ,系統將在下一次授權檢查時保存域名、IP 地址同目錄。
  • 暫停 -授權已被暫停,用戶無法使用。
  • 活躍 -授權正在使用中,具有有效的域名、IP 地址同安裝路徑。
  • 過期 -授權已到達到期日,用戶無法使用。

  糢塊命令#

在客戶文件的產品/服務標籤中管理授權產品時,您可以使用以下模塊指令:

  糢塊指令   描述   設定許可證狀態為
  創建 為產品生成許可證密鑰。

創建糢塊指令唔會生成用戶名或密碼。
  重新發行
  暫停   暫停許可證。   已暫停
  終止   使授權過期   已過期
  重新發行 清除已儲存的授權域名、IP 地址及目錄   已重新發行
  撤銷 移除授權密鑰並允許將來重用該授權編號   不適用
  管理 查看或編輯授權的域名、IP 地址及目錄   不適用

  管理許可證#

要管理許可證,請前往附加元件% 3E 許可證管理器 。 您可以查看已發出的許可證密鑰列表、搜索密鑰,以及更新其相關聯的域名、IP 地址和目錄。

  附加組件#

您可以將附加產品分配給您的許可證產品,以供客戶在初次訂購時或日後購買。 例如,您可以為安裝和升級服務創建附加元件。

有關將附加元件集成到代碼中的步驟,請參閱下方的使用產品附加元件 

支持同更新附加部件#

當您在創建許可證產品時勾選支持/更新附加元件 ,系統將要求客戶擁有一個有效的支持/更新附加元件,才能獲得支持並下載相關產品。 您可以使用 WHMCS 支持的任何計費周期來銷售支持/更新附加元件。

如果你為授權產品勾選支持/更新附加元件 ,則必須同時配置支持/更新附加元件。

例如,您可以創建一個支持/更新附加服務,該服務在首次購買授權時免費提供,並在到期時需要付費續訂。

  作步驟如下:

  1. 建立您的授權產品,確保勾選支持/更新附加元件 
  2. 前往設置( < I id=1 > ) % 3E 系統設置% 3E 產品附加元件 
  3. 點擊新增 
  4. 輸入名稱、描述、價格及循環周期。
    唔好選中顯示於訂單 
  5. 適用產品部分為附加元件勾選所需緊嘅授權產品。
  6. 前往設置( < I id=1 > ) % 3E 系統設置% 3E 產品/服務 
  7. 編輯授權產品。
  8. 模塊設置標籤中,為支持/更新附加組件選擇您剛創建的附加元件。
  9. 點擊儲存變更 

默認情況下, 支持/更新附加元件在首個結算周期對您的客戶是免費的。 系統將在後續結算周期向客戶收取附加元件費用。

要在第一個計費周期向客戶收費,請在配置()> 系統設置> 產品/服務中配置以下設置:

  1. 創建附加服務時勾選顯示喺訂單上 
  2. 在產品配置中將支持/更新附加服務留空。

集成許可證檢查代碼#

附加服務嘅許可證檢查代碼位於/ modules/servers/licensing/check_sample_code.php 文件中。 你可以選擇如何將該代碼集成到您的軟件產品中。

用戶可以喺安裝過程中輸入授權密鑰,或把密鑰貼入檔案中。 你可以在呼叫 check_license 函數驗證前,先將該密鑰加載你的軟件產品。

每次授權檢查成功時,會返回一個本地密鑰。 你可以將該本地密鑰儲存在數據庫或本地檔案中,供後續頁面加載使用。 我哋建議將其儲存喺數據庫中以方便使用。

  • 本地密鑰係授權檢查數據嘅加密版本,可防止每次頁面加載時都向你嘅服務器發起授權檢查。
  • 在客戶首次進行檢查時,本地密鑰始終為空。

要整合授權檢查,請執行以下步驟:

  1. 從 check_sample_code.php 文件中複製並貼上授權檢查代碼到你想保護的檔案頂部。
  2. 在 $whmcsurl 變量中輸入你 WHMCS 安裝嘅系統 URL。
  3. 自定義 $licensing_secret_key 變量,以確保你的本地密鑰與其他授權附加組件用戶不同。
  4. 如果需要更改遠程授權檢查的頻率,可選擇性地更改 $localkeydays 和 $allowcheckfaildays 變量。
  5. 確保你嘅代碼執行以下作:
    • 從數據庫或文件存儲中檢索許可證密鑰和本地密鑰。
    • 調用 check_license 函數。
    • 根據 check_license 函數嘅結果執行所需作。 如需示例條件語句,請參閱 check_sample_code.php 文件。
    • 存儲許可證檢查返回嘅本地密鑰。

  使用產品附加組件 #

如果授權產品有任何已購買的附加元件,check_license 函數返回的 $results 陣列將包含一個以管道符分隔的 addons 字符串,其中包含附加元件的詳細信息。 例如:

[addons] => name=Test Addon;nextduedate=2017-12-26;status=Active

例如,您可以使用此數據來限制對某些功能的訪問或自定義其他行為。

以下代碼示例將此字符串處理為 $addons 陣列:

$tempresults = explode("|",$results["addons"]);
foreach ($tempresults AS $tempresult) {
  $tempresults2 = explode(";",$tempresult);
  $temparr = array();

  foreach ($tempresults2 AS $tempresult) {
  $tempresults3 = explode("=",$tempresult);
    $temparr[$tempresults3[0]] = $tempresults3[1];
  }

  $addons[] = $temparr;
}

使用可配置選項

如果授權產品有任何可配置選項,check_license 函數返回嘅 $results 陣列將包含一個以管道符分隔嘅 configoptions 字符串,其中包含選項詳細信息。 例如:

[configoptions] => Test=0|Test 002=

例如,您可以使用此數據把軟件限制為特定數量嘅用戶。

以下代碼示例將此字符串處理成一個 $cconfigoptions 陣列:

$tempresults = explode("|",$results["configoptions"]);
foreach ($tempresults AS $tempresult) {
  $tempresults2 = explode("=",$tempresult);
  $temparr = array();

  foreach ($tempresults2 AS $key => $value) {
    $temparr[$key] = $value;
  }

  $configoptions[] = $temparr;
}

  疑難排解 #

如需了解更多關於附加糢塊問題嘅疑難排解信息,請參閱附加糢塊疑難排解 

使用此附加糢塊時,你可能會遇到以下常見問題:


  錯誤或問題   原因   下一步
Invalid Key 授權檢查代碼未能將授權密鑰傳回軟件授權附加元件。 授權無效密鑰錯誤
軟件授權附加組件糢塊喺每次請求時都會生成新嘅本地密鑰。 系統嘗試保存本地授權密鑰時出現問題。 授權本地密鑰生成
Remote Check Failed 用戶服務器與終端客戶服務器之間存在連接問題。 授權遠程檢查錯誤