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