Могу ли я войти в cPanel через PHP?

Я хочу войти в cPanel через скрипт Php и мне нужно изменить какой-то файл из файлового менеджера.

У меня также есть имя пользователя и пароль cPanel, но я хочу изменить файл через PHP-скрипт не графически.

Я буду использовать file_put_content для изменения файла из файлового менеджера.

См. ниже код:

введите здесь описание изображения


person amrut ratnani    schedule 24.06.2017    source источник
comment
отметив, что cpanel делает то, что вы не можете просто сделать в php. Но у него также есть API   -  person    schedule 24.06.2017
comment
Нет необходимости в доступе к cpanel. установить задание cron   -  person Saad Suri    schedule 24.06.2017
comment
Вы можете просто подключиться к серверу, используя ftp_ команды в PHP.   -  person halfer    schedule 24.06.2017
comment
Пожалуйста, прочитайте При каких обстоятельствах я могу добавить «срочно» или другие подобные фразы к моему вопросу, чтобы получить более быстрые ответы? - Подводя итог, можно сказать, что это не идеальный способ обращения к волонтерам и, вероятно, контрпродуктивно для получения ответов. Пожалуйста, воздержитесь от добавления этого к своим вопросам.   -  person halfer    schedule 24.06.2017


Ответы (2)


Да, есть способ, у 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.
person Lajos Arpad    schedule 24.06.2017
comment
Где находится класс cpanel.php? я вижу вашу ссылку на документ, но я также не могу оштрафовать этот класс. - person amrut ratnani; 26.06.2017
comment
Еще одна вещь, я могу получить только информацию о домене, используя это, на самом деле я хочу изменить файлы сервера веб-сайта после входа в cpanel через php. Спасибо, - person amrut ratnani; 26.06.2017
comment
Вероятным расположением файла является /usr/local/cpanel/php/cpanel.php. Пожалуйста, прочтите документацию, нет смысла вставлять сюда весь соответствующий контент. А файловые операции можно делать, опять же, с помощью API, который, опять же, описан в документации: documentation.cpanel.net/display/SDK/ - person Lajos Arpad; 26.06.2017

Элементы, необходимые для реализации этой функциональности:

    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-адрес, вы можете напрямую открыть его на новой вкладке или той же вкладке, и вы должны войти в систему. Он генерирует сеанс, аналогичный входу в cpanel, и предоставляет вам все эти конкретные привилегии cpanel.

Помните, что он регистрирует вас только с данной конкретной учетной записью, а не для доступа ко всем учетным записям cpanel на сервере.

person jagjeet    schedule 31.08.2017