at path:
ROOT
/
wp-content
/
plugins
/
migrate-guru
/
recover.php
run:
R
W
Run
admin
DIR
2025-05-31 10:24:17
R
W
Run
callback
DIR
2025-05-31 10:24:17
R
W
Run
css
DIR
2025-05-31 10:24:17
R
W
Run
fonts
DIR
2025-05-31 10:24:17
R
W
Run
img
DIR
2025-05-31 10:24:17
R
W
Run
public_keys
DIR
2025-05-31 10:24:17
R
W
Run
account.php
7.14 KB
2025-05-31 10:41:27
R
W
Run
Delete
Rename
helper.php
7.22 KB
2025-05-31 10:41:28
R
W
Run
Delete
Rename
info.php
7.52 KB
2025-05-31 10:41:26
R
W
Run
Delete
Rename
license.txt
19.46 KB
2025-05-31 10:24:17
R
W
Run
Delete
Rename
migrateguru.php
6.42 KB
2025-05-31 10:41:26
R
W
Run
Delete
Rename
readme.txt
8.01 KB
2025-05-31 10:24:17
R
W
Run
Delete
Rename
recover.php
1.71 KB
2025-05-31 10:41:28
R
W
Run
Delete
Rename
wp_actions.php
2.33 KB
2025-05-31 10:41:27
R
W
Run
Delete
Rename
wp_admin.php
6.24 KB
2025-05-31 10:41:26
R
W
Run
Delete
Rename
wp_api.php
1.04 KB
2025-05-31 10:41:26
R
W
Run
Delete
Rename
wp_cli.php
679 By
2025-05-31 10:41:28
R
W
Run
Delete
Rename
wp_db.php
6.27 KB
2025-05-31 10:41:27
R
W
Run
Delete
Rename
wp_login_whitelabel.php
1.34 KB
2025-05-31 10:41:28
R
W
Run
Delete
Rename
wp_settings.php
2.06 KB
2025-05-31 10:41:27
R
W
Run
Delete
Rename
wp_site_info.php
2.47 KB
2025-05-31 10:41:27
R
W
Run
Delete
Rename
error_log
up
📄
recover.php
Save
<?php if (!defined('ABSPATH')) exit; if (!class_exists('MGRecover')) : class MGRecover { public static $default_secret_key = 'bv_default_secret_key'; public static function defaultSecret($settings) { $secret = self::getDefaultSecret($settings); if (empty($secret)) { $secret = MGRecover::refreshDefaultSecret($settings); } return $secret; } public static function refreshDefaultSecret($settings) { $key_details = array(); $key_details["key"] = MGAccount::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 MGAccount($settings, $pubkey, $secret); return $account; } } endif;