前幾天,我意外取得 iPanel 的 Nulled 版本。
因此詢問初心者站長的管理員興趣,並且嘗試整合到 Discuz 論壇幣系統。
經過幾天調查,發現不適用之後又轉向 WHMCS 研究。
而這兩款都使用特殊的加密(Zend的擴充套件,還未完全破解)
因此我無法理解原理,也無法做其他處理。
而在使用MSN對談過程中,我獲得了一個啟發「Access Key」與 cPanel 關係。
因此著手蒐集資料,最後在 cPanel Wiki 發現我的答案。
這是cPanel的一個API能夠控制 WHM 在 Wiki 顯示為 XmlApi
支援格式有 JSON 和 XML 兩種。
官方也公佈了一套範例 PHP 檔案,此篇文章則以其中核心部份 xmlapi.php.inc 做說明。
1. 到 cPanel Wiki 下載範例壓縮檔,並且把 xmlapi.php.inc 複製到要製作的目錄。
2. 新增一個 PHP 檔案,內容參考 範例壓縮檔 任一檔案撰寫。
include('xmlapi.php.inc'); //讀入程式庫
$server = 'domain.com'; //主機域名
$user = 'username'; //登入帳號(某些指令需要root帳號)
$accesskey = ''; //Access Key 可到 WHM 控制台複製(直接貼上即可,無須理會斷行)
//cPanel API Object
$cpapi = new xmlapi($server); //建立物件並連接主機
$cpapi->hash_auth($user, $accesskey); //進行登入(另一個方法是輸入帳號密碼)
//Create Account
$account_info = array(
'username' => 'testuser', //使用者帳號
'password' => 'p123456', //使用者密碼
'domain' => 'testuser.domain.com', //使用者域名
'email' => 'test@domain.com', //使用者信箱
'plan' => 'basic' //主機方案
);
$return = $cpapi->createacct($account_info); //下達指令,並且把傳回的XML儲存
3. 接著到 cPanel 控制台觀看,就會發現新帳號出現了!
如果想要把回傳資訊顯示出來,可以利用PHP5的simplexml讀取。
$xmlobj = simplexml_load_string($return);
foreach($xmlobj as $key => $arr){
echo "{$key} - {$arr}
";
}
如果想要知道更多資訊,可以到 cPanel Wiki 查詢。
經過這次的吸收知識,可是讓我了解WHMCS這類軟體原來是這樣控制主機控制台。
大家也試試看吧!
現在台灣很多人都提供cPanel免空,有租 Reseller 的朋友可以利用這個API做出一套簡易申請系統喔!
不但方便,還能夠順便儲存一些資訊以後調出來查詢呢!








