簡體   English   中英

cPanel停放域不返回數組

[英]cPanel Parked Domains Not returning array

密碼更改,cPanel損壞。 修復了密碼,但仍然無法破解! 我必須遍歷停放的域。 我已通過PuTTY驗證用戶/密碼組合正確。

<?php
include_once('cpanel_api_xml.php');
$domain = 'example.com';
$pass = '';//etc
$user = '';//etc
$xmlapi = new xmlapi('127.0.0.1');
$xmlapi->password_auth($user,$pass);
$domains_parked = $xmlapi->listparkeddomains($user);

foreach ($domains_parked as $k1=>$v1)
{
 if ($v1->domain == $domain) {$return = true; break;}
}
?>

該代碼生成以下錯誤:

為foreach()提供了無效的參數

顯然,甚至沒有設置$domains_parked 我花了很多時間看一下被調用的函數,因此這里沒有轉儲全部86KB,這是$xmlapi->listparkeddomains的清理版本:

<?php
public function listparkeddomains($username, $domain = null)
{
 $args = array();
 if (!isset($username))
 {
  error_log("listparkeddomains requires that a user is passed to it");
  return false;
 }

 if (isset($domain))
 {
  $args['regex'] = $domain;
  return $this->api2_query($username, 'Park', 'listparkeddomains', $args);
 }

 return $this->api2_query($username, 'Park', 'listparkeddomains');
}
?>

我不知道他們將變量設置為第二個參數在做什么。 我已經在有或沒有調用此函數,並使用簡單的mail()測試了響應。

接下來,我嘗試以更直接的方式調用API:

$xmlapi->api2_query($username, 'Park', 'listparkeddomains')

那也行不通。 好的,讓我們嘗試一些原始的輸出測試:

echo "1:\n";
print_r($xmlapi);
echo "2:\n";
print_r($xmlapi->api2_query($user, 'Park', 'listparkeddomains'));
echo "3:\n";
$domains_parked = $xmlapi->listparkeddomains($user);
print_r($domains_parked);
die();

輸出以下內容:

1:xmlapi對象(

 [debug:xmlapi:private] => [host:xmlapi:private] => 127.0.0.1 [port:xmlapi:private] => 4099 [protocol:xmlapi:private] => https [output:xmlapi:private] => simplexml [auth_type:xmlapi:private] => pass [auth:xmlapi:private] => <pass> [user:xmlapi:private] => <user> [http_client:xmlapi:private] => curl ) 2: 3: 

盡管我別無選擇,只能使用它,但我從未遇到過如此脆弱的代碼。 請幫忙嗎?

因此cPanel 74版取消了整個XML API, 它不會告訴您任何錯誤信息 我至少不能客觀地說cPanel提供了一個穩定的平台來構建任何可靠的東西。 您可以故意使服務器無法自動更新(並可能錯過安全更新),也可以每隔X次重復一次……一次又一次完全重寫代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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