![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/gositeme.com/public_html/wp-content/plugins/malcare-security/ |
<?php
if (!defined('ABSPATH')) exit;
if (!class_exists('MCRecover')) :
class MCRecover {
public static $default_secret_key = 'bv_default_secret_key';
public static function defaultSecret($settings) {
$secret = self::getDefaultSecret($settings);
if (empty($secret)) {
$secret = MCRecover::refreshDefaultSecret($settings);
}
return $secret;
}
public static function refreshDefaultSecret($settings) {
$key_details = array();
$key_details["key"] = MCAccount::randString(32);
$key_details["expires_at"] = time() + (24 * 60 * 60);
$settings->updateOption(self::$default_secret_key, $key_details);
return $key_details["key"];
}
public static function deleteDefaultSecret($settings) {
$settings->deleteOption(self::$default_secret_key);
}
public static function getDefaultSecret($settings) {
$key_details = $settings->getOption(self::$default_secret_key);
if (is_array($key_details) && $key_details["expires_at"] > time()) {
return $key_details["key"];
}
return null;
}
public static function getSecretStatus($settings) {
$key_details = $settings->getOption(self::$default_secret_key);
$status = 'ACTIVE';
if (!is_array($key_details)) {
$status = 'DELETED';
} elseif ($key_details["expires_at"] <= time()) {
$status = 'EXPIRED';
}
return $status;
}
public static function validate($key) {
return $key && strlen($key) >= 32;
}
public static function find($settings, $pubkey) {
if (!self::validate($pubkey)) {
return null;
}
$secret = self::getDefaultSecret($settings);
if (!self::validate($secret)) {
return null;
}
$account = new MCAccount($settings, $pubkey, $secret);
return $account;
}
}
endif;