PluginProbe
The WP Remote WordPress Plugin / 5.93
The WP Remote WordPress Plugin v5.93
6.72 6.69 6.65 6.62 6.48 6.47 4.87 4.97 5.05 5.09 5.16 5.22 5.24 5.25 5.38 5.41 5.42 5.45 5.47 5.53 5.56 5.65 5.68 5.72 5.73 All 53 releases
← All changes | plugin.php +80 -47 5.095.93 View file →
@@ -4,10 +4,12 @@
4 4 Plugin URI: https://wpremote.com
5 5 Description: Manage your WordPress site with <a href="https://wpremote.com/">WP Remote</a>.
6 6 Author: WP Remote
7 7 Author URI: https://wpremote.com
8 -Version: 5.09
8 +Version: 5.93
9 9 Network: True
10 +License: GPLv2 or later
11 +License URI: [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
10 12 */
11 13
12 14 /* Copyright 2017 WP Remote (email : support@wpremote.com)
13 15
@@ -37,8 +39,13 @@
37 39 require_once dirname( __FILE__ ) . '/wp_actions.php';
38 40 require_once dirname( __FILE__ ) . '/info.php';
39 41 require_once dirname( __FILE__ ) . '/account.php';
40 42 require_once dirname( __FILE__ ) . '/helper.php';
43 +require_once dirname( __FILE__ ) . '/wp_file_system.php';
44 +require_once dirname( __FILE__ ) . '/wp_2fa/wp_2fa.php';
45 +
46 +require_once dirname( __FILE__ ) . '/wp_login_whitelabel.php';
47 +
41 48 ##WPCACHEMODULE##
42 49
43 50
44 51 $bvsettings = new WPRWPSettings();
@@ -53,10 +60,12 @@
53 60 register_uninstall_hook(__FILE__, array('WPRWPAction', 'uninstall'));
54 61 register_activation_hook(__FILE__, array($wp_action, 'activate'));
55 62 register_deactivation_hook(__FILE__, array($wp_action, 'deactivate'));
56 63
64 +
57 65 add_action('wp_footer', array($wp_action, 'footerHandler'), 100);
58 -add_action('clear_bv_services_config', array($wp_action, 'clear_bv_services_config'));
66 +add_action('wpr_clear_bv_services_config', array($wp_action, 'clear_bv_services_config'));
67 +
59 68 ##SOADDUNINSTALLACTION##
60 69
61 70 ##DISABLE_OTHER_OPTIMIZATION_PLUGINS##
62 71
@@ -64,9 +73,9 @@
64 73 if (is_admin()) {
65 74 require_once dirname( __FILE__ ) . '/wp_admin.php';
66 75 $wpadmin = new WPRWPAdmin($bvsettings, $bvsiteinfo);
67 76 add_action('admin_init', array($wpadmin, 'initHandler'));
68 - add_filter('all_plugins', array($wpadmin, 'initBranding'));
77 + add_filter('all_plugins', array($wpadmin, 'initWhitelabel'));
69 78 add_filter('plugin_row_meta', array($wpadmin, 'hidePluginDetails'), 10, 2);
70 79 add_filter('debug_information', array($wpadmin, 'handlePluginHealthInfo'), 10, 1);
71 80 if ($bvsiteinfo->isMultisite()) {
72 81 add_action('network_admin_menu', array($wpadmin, 'menu'));
@@ -74,8 +83,9 @@
74 83 add_action('admin_menu', array($wpadmin, 'menu'));
75 84 }
76 85 add_filter('plugin_action_links', array($wpadmin, 'settingsLink'), 10, 2);
77 86 add_action('admin_head', array($wpadmin, 'removeAdminNotices'), 3);
87 + ##POPUP_ON_DEACTIVATION##
78 88 add_action('admin_notices', array($wpadmin, 'activateWarning'));
79 89 add_action('admin_enqueue_scripts', array($wpadmin, 'wprsecAdminMenu'));
80 90 ##ALPURGECACHEFUNCTION##
81 91 ##ALADMINMENU##
@@ -80,12 +90,20 @@
80 90 ##ALPURGECACHEFUNCTION##
81 91 ##ALADMINMENU##
82 92 }
83 93
84 -if ((array_key_exists('bvreqmerge', $_POST)) || (array_key_exists('bvreqmerge', $_GET))) {
85 - $_REQUEST = array_merge($_GET, $_POST);
94 +if ((array_key_exists('bvreqmerge', $_POST)) || (array_key_exists('bvreqmerge', $_GET))) { // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
95 + $_REQUEST = array_merge($_GET, $_POST); // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
86 96 }
87 97
98 +#Service active check
99 +if ($bvinfo->config != false) {
100 + add_action('wpr_remove_bv_preload_include', array($wp_action, 'removeBVPreload'));
101 +}
102 +
103 +require_once dirname( __FILE__ ) . '/php_error_monitoring/monitoring.php';
104 +WPRWPPHPErrorMonitoring::init();
105 +
88 106 if ($bvinfo->hasValidDBVersion()) {
89 107 if ($bvinfo->isServiceActive('activity_log')) {
90 108 require_once dirname( __FILE__ ) . '/wp_actlog.php';
91 109 $bvconfig = $bvinfo->config;
@@ -92,74 +110,76 @@
92 110 $actlog = new BVWPActLog($bvdb, $bvsettings, $bvinfo, $bvconfig['activity_log']);
93 111 $actlog->init();
94 112 }
95 113
114 + ##MAINTENANCEMODULE##
96 115 }
97 116
98 -if ((array_key_exists('bvplugname', $_REQUEST)) && ($_REQUEST['bvplugname'] == "wpremote")) {
117 +if (WPRHelper::getRawParam('REQUEST', 'bvplugname') == "wpremote") {
99 118 require_once dirname( __FILE__ ) . '/callback/base.php';
100 119 require_once dirname( __FILE__ ) . '/callback/response.php';
101 120 require_once dirname( __FILE__ ) . '/callback/request.php';
102 121 require_once dirname( __FILE__ ) . '/recover.php';
103 122
104 - $pubkey = WPRAccount::sanitizeKey($_REQUEST['pubkey']);
123 + $pubkey = WPRHelper::getRawParam('REQUEST', 'pubkey');
124 + $pubkey = isset($pubkey) ? WPRAccount::sanitizeKey($pubkey) : '';
125 + $rcvracc = WPRHelper::getRawParam('REQUEST', 'rcvracc');
105 126
106 - if (array_key_exists('rcvracc', $_REQUEST)) {
127 + if (isset($rcvracc)) {
107 128 $account = WPRRecover::find($bvsettings, $pubkey);
108 129 } else {
109 130 $account = WPRAccount::find($bvsettings, $pubkey);
110 131 }
111 132
112 - $request = new BVCallbackRequest($account, $_REQUEST);
133 + $request = new BVCallbackRequest($account, $_REQUEST, $bvsettings); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
113 134 $response = new BVCallbackResponse($request->bvb64cksize);
114 135
115 - if ($account && (1 === $account->authenticate($request))) {
116 - define('WPRBASEPATH', plugin_dir_path(__FILE__));
136 + if ($request->authenticate() === 1) {
137 + $bv_frm_tstng = WPRHelper::getRawParam('REQUEST', 'bv_frm_tstng');
138 + if (isset($bv_frm_tstng)) {
139 + require_once dirname(__FILE__) . '/form_testing/form_testing.php';
140 + $form_testing = new BVFormTesting($_REQUEST); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
141 + $form_testing->init();
117 142
143 + } else {
144 + define('WPRBASEPATH', plugin_dir_path(__FILE__));
118 145
119 - require_once dirname( __FILE__ ) . '/callback/handler.php';
120 146
121 - $params = $request->processParams($_REQUEST);
122 - if ($params === false) {
123 - $resp = array(
124 - "account_info" => $account->info(),
125 - "request_info" => $request->info(),
126 - "bvinfo" => $bvinfo->info(),
127 - "statusmsg" => "BVPRMS_CORRUPTED"
128 - );
129 - $response->terminate($resp);
147 + require_once dirname( __FILE__ ) . '/callback/handler.php';
148 +
149 + $params = $request->processParams($_REQUEST); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
150 + if ($params === false) {
151 + $response->terminate($request->corruptedParamsResp());
152 + }
153 + $request->params = $params;
154 + $callback_handler = new BVCallbackHandler($bvdb, $bvsettings, $bvsiteinfo, $request, $account, $response);
155 + if ($request->is_afterload) {
156 + add_action('wp_loaded', array($callback_handler, 'execute'));
157 + } else if ($request->is_admin_ajax) {
158 + add_action('wp_ajax_bvadm', array($callback_handler, 'bvAdmExecuteWithUser'));
159 + add_action('wp_ajax_nopriv_bvadm', array($callback_handler, 'bvAdmExecuteWithoutUser'));
160 + } else {
161 + $callback_handler->execute();
162 + }
130 163 }
131 - $request->params = $params;
132 - $callback_handler = new BVCallbackHandler($bvdb, $bvsettings, $bvsiteinfo, $request, $account, $response);
133 - if ($request->is_afterload) {
134 - add_action('wp_loaded', array($callback_handler, 'execute'));
135 - } else if ($request->is_admin_ajax) {
136 - add_action('wp_ajax_bvadm', array($callback_handler, 'bvAdmExecuteWithUser'));
137 - add_action('wp_ajax_nopriv_bvadm', array($callback_handler, 'bvAdmExecuteWithoutUser'));
138 - } else {
139 - $callback_handler->execute();
140 - }
141 164 } else {
142 - $resp = array(
143 - "account_info" => $account ? $account->info() : array("error" => "ACCOUNT_NOT_FOUND"),
144 - "request_info" => $request->info(),
145 - "bvinfo" => $bvinfo->info(),
146 - "statusmsg" => "FAILED_AUTH",
147 - "api_pubkey" => substr(WPRAccount::getApiPublicKey($bvsettings), 0, 8),
148 - "def_sigmatch" => substr(WPRAccount::getSigMatch($request, WPRRecover::getDefaultSecret($bvsettings)), 0, 8)
149 - );
150 - $response->terminate($resp);
165 + $response->terminate($request->authFailedResp());
151 166 }
152 167 } else {
153 168 if ($bvinfo->hasValidDBVersion()) {
154 169 if ($bvinfo->isProtectModuleEnabled()) {
155 - require_once dirname( __FILE__ ) . '/protect/wp/protect.php';
156 - $bvprotect = new BVProtect($bvdb, $bvsettings);
157 - $bvprotect->init();
158 - if ($bvinfo->isActivePlugin() && !(defined( 'WP_CLI' ) && WP_CLI)) {
159 - $bvprotect->run();
170 + require_once dirname( __FILE__ ) . '/protect/protect.php';
171 + //For backward compatibility.
172 + WPRProtect_V593::$settings = new WPRWPSettings();
173 + WPRProtect_V593::$db = new WPRWPDb();
174 + WPRProtect_V593::$info = new WPRInfo(WPRProtect_V593::$settings);
175 +
176 + add_action('wpr_clear_pt_config', array('WPRProtect_V593', 'uninstall'));
177 +
178 + if ($bvinfo->isActivePlugin()) {
179 + WPRProtect_V593::init(WPRProtect_V593::MODE_WP);
180 + }
160 181 }
161 - }
162 182
163 183 if ($bvinfo->isDynSyncModuleEnabled()) {
164 184 require_once dirname( __FILE__ ) . '/wp_dynsync.php';
165 185 $bvconfig = $bvinfo->config;
@@ -192,5 +212,18 @@
192 212 if (is_admin()) {
193 213 add_filter('site_transient_update_plugins', array($wpadmin, 'hidePluginUpdate'));
194 214 }
195 215
196 -}
216 + ##THIRDPARTYCACHINGMODULE##
217 +}
218 +
219 +if (WPRWP2FA::isEnabled($bvsettings)) {
220 + $wp_2fa = new WPRWP2FA();
221 + $wp_2fa->init();
222 +}
223 +
224 +if (!empty($bvinfo->getLPWhitelabelInfo())) {
225 + $wp_login_whitelabel = new WPRWPLoginWhitelabel();
226 + $wp_login_whitelabel->init();
227 +}
228 +
229 +add_action('wpr_clear_wp_2fa_config', array($wp_action, 'clear_wp_2fa_config'));