????JFIF??x?x????'
Server IP : 104.21.96.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/cwd/wp-content/plugins/malcare-security/ |
Upload File : |
<?php if (!defined('ABSPATH')) exit; if (!class_exists('MCWPCli')) : require_once dirname( __FILE__ ) . '/recover.php'; class MCWPCli { public $settings; public $siteinfo; public $bvinfo; public $bvapi; public function __construct($settings, $bvinfo, $bvsiteinfo, $bvapi) { $this->settings = $settings; $this->siteinfo = $bvsiteinfo; $this->bvinfo = $bvinfo; $this->bvapi = $bvapi; } public function create($args, $params) { $this->settings->updateOption($this->bvinfo->plug_redirect, 'no'); $request_params = array_merge($this->siteinfo->info(), $this->bvinfo->info()); $request_params['bvpublic'] = MCAccount::getApiPublicKey($this->settings); $request_params['bvsecret'] = MCRecover::defaultSecret($this->settings); $url = $this->bvinfo->appUrl()."/api/v3/accounts/".$params['account_id']."/sites"; foreach (preg_grep('#site_id|email|password|wp_cli_command|is_staging_env#i', array_keys($params)) as $key ) { $request_params[$key] = $params[$key]; } $headers = array( 'Authorization' => "BVAPI-HMAC {$params['account_public']}:{$params['sig']}:{$params['timestamp']}" ); $resp = $this->request($url, $request_params, $headers); $this->updateAccountInfo($resp); $this->handle_response($resp); } public function setkeys($args, $params) { if (!isset($params['public']) || !isset($params['secret'])) { WP_CLI::error('Please enter valid public and secret keys.'); } $secret = $params['secret']; $pubkey = $params['public']; if (strlen($pubkey) < 32 || strlen($secret) < 32) { WP_CLI::error('Public key and secret key should be 32 characters long.'); } MCAccount::addAccount($this->settings, $pubkey, $secret); MCAccount::updateApiPublicKey($this->settings, $pubkey); if (MCAccount::exists($this->settings, $pubkey)) { WP_CLI::success('Keys Setup Successfully.'); } else { WP_CLI::error('Keys Setup Failed.'); } } public function disable_fw($args, $params) { $account = MCAccount::apiPublicAccount($this->settings); if (!$account) { WP_CLI::error('Account not found'); } $resp = $this->request($account->authenticatedUrl('/bvapi/disable_fw')); $this->handle_response($resp); } public function enable_fw($args, $params) { $account = MCAccount::apiPublicAccount($this->settings); if (!$account) { WP_CLI::error('Account not found.'); } $resp = $this->request($account->authenticatedUrl('/bvapi/enable_fw')); $this->handle_response($resp); } public function disconnect($args, $params) { $status = false; if (isset($params['public_key'])) { $status = MCAccount::remove($this->settings, $params['public_key']); } else if(isset($params['account_type'])) { $status = MCAccount::removeByAccountType($this->settings, $params['account_type']); } else if(isset($params['account_gid'])) { $status = MCAccount::removeByAccountGid($this->settings, $params['account_gid']); } else { WP_CLI::error('Input Params are incorrect. Please validate the params.'); } if ($status) { WP_CLI::success('Account removed successfully.'); } else { WP_CLI::error('No Account exists.'); } } private function request($url, $request_params = array(), $headers = array()) { $resp = $this->bvapi->http_request($url, $request_params, $headers); return $resp; } private function updateAccountInfo($resp) { if(isset($resp["response"]) && isset($resp["response"]["code"]) && ($resp["response"]["code"] == 200)) { if (isset($resp["body"])) { $body = json_decode($resp["body"], true); if (isset($body["account_info"])) { $info = $body["account_info"]; MCAccount::addAccount($this->settings, $info['pubkey'], $info['secret']); $account = MCAccount::find($this->settings, $info['pubkey']); $account->updateInfo($info); } } } } private function handle_response($resp) { if (empty($resp)) { WP_CLI::error("Error in connecting to MalCare Server. Please retry after some time."); } else if (is_wp_error($resp)) { $error_message = ""; if (isset($resp->errors["http_request_failed"][0])) { $error_message = $resp->errors["http_request_failed"][0]; } else { $error_message = "WPError request params empty"; } WP_CLI::error("{$error_message} . Please retry after sometime or contact us."); } else { if (isset($resp["response"])) { if (isset($resp["response"]["code"])) { $resp_code = $resp["response"]["code"]; if ($resp_code == 200) { if (isset($resp["body"])) { $body = json_decode($resp["body"], true); if (isset($body["error"])) { WP_CLI::error("code: {$resp_code} -- message: {$body["error"]} . Please retry or contact us"); } else if (isset($body["message"])) { WP_CLI::success("code: {$resp_code} -- message: {$body["message"]}"); } else { WP_CLI::error("Invalid Response. Please retry or contact us."); } } else { WP_CLI::error("Invalid Response. Please retry or contact us."); } } else if (MCHelper::safePregMatch("/^4[0-9][0-9]$/", strval($resp_code))) { if (isset($resp["body"])) { WP_CLI::error("code: {$resp_code} -- message: {$resp["body"]}"); } else { WP_CLI::error("Invalid Response. Please retry or contact us."); } } else { if (isset($resp["response"]["message"])) { WP_CLI::error("code: {$resp_code} -- message: {$resp["response"]["message"]} . Please retry or contact us"); } else { WP_CLI::error("Invalid Response. Please retry or contact us."); } } } else { WP_CLI::error("Invalid Response. Please retry or contact us."); } } else { WP_CLI::error("Invalid Response. Please retry or contact us."); } } } } endif;