[英]Can I login to cPanel through PHP?
我想通過 Php 腳本登錄 cPanel,需要從文件管理器修改一些文件。
我也有 cPanel 用戶名和密碼,但我想通過 PHP 腳本以圖形方式修改文件。
我將使用 file_put_content 從文件管理器修改文件。
看下面的代碼:
是的,有一種方法,CPanel 有一個 API 可以被 PHP 使用。 文檔中的示例:
// Instantiate the CPANEL object.
require_once "/usr/local/cpanel/php/cpanel.php";
// Connect to cPanel - only do this once.
$cpanel = new CPANEL();
// Get domain user data.
$get_userdata = $cpanel->uapi(
'DomainInfo', 'domains_data',
array(
'format' => 'hash',
)
);
// Perform the desired actions.
實現此功能所需的元素是 –
Server/WHM Username
Cpanel account Username
Server login URL
Server accesshash key
對於 Accesshash 密鑰,新的或已經生成的訪問密鑰可以從這里獲得:- WHM > 遠程訪問密鑰區域和位於那里的訪問密鑰。 或者它應該在這個路徑“/usr/local/cpanel/bin/realmkaccesshash
獲得所有這些詳細信息后,您可以按照以下代碼步驟操作:-
$query = "https://$server_login_link:2087/json-api/create_user_session?api.version=1&user=$cpanel_user&service=cpaneld";
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
$header[0] = "Authorization: WHM $whmusername:" . preg_replace("'(\r|\n)'","",$hash);
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
curl_setopt($curl, CURLOPT_URL, $query);
$result = curl_exec($curl);
if ($result == false) {
// your error log
}
if($result){
$decoded_response = json_decode( $result, true );
if(isset($decoded_response['data']) && !empty($decoded_response['data'])){
$url = $decoded_response['data']['url'];
return $url;
}
}
一旦你得到這個 URL,你可以直接在新選項卡或同一個選項卡中打開它,你必須登錄。它會生成類似於 session 作為 cpanel 登錄並為你提供所有特定的 cpanel 權限。
請記住,它只會讓您使用給定的特定帳戶登錄,而不是服務器內的所有 cpanel 帳戶訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.