簡體   English   中英

我可以通過PHP登錄cPanel嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM