PluginProbe
Patchstack – WordPress & Plugins Security / 2.3.7
Patchstack – WordPress & Plugins Security v2.3.7
2.3.7 trunk 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.2 2.1.20 2.1.21 2.1.22 2.1.23 2.1.24 2.1.25 2.1.3 2.1.4 2.1.5 2.1.6 All 49 releases
patchstack / includes / admin / options.php

options.php in Patchstack – WordPress & Plugins Security 2.3.7, at includes/admin/options.php

156 lines 9.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 // Do not allow the file to be called directly.
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit;
6 }
7
8 /**
9 * This class is used to register all the options that Patchstack uses and anything
10 * related to options.
11 */
12 class P_Admin_Options extends P_Core {
13
14 /**
15 * Add the actions required for the otions.
16 *
17 * @param Patchstack $core
18 * @return void
19 */
20 public function __construct( $core ) {
21 parent::__construct( $core );
22 }
23
24 /**
25 * All options and their default values.
26 *
27 * @var array
28 */
29 public $options = [
30 // Hardening options.
31 'patchstack_pluginedit' => ['default' => 1, 'autoload' => 'yes'],
32 'patchstack_userenum' => ['default' => 1, 'autoload' => 'yes'],
33 'patchstack_hidewpversion' => ['default' => 1, 'autoload' => 'yes'],
34 'patchstack_activity_log_is_enabled' => ['default' => 1, 'autoload' => 'yes'],
35 'patchstack_activity_log_failed_logins' => ['default' => 1, 'autoload' => 'no'],
36 'patchstack_activity_log_failed_logins_db' => ['default' => 0, 'autoload' => 'no'],
37 'patchstack_activity_log_posts' => ['default' => 0, 'autoload' => 'yes'],
38 'patchstack_activity_log_comments' => ['default' => 0, 'autoload' => 'yes'],
39 'patchstack_xmlrpc_is_disabled' => ['default' => 1, 'autoload' => 'yes'],
40 'patchstack_captcha_type' => ['default' => 'v2', 'autoload' => 'no'],
41 'patchstack_captcha_public_key_v3' => ['default' => '', 'autoload' => 'no'],
42 'patchstack_captcha_private_key_v3' => ['default' => '', 'autoload' => 'no'],
43 'patchstack_captcha_public_key_v3_new' => ['default' => '', 'autoload' => 'no'],
44 'patchstack_captcha_private_key_v3_new' => ['default' => '', 'autoload' => 'no'],
45 'patchstack_captcha_public_key_turnstile' => ['default' => '', 'autoload' => 'no'],
46 'patchstack_captcha_private_key_turnstile' => ['default' => '', 'autoload' => 'no'],
47 'patchstack_captcha_public_key' => ['default' => '', 'autoload' => 'no'],
48 'patchstack_captcha_private_key' => ['default' => '', 'autoload' => 'no'],
49 'patchstack_captcha_login_form' => ['default' => 0, 'autoload' => 'no'],
50 'patchstack_captcha_registration_form' => ['default' => 0, 'autoload' => 'no'],
51 'patchstack_captcha_reset_pwd_form' => ['default' => 0, 'autoload' => 'no'],
52 'patchstack_captcha_on_comments' => ['default' => 0, 'autoload' => 'yes'],
53 'patchstack_json_is_disabled' => ['default' => 0, 'autoload' => 'yes'],
54 'patchstack_auto_update' => ['default' => [], 'autoload' => 'yes'],
55 'patchstack_application_passwords_disabled' => ['default' => 1, 'autoload' => 'yes'],
56
57 // The firewall and whitelist rules.
58 'patchstack_firewall_rules' => ['default' => '', 'autoload' => 'yes'],
59 'patchstack_firewall_rules_v3' => ['default' => '[]', 'autoload' => 'yes'],
60 'patchstack_firewall_rules_v3_ap' => ['default' => '[]', 'autoload' => 'yes'],
61 'patchstack_firewall_ap_error' => ['default' => '', 'autoload' => 'no'],
62 'patchstack_whitelist_rules' => ['default' => '', 'autoload' => 'yes'],
63 'patchstack_whitelist_rules_v3' => ['default' => '[]', 'autoload' => 'yes'],
64 'patchstack_whitelist_keys_rules' => ['default' => '', 'autoload' => 'yes'],
65
66 // Firewall options.
67 'patchstack_basic_firewall' => ['default' => 1, 'autoload' => 'yes'],
68 'patchstack_basic_firewall_roles' => ['default' => [ 'administrator', 'editor', 'author', 'contributor' ], 'autoload' => 'yes'],
69 'patchstack_firewall_ip_header' => ['default' => '', 'autoload' => 'yes'],
70 'patchstack_ip_header_computed' => ['default' => 0, 'autoload' => 'no'],
71 'patchstack_ip_header_force_compute' => ['default' => 0, 'autoload' => 'no'],
72 'patchstack_disable_htaccess' => ['default' => 0, 'autoload' => 'yes'],
73 'patchstack_block_debug_log_access' => ['default' => 1, 'autoload' => 'no'],
74 'patchstack_block_fake_bots' => ['default' => 1, 'autoload' => 'no'],
75 'patchstack_index_views' => ['default' => 1, 'autoload' => 'no'],
76 'patchstack_proxy_comment_posting' => ['default' => 1, 'autoload' => 'no'],
77 'patchstack_image_hotlinking' => ['default' => 0, 'autoload' => 'no'],
78 'patchstack_prevent_default_file_access' => ['default' => 1, 'autoload' => 'no'],
79 'patchstack_basicscanblock' => ['default' => 1, 'autoload' => 'no'],
80 'patchstack_firewall_custom_rules' => ['default' => '', 'autoload' => 'no'],
81 'patchstack_firewall_custom_rules_loc' => ['default' => 'bottom', 'autoload' => 'no'],
82 'patchstack_add_security_headers' => ['default' => 1, 'autoload' => 'yes'],
83 'patchstack_ip_block_list' => ['default' => '', 'autoload' => 'yes'],
84
85 // Login and firewall brute force options.
86 'patchstack_block_bruteforce_ips' => ['default' => 0, 'autoload' => 'no'],
87 'patchstack_anti_bruteforce_attempts' => ['default' => 10, 'autoload' => 'no'],
88 'patchstack_anti_bruteforce_minutes' => ['default' => 5, 'autoload' => 'no'],
89 'patchstack_anti_bruteforce_blocktime' => ['default' => 60, 'autoload' => 'no'],
90 'patchstack_autoblock_attempts' => ['default' => 60, 'autoload' => 'yes'],
91 'patchstack_autoblock_minutes' => ['default' => 1, 'autoload' => 'yes'],
92 'patchstack_autoblock_blocktime' => ['default' => 1, 'autoload' => 'yes'],
93 'patchstack_login_2fa' => ['default' => 0, 'autoload' => 'yes'],
94 'patchstack_login_whitelist' => ['default' => '', 'autoload' => 'no'],
95
96 // General options.
97 'patchstack_environment_hash' => ['default' => '', 'autoload' => 'no'],
98 'patchstack_software_data_hash' => ['default' => '', 'autoload' => 'yes'],
99 'patchstack_software_upload_attempted' => ['default' => 0, 'autoload' => 'yes'],
100 'patchstack_license_expiry' => ['default' => '', 'autoload' => 'yes'],
101 'patchstack_clientid' => ['default' => '', 'autoload' => 'yes'],
102 'patchstack_secretkey' => ['default' => '', 'autoload' => 'no'],
103 'patchstack_secretkey_nonce' => ['default' => '', 'autoload' => 'no'],
104 'patchstack_license_free' => ['default' => 0, 'autoload' => 'yes'],
105 'patchstack_api_token' => ['default' => '', 'autoload' => 'yes'],
106 'patchstack_subscription_class' => ['default' => '', 'autoload' => 'no'],
107 'patchstack_last_license_check' => ['default' => 0, 'autoload' => 'no'],
108 'patchstack_last_sync' => ['default' => 0, 'autoload' => 'no'],
109 'patchstack_whitelist' => ['default' => '', 'autoload' => 'yes'],
110 'patchstack_show_settings' => ['default' => 0, 'autoload' => 'no'],
111 'patchstack_firewall_log_lastid' => ['default' => 0, 'autoload' => 'no'],
112 'patchstack_eventlog_lastid' => ['default' => 0, 'autoload' => 'no'],
113 'patchstack_ott_action' => ['default' => '', 'autoload' => 'no'],
114 'patchstack_managed' => ['default' => 0, 'autoload' => 'no'],
115 'patchstack_managed_text' => ['default' => '', 'autoload' => 'no'],
116 'patchstack_latest_vulnerable' => ['default' => [], 'autoload' => 'no'],
117 'patchstack_site_id' => ['default' => 0, 'autoload' => 'no'],
118 'patchstack_activation_secret' => ['default' => '', 'autoload' => 'no'],
119 'patchstack_activation_time' => ['default' => '', 'autoload' => 'no'],
120 'patchstack_firewall_ap_enabled' => ['default' => 0, 'autoload' => 'yes'],
121 'patchstack_firewall_log_processing' => ['default' => 0, 'autoload' => 'no'],
122 'patchstack_eventlog_processing' => ['default' => 0, 'autoload' => 'no'],
123 'patchstack_firewall_log_ap_processing' => ['default' => 0, 'autoload' => 'no'],
124
125 // Admin page rename options.
126 'patchstack_mv_wp_login' => ['default' => 0, 'autoload' => 'yes'],
127 'patchstack_rename_wp_login' => ['default' => 'swlogin', 'autoload' => 'yes'],
128 'patchstack_rename_wp_login_whitelist' => ['default' => [], 'autoload' => 'no'],
129
130 // Statistics
131 'patchstack_vulns_present' => ['default' => '?', 'autoload' => 'no'],
132 'patchstack_fixes_present' => ['default' => '?', 'autoload' => 'no'],
133 'patchstack_vpatches_present' => ['default' => '?', 'autoload' => 'no'],
134 'patchstack_non_vpatches_present' => ['default' => '?', 'autoload' => 'no'],
135 'patchstack_hits_last_30' => ['default' => [], 'autoload' => 'no'],
136 'patchstack_hits_all_time' => ['default' => 0, 'autoload' => 'no'],
137 ];
138
139 /**
140 * Register all the options, if not set already.
141 *
142 * @return void
143 */
144 public function settings_init() {
145 // Add the options.
146 foreach ( $this->options as $name => $value ) {
147 add_option( $name, $value['default'], '', $value['autoload'] );
148
149 // Clone settings for multisite so we can set defaults.
150 if ( is_multisite() ) {
151 add_site_option( $name, $value['default'] );
152 }
153 }
154 }
155 }
156