PluginProbe ʕ •ᴥ•ʔ
Wordfence Security – Firewall, Malware Scan, and Login Security / 8.0.3
Wordfence Security – Firewall, Malware Scan, and Login Security v8.0.3
8.2.2 8.2.1 8.2.0 3.7.1 3.7.2 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.8.8 3.8.9 3.9.1 4.0.1 4.0.2 4.0.3 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.1 5.1.2 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.1 5.3.10 5.3.11 5.3.12 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9 6.0.1 6.0.10 6.0.11 6.0.12 6.0.14 6.0.15 6.0.16 6.0.17 6.0.18 6.0.19 6.0.2 6.0.20 6.0.21 6.0.22 6.0.23 6.0.24 6.0.25 6.0.3 6.0.4 6.0.5 6.0.6 6.0.7 6.0.8 6.0.9 6.1.1 6.1.10 6.1.11 6.1.12 6.1.14 6.1.15 6.1.16 6.1.17 6.1.2 6.1.3 6.1.4 6.1.5 6.1.6 6.1.7 6.1.8 6.1.9 6.2.0 6.2.1 6.2.10 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.2.8 6.2.9 6.3.0 6.3.1 6.3.10 6.3.11 6.3.12 6.3.14 6.3.15 6.3.16 6.3.17 6.3.18 6.3.19 6.3.2 6.3.20 6.3.21 6.3.22 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.3.8 6.3.9 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1.0 7.1.1 7.1.10 7.1.11 7.1.12 7.1.14 7.1.15 7.1.16 7.1.17 7.1.18 7.1.19 7.1.2 7.1.20 7.1.3 7.1.4 7.1.5 7.1.6 7.1.7 7.1.8 7.1.9 7.10.0 7.10.1 7.10.2 7.10.3 7.10.4 7.10.5 7.10.6 7.10.7 7.11.0 7.11.1 7.11.2 7.11.3 7.11.4 7.11.5 7.11.6 7.11.7 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.4.0 7.4.1 7.4.10 7.4.11 7.4.12 7.4.14 7.4.2 7.4.3 trunk 7.4.4 1.1 7.4.5 1.2 7.4.6 1.3 7.4.7 1.3.1 7.4.8 1.3.2 7.4.9 1.3.3 7.5.0 1.4.2 7.5.1 1.4.3 7.5.10 1.4.4 7.5.11 1.4.5 7.5.2 1.4.6 7.5.3 1.4.7 7.5.4 1.4.8 7.5.5 1.5.1 7.5.6 1.5.2 7.5.7 1.5.3 7.5.8 1.5.4 7.5.9 1.5.5 7.6.0 1.5.6 7.6.1 2.0.1 7.6.2 2.0.2 7.7.0 2.0.3 7.7.1 2.0.5 7.8.0 2.0.6 7.8.1 2.0.7 7.8.2 2.1.0 7.9.0 2.1.1 7.9.1 2.1.2 7.9.2 2.1.3 7.9.3 2.1.4 8.0.0 2.1.5 8.0.1 3.0.2 8.0.2 3.0.3 8.0.3 3.0.4 8.0.4 3.0.5 8.0.5 3.0.6 8.1.0 3.0.7 8.1.1 3.0.8 8.1.2 3.0.9 8.1.3 3.1.0 8.1.4 3.1.1 v1.4.1 3.1.2 3.1.4 3.1.6 3.2.1 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.1 3.4.4 3.4.5 3.5.1 3.5.2 3.6.1 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.6.9
wordfence / lib / menu_firewall_waf_options.php
wordfence / lib Last commit date
Diff 1 year ago audit-log 1 year ago dashboard 1 year ago rest-api 1 year ago .htaccess 7 years ago Diff.php 6 years ago GeoLite2-Country.mmdb 1 year ago IPTraf.php 1 year ago IPTrafList.php 1 year ago WFLSPHP52Compatability.php 6 years ago compat.php 8 years ago diffResult.php 1 year ago email_genericAlert.php 5 years ago email_newIssues.php 3 years ago email_unlockRequest.php 5 years ago email_unsubscribeRequest.php 4 years ago flags.php 7 years ago live_activity.php 4 years ago menu_dashboard.php 3 years ago menu_dashboard_options.php 3 years ago menu_firewall.php 3 years ago menu_firewall_blocking.php 4 years ago menu_firewall_blocking_options.php 3 years ago menu_firewall_waf.php 4 years ago menu_firewall_waf_options.php 3 years ago menu_install.php 3 years ago menu_options.php 1 year ago menu_scanner.php 2 years ago menu_scanner_credentials.php 1 year ago menu_scanner_options.php 3 years ago menu_support.php 1 year ago menu_tools.php 1 year ago menu_tools_auditlog.php 1 year ago menu_tools_diagnostic.php 1 year ago menu_tools_importExport.php 4 years ago menu_tools_livetraffic.php 2 years ago menu_tools_twoFactor.php 4 years ago menu_tools_whois.php 3 years ago menu_wordfence_central.php 3 years ago noc1.key 7 years ago sodium_compat_fast.php 2 years ago sysinfo.php 1 year ago viewFullActivityLog.php 4 years ago wf503.php 2 years ago wfAPI.php 1 year ago wfActivityReport.php 2 years ago wfAdminNoticeQueue.php 4 years ago wfAlerts.php 5 years ago wfArray.php 3 years ago wfAuditLog.php 1 year ago wfBrowscap.php 3 years ago wfBrowscapCache.php 7 years ago wfBulkCountries.php 2 years ago wfCache.php 3 years ago wfCentralAPI.php 1 year ago wfConfig.php 1 year ago wfCrawl.php 2 years ago wfCredentialsController.php 2 years ago wfCrypt.php 6 years ago wfCurlInterceptor.php 3 years ago wfDB.php 1 year ago wfDashboard.php 2 years ago wfDateLocalization.php 2 years ago wfDeactivationOption.php 3 years ago wfDiagnostic.php 1 year ago wfDict.php 8 years ago wfDirectoryIterator.php 8 years ago wfFileUtils.php 2 years ago wfHelperBin.php 11 years ago wfHelperString.php 2 years ago wfIPWhitelist.php 5 years ago wfImportExportController.php 5 years ago wfInaccessibleDirectoryException.php 2 years ago wfInvalidPathException.php 3 years ago wfIpLocation.php 3 years ago wfIpLocator.php 3 years ago wfIssues.php 1 year ago wfJWT.php 7 years ago wfLicense.php 3 years ago wfLockedOut.php 2 years ago wfLog.php 1 year ago wfMD5BloomFilter.php 8 years ago wfModuleController.php 7 years ago wfNotification.php 8 years ago wfOnboardingController.php 1 year ago wfPersistenceController.php 1 year ago wfRESTAPI.php 7 years ago wfScan.php 2 years ago wfScanEngine.php 1 year ago wfScanEntrypoint.php 3 years ago wfScanFile.php 1 year ago wfScanFileLink.php 3 years ago wfScanFileListItem.php 1 year ago wfScanFileProperties.php 1 year ago wfScanMonitor.php 2 years ago wfScanPath.php 3 years ago wfSchema.php 1 year ago wfStyle.php 1 year ago wfSupportController.php 1 year ago wfUnlockMsg.php 5 years ago wfUpdateCheck.php 2 years ago wfUtils.php 1 year ago wfVersionCheckController.php 3 years ago wfVersionSupport.php 1 year ago wfView.php 5 years ago wfViewResult.php 1 year ago wfWebsite.php 3 years ago wordfenceClass.php 1 year ago wordfenceConstants.php 1 year ago wordfenceHash.php 1 year ago wordfenceScanner.php 1 year ago wordfenceURLHoover.php 2 years ago
menu_firewall_waf_options.php
247 lines
1 <?php
2 if (!defined('WORDFENCE_VERSION')) { exit; }
3 $waf = wfWAF::getInstance();
4 $d = new wfDashboard(); unset($d->countriesNetwork);
5 $firewall = new wfFirewall();
6 $config = $waf->getStorageEngine();
7 $wafURL = wfPage::pageURL(wfPage::PAGE_FIREWALL);
8 $wafConfigURL = network_admin_url('admin.php?page=WordfenceWAF&subpage=waf_options#configureAutoPrepend');
9 $wafRemoveURL = network_admin_url('admin.php?page=WordfenceWAF&subpage=waf_options#removeAutoPrepend');
10 /** @var array $wafData */
11
12 $backPage = new wfPage(wfPage::PAGE_FIREWALL);
13 if (isset($_GET['source']) && wfPage::isValidPage($_GET['source'])) {
14 $backPage = new wfPage($_GET['source']);
15 }
16 ?>
17 <script type="application/javascript">
18 (function($) {
19 WFAD.wafData = <?php echo json_encode($wafData); ?>;
20 WFAD.restoreWAFData = JSON.parse(JSON.stringify(WFAD.wafData)); //Copied into wafData when canceling changes
21
22 $(function() {
23 document.title = "<?php esc_attr_e('Firewall Options', 'wordfence'); ?>" + " \u2039 " + WFAD.basePageName;
24
25 WFAD.wafConfigPageRender();
26
27 //Hash-based option block linking
28 if (window.location.hash) {
29 var hashes = WFAD.parseHashes();
30 var hash = hashes[hashes.length - 1];
31 var target = $("#" + hash);
32 var block = target.parents('.wf-block');
33 if (!block.length) {
34 block = $('.wf-block[data-persistence-key="' + hash + '"]');
35 target = block;
36 }
37 if (block.length) {
38 if (!block.hasClass('wf-active')) {
39 block.find('.wf-block-content').slideDown({
40 always: function() {
41 block.addClass('wf-active');
42 $('html, body').animate({
43 scrollTop: target.offset().top - 100
44 }, 1000);
45 }
46 });
47
48 WFAD.ajax('wordfence_saveDisclosureState', {name: block.data('persistenceKey'), state: true}, function() {});
49 }
50 else {
51 $('html, body').animate({
52 scrollTop: target.offset().top - 100
53 }, 1000);
54 }
55
56 history.replaceState('', document.title, window.location.pathname + window.location.search);
57 }
58 }
59
60 var updatePendingCircles = function() {
61 $('#circle-waf-coverage, #circle-waf-rules, #circle-waf-blacklist, #circle-waf-brute').wfCircularProgress({pendingOverlay: Object.keys(WFAD.pendingChanges).length > 0});
62 };
63 var coalescingUpdateTimer = false;
64
65 $('.wf-option, .wf-rule-toggle').on('change', function() {
66 clearTimeout(coalescingUpdateTimer);
67 coalescingUpdateTimer = setTimeout(updatePendingCircles, 100);
68 });
69 });
70
71 $(window).on('wfOptionsReset', function() {
72 WFAD.wafData = JSON.parse(JSON.stringify(WFAD.restoreWAFData));
73 WFAD.wafConfigPageRender();
74 });
75 })(jQuery);
76 </script>
77 <div class="wf-options-controls">
78 <div class="wf-row">
79 <div class="wf-col-xs-12">
80 <?php
81 echo wfView::create('options/block-controls', array(
82 'backLink' => $backPage->url(),
83 'backLabelHTML' => wp_kses(sprintf(__('<span class="wf-hidden-xs">Back to </span>%s', 'wordfence'), $backPage->label()), array('span'=>array('class'=>array()))),
84 'restoreDefaultsSection' => wfConfig::OPTIONS_TYPE_FIREWALL,
85 'restoreDefaultsMessage' => __('Are you sure you want to restore the default Firewall settings? This will undo any custom changes you have made to the options on this page. If you have manually disabled any rules or added any custom allowlisted URLs, those changes will not be overwritten.', 'wordfence'),
86 ))->render();
87 ?>
88 </div>
89 </div>
90 </div>
91 <div class="wf-options-controls-spacer"></div>
92 <?php
93 if (!wfOnboardingController::shouldShowAttempt3() && wfConfig::get('touppPromptNeeded')) {
94 echo wfView::create('gdpr/disabled-overlay')->render();
95 echo wfView::create('gdpr/banner')->render();
96 }
97 ?>
98 <div class="wrap wordfence">
99 <div class="wf-container-fluid">
100 <?php
101 if (function_exists('network_admin_url') && is_multisite()) {
102 $firewallURL = network_admin_url('admin.php?page=WordfenceWAF#top#waf');
103 $blockingURL = network_admin_url('admin.php?page=WordfenceWAF#top#blocking');
104 }
105 else {
106 $firewallURL = admin_url('admin.php?page=WordfenceWAF#top#waf');
107 $blockingURL = admin_url('admin.php?page=WordfenceWAF#top#blocking');
108 }
109 ?>
110 <div class="wf-row">
111 <div class="wf-col-xs-12">
112 <div class="wp-header-end"></div>
113 <?php if (isset($storageExceptionMessage)): ?>
114 <div class="notice notice-error"><p><?php echo $storageExceptionMessage; ?></p></div>
115 <?php endif; ?>
116 </div>
117 </div>
118 <div class="wf-row">
119 <div class="<?php echo wfStyle::contentClasses(); ?>">
120 <div id="waf-options" class="wf-fixed-tab-content">
121 <?php
122 echo wfView::create('common/section-title', array(
123 'title' => __('Firewall Options', 'wordfence'),
124 'helpLink' => wfSupportController::supportURL(wfSupportController::ITEM_FIREWALL_WAF),
125 'helpLabelHTML' => wp_kses(__('Learn more<span class="wf-hidden-xs"> about the Firewall</span>', 'wordfence'), array('span'=>array('class'=>array()))),
126 'showIcon' => true,
127 ))->render();
128 ?>
129 <div class="wf-row">
130 <div class="wf-col-xs-12">
131 <div class="wf-block wf-active">
132 <div class="wf-block-content">
133 <ul class="wf-block-list wf-block-list-horizontal wf-block-list-nowrap wf-waf-coverage">
134 <li>
135 <?php
136 if (function_exists('network_admin_url') && is_multisite()) { $optionsURL = network_admin_url('admin.php?page=WordfenceWAF&subpage=waf_options'); }
137 else { $optionsURL = admin_url('admin.php?page=WordfenceWAF&subpage=waf_options'); }
138 echo wfView::create('common/status-detail', array(
139 'id' => 'waf-coverage',
140 'percentage' => $firewall->wafStatus(),
141 'activeColor' => ($firewall->firewallMode() == wfFirewall::FIREWALL_MODE_LEARNING ? '#ececec' : null /* automatic */),
142 'title' => __('Web Application Firewall', 'wordfence'),
143 'subtitle' => ($firewall->firewallMode() == wfFirewall::FIREWALL_MODE_LEARNING ? __('Currently in Learning Mode', 'wordfence') : __('Stops Complex Attacks', 'wordfence')),
144 'link' => $optionsURL,
145 'linkLabel' => null,
146 'statusTitle' => __('Web Application Firewall Status', 'wordfence'),
147 'statusList' => $firewall->wafStatusList(),
148 'statusExtra' => ($firewall->firewallMode() == wfFirewall::FIREWALL_MODE_LEARNING ? wfView::create('waf/status-tooltip-learning-mode')->render() : ''),
149 'helpLink' => wfSupportController::supportURL(wfSupportController::ITEM_FIREWALL_WAF_STATUS_OVERALL),
150 ))->render();
151 ?>
152 </li>
153 <li>
154 <?php
155 echo wfView::create('common/status-detail', array(
156 'id' => 'waf-rules',
157 'percentage' => $firewall->ruleStatus(),
158 'activeColor' => ($firewall->firewallMode() == wfFirewall::FIREWALL_MODE_LEARNING ? '#ececec' : null /* automatic */),
159 'title' => __('Firewall Rules: ', 'wordfence') . ($firewall->ruleMode() == wfFirewall::RULE_MODE_PREMIUM ? __('Premium', 'wordfence') : __('Community', 'wordfence')),
160 'subtitle' => ($firewall->firewallMode() == wfFirewall::FIREWALL_MODE_LEARNING ? __('Currently in Learning Mode', 'wordfence') : ($firewall->ruleMode() == wfFirewall::RULE_MODE_PREMIUM ? __('Rules updated in real-time', 'wordfence') : __('Rule updates delayed by 30 days', 'wordfence'))),
161 'link' => 'https://www.wordfence.com/gnl1wafUpgrade/wordfence-signup/',
162 'linkLabel' => null,
163 'linkNewWindow' => true,
164 'statusTitle' => __('Firewall Rules Status', 'wordfence'),
165 'statusList' => $firewall->wafStatusList('rules'),
166 'statusExtra' => ($firewall->firewallMode() == wfFirewall::FIREWALL_MODE_LEARNING ? wfView::create('waf/status-tooltip-learning-mode')->render() : ''),
167 'helpLink' => wfSupportController::supportURL(wfSupportController::ITEM_FIREWALL_WAF_STATUS_RULES),
168 ))->render();
169 ?>
170 </li>
171 <li>
172 <?php
173 echo wfView::create('common/status-detail', array(
174 'id' => 'waf-blacklist',
175 'percentage' => $firewall->blacklistStatus(),
176 'title' => __('Real-Time IP Blocklist: ', 'wordfence') . ($firewall->blacklistMode() == wfFirewall::BLACKLIST_MODE_ENABLED ? __('Enabled', 'wordfence') : __('Disabled', 'wordfence')),
177 'subtitle' => __('Blocks requests from known malicious IPs', 'wordfence'),
178 'link' => (($firewall->ruleMode() == wfFirewall::RULE_MODE_PREMIUM && $firewall->blacklistMode() == wfFirewall::BLACKLIST_MODE_DISABLED) ? network_admin_url('admin.php?page=WordfenceWAF&subpage=waf_options#waf-options-advanced') : 'https://www.wordfence.com/gnl1wafUpgrade/wordfence-signup/'),
179 'linkLabel' => null,
180 'linkNewWindow' => !($firewall->ruleMode() == wfFirewall::RULE_MODE_PREMIUM && $firewall->blacklistMode() == wfFirewall::BLACKLIST_MODE_DISABLED),
181 'statusTitle' => __('Blocklist Status', 'wordfence'),
182 'statusList' => $firewall->wafStatusList('blacklist'),
183 'helpLink' => wfSupportController::supportURL(wfSupportController::ITEM_FIREWALL_WAF_STATUS_BLACKLIST),
184 ))->render();
185 ?>
186 </li>
187 <li>
188 <?php
189 echo wfView::create('common/status-detail', array(
190 'id' => 'waf-brute',
191 'percentage' => $firewall->bruteForceStatus(),
192 'title' => __('Brute Force Protection', 'wordfence') . ($firewall->bruteForceStatus() == 0 ? __(': Disabled', 'wordfence') : ''),
193 'subtitle' => __('Stops Password Guessing Attacks', 'wordfence'),
194 'link' => network_admin_url('admin.php?page=WordfenceWAF&subpage=waf_options#waf-options-bruteforce'),
195 'linkLabel' => null,
196 'statusTitle' => __('Brute Force Protection Status', 'wordfence'),
197 'statusList' => $firewall->bruteForceStatusList(),
198 'helpLink' => wfSupportController::supportURL(wfSupportController::ITEM_FIREWALL_WAF_STATUS_BRUTE_FORCE),
199 ))->render();
200 ?>
201 </li>
202 </ul>
203 </div>
204 </div>
205 </div>
206 </div>
207 <?php
208 echo wfView::create('waf/options-group-basic-firewall', array(
209 'firewall' => $firewall,
210 'waf' => $waf,
211 'stateKey' => 'waf-options-basic',
212 'collapseable' => false,
213 ))->render();
214 ?>
215 <?php
216 echo wfView::create('waf/options-group-advanced-firewall', array(
217 'firewall' => $firewall,
218 'waf' => $waf,
219 'stateKey' => 'waf-options-advanced',
220 ))->render();
221 ?>
222 <?php
223 echo wfView::create('waf/options-group-brute-force', array(
224 'firewall' => $firewall,
225 'waf' => $waf,
226 'stateKey' => 'waf-options-bruteforce',
227 ))->render();
228 ?>
229 <?php
230 echo wfView::create('waf/options-group-rate-limiting', array(
231 'firewall' => $firewall,
232 'waf' => $waf,
233 'stateKey' => 'waf-options-ratelimiting',
234 ))->render();
235 ?>
236 <?php
237 echo wfView::create('waf/options-group-whitelisted', array(
238 'firewall' => $firewall,
239 'waf' => $waf,
240 'stateKey' => 'waf-options-whitelisted',
241 ))->render();
242 ?>
243 </div> <!-- end waf options block -->
244 </div> <!-- end content block -->
245 </div> <!-- end row -->
246 </div> <!-- end container -->
247 </div>