PluginProbe ʕ •ᴥ•ʔ
Wordfence Security – Firewall, Malware Scan, and Login Security / 6.1.3
Wordfence Security – Firewall, Malware Scan, and Login Security v6.1.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_options.php
wordfence / lib Last commit date
Diff 11 years ago .htaccess 14 years ago Diff.php 14 years ago GeoIP.dat 10 years ago IPTraf.php 11 years ago compat.php 10 years ago conntest.php 11 years ago cronview.php 10 years ago dashboard.php 10 years ago dbview.php 11 years ago diffResult.php 11 years ago email_genericAlert.php 10 years ago email_newIssues.php 10 years ago email_passwdChanged.php 10 years ago email_pleaseChangePasswd.php 10 years ago email_unlockRequest.php 11 years ago menuHeader.php 12 years ago menu_activity.php 10 years ago menu_blockedIPs.php 10 years ago menu_countryBlocking.php 10 years ago menu_diagnostic.php 10 years ago menu_options.php 10 years ago menu_passwd.php 10 years ago menu_rangeBlocking.php 10 years ago menu_scan.php 10 years ago menu_scanSchedule.php 10 years ago menu_sitePerf.php 11 years ago menu_sitePerfStats.php 11 years ago menu_twoFactor.php 10 years ago menu_waf.php 10 years ago menu_whois.php 11 years ago pageTitle.php 11 years ago schedWeekEntry.php 12 years ago sysinfo.php 10 years ago unknownFiles.php 11 years ago viewFullActivityLog.php 10 years ago wf503.php 10 years ago wfAPI.php 10 years ago wfAction.php 14 years ago wfActivityReport.php 10 years ago wfArray.php 13 years ago wfBrowscap.php 12 years ago wfBrowscapCache.php 10 years ago wfBulkCountries.php 13 years ago wfCache.php 10 years ago wfConfig.php 10 years ago wfCountryMap.php 13 years ago wfCrawl.php 10 years ago wfCrypt.php 11 years ago wfDB.php 10 years ago wfDiagnostic.php 10 years ago wfDict.php 14 years ago wfDirectoryIterator.php 11 years ago wfGeoIP.php 10 years ago wfHelperBin.php 11 years ago wfHelperString.php 11 years ago wfIPWhitelist.php 10 years ago wfIssues.php 10 years ago wfLockedOut.php 13 years ago wfLog.php 10 years ago wfRate.php 14 years ago wfScan.php 11 years ago wfScanEngine.php 10 years ago wfSchema.php 10 years ago wfUnlockMsg.php 11 years ago wfUpdateCheck.php 11 years ago wfUtils.php 10 years ago wfView.php 10 years ago wfViewResult.php 11 years ago wordfenceClass.php 10 years ago wordfenceConstants.php 10 years ago wordfenceHash.php 10 years ago wordfenceScanner.php 10 years ago wordfenceURLHoover.php 11 years ago
menu_options.php
1180 lines
1 <?php
2 $w = new wfConfig();
3 ?>
4 <script type="text/javascript">
5 var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
6 </script>
7 <div class="wordfenceModeElem" id="wordfenceMode_options"></div>
8 <div class="wrap">
9 <?php require( 'menuHeader.php' ); ?>
10 <?php $helpLink = "http://docs.wordfence.com/en/Wordfence_options";
11 $helpLabel = "Learn more about Wordfence Options";
12 $pageTitle = "Wordfence Options";
13 include( 'pageTitle.php' ); ?>
14 <div class="wordfenceLive">
15 <table border="0" cellpadding="0" cellspacing="0">
16 <tr>
17 <td><h2>Wordfence Live Activity:</h2></td>
18 <td id="wfLiveStatus"></td>
19 </tr>
20 </table>
21 </div>
22
23 <form id="wfConfigForm">
24 <table class="wfConfigForm">
25 <tr>
26 <td colspan="2"><h2>License</h2></td>
27 </tr>
28
29 <tr>
30 <th>Your Wordfence API Key:<a href="http://docs.wordfence.com/en/Wordfence_options#Wordfence_API_Key"
31 target="_blank" class="wfhelp"></a></th>
32 <td><input type="text" id="apiKey" name="apiKey" value="<?php $w->f( 'apiKey' ); ?>" size="80"/></td>
33 </tr>
34 <tr>
35 <th>Key type currently active:</th>
36 <td>
37 <?php if (wfConfig::get( 'isPaid' )){ ?>
38 The currently active API Key is a Premium Key. <span style="font-weight: bold; color: #0A0;">Premium scanning enabled!</span>
39 <?php } else { ?>
40 The currently active API Key is a <span style="color: #F00; font-weight: bold;">Free Key</span>. <a
41 href="https://www.wordfence.com/gnl1optAPIKey1/wordfence-signup/" target="_blank">Click Here to Upgrade to
42 Wordfence Premium now.</a>
43 <?php } ?>
44 </td>
45 </tr>
46 <tr>
47 <td colspan="2">
48 <?php if (wfConfig::get('isPaid')): ?>
49 <table border="0">
50 <tr>
51 <td><a href="https://www.wordfence.com/gnl1optMngKys/manage-wordfence-api-keys/"
52 target="_blank"><input type="button" value="Renew your premium license"/></a>
53 </td>
54 <td>&nbsp;</td>
55 <td><input type="button" value="Downgrade to a free license"
56 onclick="WFAD.downgradeLicense();"/></td>
57 </tr>
58 </table>
59 <?php else: ?>
60 <div class="wf-premium-callout">
61 <h3>Upgrade to Wordfence Premium today for less than $5 per month</h3>
62 <ul>
63 <li>Receive real-time Firewall and Scan engine rule updates for protection as threats emerge</li>
64 <li>Advanced features like IP reputation monitoring, country blocking, an advanced comment spam filter and cell phone sign-in give you the best protection available</li>
65 <li>Remote, frequent and scheduled scans</li>
66 <li>Access to Premium Support</li>
67 <li>Discounts of up to 75% for multiyear and multi-license purchases</li>
68 </ul>
69 <p class="center">
70 <a class="button button-primary"
71 href="https://www.wordfence.com/gnl1optCallout1/wordfence-signup/">
72 Get Premium</a></p>
73 </div>
74 <?php endif ?>
75 </td>
76 </tr>
77 <tr>
78 <td colspan="2"><h2>Basic Options<a href="http://docs.wordfence.com/en/Wordfence_options#Basic_Options"
79 target="_blank" class="wfhelp"></a></h2></td>
80 </tr>
81 <tr>
82 <th class="wfConfigEnable">Enable Rate Limiting and Advanced Blocking<a
83 href="https://docs.wordfence.com/en/Wordfence_options#Enable_Rate_Limiting_and_Advanced_Blocking" target="_blank"
84 class="wfhelp"></a></th>
85 <td><input type="checkbox" id="firewallEnabled" class="wfConfigElem" name="firewallEnabled"
86 value="1" <?php $w->cb( 'firewallEnabled' ); ?> />&nbsp;<span
87 style="color: #F00;">NOTE:</span> This checkbox enables ALL blocking/throttling functions including IP,
88 country and advanced blocking and the "Rate Limiting Rules" below.
89 </td>
90 </tr>
91 <tr>
92 <td colspan="2">&nbsp;</td>
93 </tr>
94 <tr>
95 <th class="wfConfigEnable">Enable login security<a
96 href="http://docs.wordfence.com/en/Wordfence_options#Enable_login_security" target="_blank"
97 class="wfhelp"></a></th>
98 <td><input type="checkbox" id="loginSecurityEnabled" class="wfConfigElem" name="loginSecurityEnabled"
99 value="1" <?php $w->cb( 'loginSecurityEnabled' ); ?> />&nbsp;This option enables all "Login
100 Security" options. You can modify individual options further down this page.
101 </td>
102 </tr>
103 <tr>
104 <td colspan="2">&nbsp;</td>
105 </tr>
106 <tr>
107 <th class="wfConfigEnable">Enable Live Traffic View<a
108 href="http://docs.wordfence.com/en/Wordfence_options#Enable_Live_Traffic_View" target="_blank"
109 class="wfhelp"></a></th>
110 <td><input type="checkbox" id="liveTrafficEnabled" class="wfConfigElem" name="liveTrafficEnabled"
111 value="1" <?php $w->cb( 'liveTrafficEnabled' ); ?>
112 onclick="WFAD.reloadConfigPage = true; return true;"/>&nbsp;This option enables live traffic
113 logging.
114 </td>
115 </tr>
116 <tr>
117 <td colspan="2">&nbsp;</td>
118 </tr>
119 <tr>
120 <th class="wfConfigEnable">Advanced Comment Spam Filter<a
121 href="http://docs.wordfence.com/en/Wordfence_options#Advanced_Comment_Spam_Filter"
122 target="_blank" class="wfhelp"></a></th>
123 <td><input type="checkbox" id="advancedCommentScanning" class="wfConfigElem"
124 name="advancedCommentScanning" value="1" <?php $w->cbp( 'advancedCommentScanning' );
125 if ( ! wfConfig::get( 'isPaid' )){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#advancedCommentScanning').attr('checked', false); return false;" <?php } ?> />&nbsp;<span
126 style="color: #F00;">Premium Feature</span> In addition to free comment filtering (see below)
127 this option filters comments against several additional real-time lists of known spammers and
128 infected hosts.
129 </td>
130 </tr>
131 <tr>
132 <th class="wfConfigEnable">Check if this website is being "Spamvertised"<a
133 href="http://docs.wordfence.com/en/Wordfence_options#Check_if_this_website_is_being_.22Spamvertized.22"
134 target="_blank" class="wfhelp"></a></th>
135 <td><input type="checkbox" id="spamvertizeCheck" class="wfConfigElem" name="spamvertizeCheck" value="1"
136 <?php $w->cbp( 'spamvertizeCheck' );
137 if ( ! wfConfig::get( 'isPaid' )){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#spamvertizeCheck').attr('checked', false); return false;" <?php } ?> />&nbsp;<span
138 style="color: #F00;">Premium Feature</span> When doing a scan, Wordfence will check with spam
139 services if your site domain name is appearing as a link in spam emails.
140 </td>
141 </tr>
142 <tr>
143 <th class="wfConfigEnable">Check if this website IP is generating spam<a
144 href="http://docs.wordfence.com/en/Wordfence_options#Check_if_this_website_IP_is_generating_spam"
145 target="_blank" class="wfhelp"></a></th>
146 <td><input type="checkbox" id="checkSpamIP" class="wfConfigElem" name="checkSpamIP" value="1"
147 <?php $w->cbp( 'checkSpamIP' );
148 if ( ! wfConfig::get( 'isPaid' )){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#checkSpamIP').attr('checked', false); return false;" <?php } ?> />&nbsp;<span
149 style="color: #F00;">Premium Feature</span> When doing a scan, Wordfence will check with spam
150 services if your website IP address is listed as a known source of spam email.
151 </td>
152 </tr>
153 <tr>
154 <td colspan="2">&nbsp;</td>
155 </tr>
156 <?php /* <tr><th class="wfConfigEnable">Enable Performance Monitoring</th><td><input type="checkbox" id="perfLoggingEnabled" class="wfConfigElem" name="perfLoggingEnabled" value="1" <?php $w->cb('perfLoggingEnabled'); ?> onclick="WFAD.reloadConfigPage = true; return true;" />&nbsp;This option enables performance monitoring.</td></tr> */ ?>
157 <tr>
158 <td colspan="2">&nbsp;</td>
159 </tr>
160 <tr>
161 <th class="wfConfigEnable">Enable automatic scheduled scans<a
162 href="http://docs.wordfence.com/en/Wordfence_options#Enable_automatic_scheduled_scans"
163 target="_blank" class="wfhelp"></a></th>
164 <td><input type="checkbox" id="scheduledScansEnabled" class="wfConfigElem" name="scheduledScansEnabled"
165 value="1" <?php $w->cb( 'scheduledScansEnabled' ); ?> />&nbsp;Regular scans ensure your site
166 stays secure.
167 </td>
168 </tr>
169 <tr>
170 <td colspan="2">&nbsp;</td>
171 </tr>
172 <tr>
173 <th class="wfConfigEnable">Update Wordfence automatically when a new version is released?<a
174 href="http://docs.wordfence.com/en/Wordfence_options#Update_Wordfence_Automatically_when_a_new_version_is_released"
175 target="_blank" class="wfhelp"></a></th>
176 <td><input type="checkbox" id="autoUpdate" class="wfConfigElem" name="autoUpdate"
177 value="1" <?php $w->cb( 'autoUpdate' ); ?> />&nbsp;Automatically updates Wordfence to the
178 newest version within 24 hours of a new release.<br/>
179 <?php if (getenv( 'noabort' ) != '1' && stristr( $_SERVER['SERVER_SOFTWARE'], 'litespeed' ) !== false){ ?>
180 <span style="color: #F00;">Warning: </span>You are running LiteSpeed web server and you don't have
181 the "noabort" variable set in your .htaccess.<br/>
182 <a href="https://support.wordfence.com/solution/articles/1000129050-running-wordfence-under-litespeed-web-server-and-preventing-process-killing-or"
183 target="_blank">Please read this article in our FAQ to make an important change that will ensure
184 your site stability during an update.<br/>
185 <?php } ?>
186 </td>
187 </tr>
188 <tr>
189 <td colspan="2">&nbsp;</td>
190 </tr>
191
192 <tr>
193 <th>Where to email alerts:<a href="http://docs.wordfence.com/en/Wordfence_options#Where_to_email_alerts"
194 target="_blank" class="wfhelp"></a></th>
195 <td><input type="text" id="alertEmails" name="alertEmails" value="<?php $w->f( 'alertEmails' ); ?>"
196 size="50"/>&nbsp;<span class="wfTipText">Separate multiple emails with commas</span></td>
197 </tr>
198 <tr>
199 <th colspan="2">&nbsp;</th>
200 </tr>
201 <tr>
202 <th>Security Level:<a href="http://docs.wordfence.com/en/Wordfence_options#Security_Level"
203 target="_blank" class="wfhelp"></a></th>
204 <td>
205 <select id="securityLevel" name="securityLevel" onchange="WFAD.changeSecurityLevel(); return true;">
206 <option value="0"<?php $w->sel( 'securityLevel', '0' ); ?>>Level 0: Disable all Wordfence
207 security measures
208 </option>
209 <option value="1"<?php $w->sel( 'securityLevel', '1' ); ?>>Level 1: Light protection. Just the
210 basics
211 </option>
212 <option value="2"<?php $w->sel( 'securityLevel', '2' ); ?>>Level 2: Medium protection. Suitable
213 for most sites
214 </option>
215 <option value="3"<?php $w->sel( 'securityLevel', '3' ); ?>>Level 3: High security. Use this when
216 an attack is imminent
217 </option>
218 <option value="4"<?php $w->sel( 'securityLevel', '4' ); ?>>Level 4: Lockdown. Protect the site
219 against an attack in progress at the cost of inconveniencing some users
220 </option>
221 <option value="CUSTOM"<?php $w->sel( 'securityLevel', 'CUSTOM' ); ?>>Custom settings</option>
222 </select>
223 </td>
224 </tr>
225 <tr>
226 <th>How does Wordfence get IPs:<a
227 href="http://docs.wordfence.com/en/Wordfence_options#How_does_Wordfence_get_IPs" target="_blank"
228 class="wfhelp"></a></th>
229 <td>
230 <select id="howGetIPs" name="howGetIPs">
231 <option value="">Let Wordfence use the most secure method to get visitor IP addresses. Prevents
232 spoofing and works with most sites.
233 </option>
234 <option value="REMOTE_ADDR"<?php $w->sel( 'howGetIPs', 'REMOTE_ADDR' ); ?>>Use PHP's built in
235 REMOTE_ADDR and don't use anything else. Very secure if this is compatible with your site.
236 </option>
237 <option value="HTTP_X_FORWARDED_FOR"<?php $w->sel( 'howGetIPs', 'HTTP_X_FORWARDED_FOR' ); ?>>Use
238 the X-Forwarded-For HTTP header. Only use if you have a front-end proxy or spoofing may
239 result.
240 </option>
241 <option value="HTTP_X_REAL_IP"<?php $w->sel( 'howGetIPs', 'HTTP_X_REAL_IP' ); ?>>Use the
242 X-Real-IP HTTP header. Only use if you have a front-end proxy or spoofing may result.
243 </option>
244 <option value="HTTP_CF_CONNECTING_IP"<?php $w->sel( 'howGetIPs', 'HTTP_CF_CONNECTING_IP' ); ?>>
245 Use the Cloudflare "CF-Connecting-IP" HTTP header to get a visitor IP. Only use if you're
246 using Cloudflare.
247 </option>
248 </select>
249 </td>
250 </tr>
251 </table>
252 <p>
253 <table border="0" cellpadding="0" cellspacing="0">
254 <tr>
255 <td><input type="button" id="button1" name="button1" class="button-primary" value="Save Changes"
256 onclick="WFAD.saveConfig();"/></td>
257 <td style="height: 24px;">
258 <div class="wfAjax24"></div>
259 <span class="wfSavedMsg">&nbsp;Your changes have been saved!</span></td>
260 </tr>
261 </table>
262 </p>
263 <div class="wfMarker" id="wfMarkerBasicOptions"></div>
264 <div style="margin-top: 25px;">
265 <h2>Advanced Options:<a href="http://docs.wordfence.com/en/Wordfence_options#Advanced_Options"
266 target="_blank" class="wfhelp"></a></h2>
267
268 <p style="width: 600px;">
269 Wordfence works great out of the box for most websites. Simply install Wordfence and your site and
270 content is protected. For finer granularity of control, we have provided advanced options.
271 </p>
272 </div>
273 <div id="wfConfigAdvanced">
274 <table class="wfConfigForm">
275 <tr>
276 <td colspan="2"><h3 class="wfConfigHeading">Alerts<a
277 href="http://docs.wordfence.com/en/Wordfence_options#Alerts" target="_blank"
278 class="wfhelp"></a></h3></td>
279 </tr>
280 <?php
281 $emails = wfConfig::getAlertEmails();
282 if ( sizeof( $emails ) < 1 ) {
283 echo "<tr><th colspan=\"2\" style=\"color: #F00;\">You have not configured an email to receive alerts yet. Set this up under \"Basic Options\" above.</th></tr>\n";
284 }
285 ?>
286 <tr>
287 <th>Email me when Wordfence is automatically updated</th>
288 <td><input type="checkbox" id="alertOn_update" class="wfConfigElem" name="alertOn_update"
289 value="1" <?php $w->cb( 'alertOn_update' ); ?>/>&nbsp;If you have automatic updates
290 enabled (see above), you'll get an email when an update occurs.
291 </td>
292 </tr>
293 <tr>
294 <th>Alert on critical problems</th>
295 <td><input type="checkbox" id="alertOn_critical" class="wfConfigElem" name="alertOn_critical"
296 value="1" <?php $w->cb( 'alertOn_critical' ); ?>/></td>
297 </tr>
298 <tr>
299 <th>Alert on warnings</th>
300 <td><input type="checkbox" id="alertOn_warnings" class="wfConfigElem" name="alertOn_warnings"
301 value="1" <?php $w->cb( 'alertOn_warnings' ); ?>/></td>
302 </tr>
303 <tr>
304 <th>Alert when an IP address is blocked</th>
305 <td><input type="checkbox" id="alertOn_block" class="wfConfigElem" name="alertOn_block"
306 value="1" <?php $w->cb( 'alertOn_block' ); ?>/></td>
307 </tr>
308 <tr>
309 <th>Alert when someone is locked out from login</th>
310 <td><input type="checkbox" id="alertOn_loginLockout" class="wfConfigElem"
311 name="alertOn_loginLockout" value="1" <?php $w->cb( 'alertOn_loginLockout' ); ?>/></td>
312 </tr>
313 <tr>
314 <th>Alert when the "lost password" form is used for a valid user</th>
315 <td><input type="checkbox" id="alertOn_lostPasswdForm" class="wfConfigElem"
316 name="alertOn_lostPasswdForm" value="1" <?php $w->cb( 'alertOn_lostPasswdForm' ); ?>/>
317 </td>
318 </tr>
319 <tr>
320 <th>Alert me when someone with administrator access signs in</th>
321 <td><input type="checkbox" id="alertOn_adminLogin" class="wfConfigElem" name="alertOn_adminLogin"
322 value="1" <?php $w->cb( 'alertOn_adminLogin' ); ?>/></td>
323 </tr>
324 <tr>
325 <th>Alert me when a non-admin user signs in</th>
326 <td><input type="checkbox" id="alertOn_nonAdminLogin" class="wfConfigElem"
327 name="alertOn_nonAdminLogin" value="1" <?php $w->cb( 'alertOn_nonAdminLogin' ); ?>/></td>
328 </tr>
329 <tr>
330 <th>Maximum email alerts to send per hour</th>
331 <td>&nbsp;<input type="text" id="alert_maxHourly" name="alert_maxHourly"
332 value="<?php $w->f( 'alert_maxHourly' ); ?>" size="4"/>0 or empty means unlimited
333 alerts will be sent.
334 </td>
335 </tr>
336 <tr>
337 <td colspan="2">
338 <div class="wfMarker" id="wfMarkerEmailSummary"></div>
339 <h3 class="wfConfigHeading">Email Summary<a
340 href="http://docs.wordfence.com/en/Wordfence_options#Email_Summary" target="_blank"
341 class="wfhelp"></a></h3>
342 </td>
343 </tr>
344 <tr>
345 <th>Enable email summary:</th>
346 <td>&nbsp;<input type="checkbox" id="email_summary_enabled" name="email_summary_enabled"
347 value="1" <?php $w->cb('email_summary_enabled'); ?> />
348 </td>
349 </tr>
350 <tr>
351 <th>Email summary frequency:</th>
352 <td>
353 <select id="email_summary_interval" class="wfConfigElem" name="email_summary_interval">
354 <option value="weekly"<?php $w->sel( 'email_summary_interval', 'weekly' ); ?>>Once a week</option>
355 <option value="biweekly"<?php $w->sel( 'email_summary_interval', 'biweekly' ); ?>>Once every 2 weeks</option>
356 <option value="monthly"<?php $w->sel( 'email_summary_interval', 'monthly' ); ?>>Once a month</option>
357 </select>
358 </td>
359 </tr>
360 <tr>
361 <th>Comma-separated list of directories to exclude from recently modified file list:</th>
362 <td>
363 <input name="email_summary_excluded_directories" type="text" value="<?php $w->f('email_summary_excluded_directories') ?>"/>
364 </td>
365 </tr>
366 <?php if ((defined('WP_DEBUG') && WP_DEBUG) || wfConfig::get('debugOn', 0)): ?>
367 <tr>
368 <th>Send test email:</th>
369 <td>
370 <input type="email" id="email_summary_email_address_debug" />
371 <a class="button" href="javascript:void(0);" onclick="WFAD.ajax('wordfence_email_summary_email_address_debug', {email: jQuery('#email_summary_email_address_debug').val()});">Send Email</a>
372 </td>
373 </tr>
374 <?php endif ?>
375 <tr>
376 <th>Enable activity report widget on dashboard:</th>
377 <td>&nbsp;<input type="checkbox" id="email_summary_dashboard_widget_enabled" name="email_summary_dashboard_widget_enabled"
378 value="1" <?php $w->cb('email_summary_dashboard_widget_enabled'); ?> />
379 </td>
380 </tr>
381 <tr>
382 <td colspan="2">
383 <div class="wfMarker" id="wfMarkerLiveTrafficOptions"></div>
384 <h3 class="wfConfigHeading">Live Traffic View<a
385 href="http://docs.wordfence.com/en/Wordfence_options#Live_Traffic_View" target="_blank"
386 class="wfhelp"></a></h3>
387 </td>
388 </tr>
389 <tr>
390 <th>Don't log signed-in users with publishing access:</th>
391 <td><input type="checkbox" id="liveTraf_ignorePublishers" name="liveTraf_ignorePublishers"
392 value="1" <?php $w->cb( 'liveTraf_ignorePublishers' ); ?> /></td>
393 </tr>
394 <tr>
395 <th>List of comma separated usernames to ignore:</th>
396 <td><input type="text" name="liveTraf_ignoreUsers" id="liveTraf_ignoreUsers"
397 value="<?php $w->f( 'liveTraf_ignoreUsers' ); ?>"/></td>
398 </tr>
399 <tr>
400 <th>List of comma separated IP addresses to ignore:</th>
401 <td><input type="text" name="liveTraf_ignoreIPs" id="liveTraf_ignoreIPs"
402 value="<?php $w->f( 'liveTraf_ignoreIPs' ); ?>"/></td>
403 </tr>
404 <tr>
405 <th>Browser user-agent to ignore:</th>
406 <td><input type="text" name="liveTraf_ignoreUA" id="liveTraf_ignoreUA"
407 value="<?php $w->f( 'liveTraf_ignoreUA' ); ?>"/></td>
408 </tr>
409 <tr>
410 <th>Amount of Live Traffic data to store (number of rows):</th>
411 <td><input type="text" name="liveTraf_maxRows" id="liveTraf_maxRows"
412 value="<?php $w->f( 'liveTraf_maxRows' ); ?>"/></td>
413 </tr>
414 <tr>
415 <td colspan="2">
416 <div class="wfMarker" id="wfMarkerScansToInclude"></div>
417 <h3 class="wfConfigHeading">Scans to include<a
418 href="http://docs.wordfence.com/en/Wordfence_options#Scans_to_Include" target="_blank"
419 class="wfhelp"></a></h3></td>
420 </tr>
421 <?php if ( wfConfig::get( 'isPaid' ) ) { ?>
422 <tr>
423 <th>Scan public facing site for vulnerabilities?<a
424 href="http://docs.wordfence.com/en/Wordfence_options#Scan_public_facing_site"
425 target="_blank" class="wfhelp"></a></th>
426 <td><input type="checkbox" id="scansEnabled_public" class="wfConfigElem"
427 name="scansEnabled_public" value="1" <?php $w->cb( 'scansEnabled_public' ); ?> /></td>
428 </tr>
429 <?php } else { ?>
430 <tr>
431 <th style="color: #F00;">Scan public facing site for vulnerabilities?<a
432 href="http://docs.wordfence.com/en/Wordfence_options#Scan_public_facing_site"
433 target="_blank" class="wfhelp"></a>(<a
434 href="https://www.wordfence.com/gnl1optPdOnly1/wordfence-signup/" target="_blank">Paid members only</a>)
435 </th>
436 <td><input type="checkbox" id="scansEnabled_public" class="wfConfigElem"
437 name="scansEnabled_public" value="1" DISABLED /></td>
438 </tr>
439 <?php } ?>
440 <tr>
441 <th>Scan for the HeartBleed vulnerability?<a
442 href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_the_HeartBleed_vulnerability"
443 target="_blank" class="wfhelp"></a></th>
444 <td><input type="checkbox" id="scansEnabled_heartbleed" class="wfConfigElem"
445 name="scansEnabled_heartbleed" value="1" <?php $w->cb( 'scansEnabled_heartbleed' ); ?> />
446 </td>
447 </tr>
448 <tr>
449 <th>Scan for publically accessible configuration, backup, or log files<a
450 href="http://docs.wordfence.com/en/Wordfence_options#Configuration_Readable"
451 target="_blank" class="wfhelp"></a></th>
452 <td><input type="checkbox" id="scansEnabled_checkReadableConfig" class="wfConfigElem"
453 name="scansEnabled_checkReadableConfig" value="1" <?php $w->cb( 'scansEnabled_checkReadableConfig' ); ?> />
454 </td>
455 </tr>
456 <!-- <tr>-->
457 <!-- <th>Scan for Full Path Disclosure?<a-->
458 <!-- href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_Full_Path_Disclosure"-->
459 <!-- target="_blank" class="wfhelp"></a></th>-->
460 <!-- <td><input type="checkbox" id="scansEnabled_wpscan_fullPathDisclosure" class="wfConfigElem"-->
461 <!-- name="scansEnabled_wpscan_fullPathDisclosure" value="1" --><?php //$w->cb( 'scansEnabled_wpscan_fullPathDisclosure' ); ?><!-- />-->
462 <!-- </td>-->
463 <!-- </tr>-->
464 <!-- <tr>-->
465 <!-- <th>Scan for Directory Listing?<a-->
466 <!-- href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_Directory_Listing"-->
467 <!-- target="_blank" class="wfhelp"></a></th>-->
468 <!-- <td><input type="checkbox" id="scansEnabled_wpscan_directoryListingEnabled" class="wfConfigElem"-->
469 <!-- name="scansEnabled_wpscan_directoryListingEnabled" value="1" --><?php //$w->cb( 'scansEnabled_wpscan_directoryListingEnabled' ); ?><!-- />-->
470 <!-- </td>-->
471 <!-- </tr>-->
472 <tr>
473 <th>Scan core files against repository versions for changes<a
474 href="http://docs.wordfence.com/en/Wordfence_options#Scan_core_files_against_repository_version_for_changes"
475 target="_blank" class="wfhelp"></a></th>
476 <td><input type="checkbox" id="scansEnabled_core" class="wfConfigElem" name="scansEnabled_core"
477 value="1" <?php $w->cb( 'scansEnabled_core' ); ?>/></td>
478 </tr>
479
480 <tr>
481 <th>Scan theme files against repository versions for changes<a
482 href="http://docs.wordfence.com/en/Wordfence_options#Scan_theme_files_against_repository_versions_for_changes"
483 target="_blank" class="wfhelp"></a></th>
484 <td><input type="checkbox" id="scansEnabled_themes" class="wfConfigElem" name="scansEnabled_themes"
485 value="1" <?php $w->cb( 'scansEnabled_themes' ); ?>/></td>
486 </tr>
487 <tr>
488 <th>Scan plugin files against repository versions for changes<a
489 href="http://docs.wordfence.com/en/Wordfence_options#Scan_plugin_files_against_repository_versions_for_changes"
490 target="_blank" class="wfhelp"></a></th>
491 <td><input type="checkbox" id="scansEnabled_plugins" class="wfConfigElem"
492 name="scansEnabled_plugins" value="1" <?php $w->cb( 'scansEnabled_plugins' ); ?>/></td>
493 </tr>
494 <tr>
495 <th>Scan for signatures of known malicious files<a
496 href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_signatures_of_known_malicious_files"
497 target="_blank" class="wfhelp"></a></th>
498 <td><input type="checkbox" id="scansEnabled_malware" class="wfConfigElem"
499 name="scansEnabled_malware" value="1" <?php $w->cb( 'scansEnabled_malware' ); ?>/></td>
500 </tr>
501 <tr>
502 <th>Scan file contents for backdoors, trojans and suspicious code<a
503 href="http://docs.wordfence.com/en/Wordfence_options#Scan_file_contents_for_backdoors.2C_trojans_and_suspicious_code"
504 target="_blank" class="wfhelp"></a></th>
505 <td><input type="checkbox" id="scansEnabled_fileContents" class="wfConfigElem"
506 name="scansEnabled_fileContents"
507 value="1" <?php $w->cb( 'scansEnabled_fileContents' ); ?>/>
508
509 <a href="#add-more-rules" class="do-show" data-selector="#scan_include_extra">+ Add additional signatures</a>
510 </td>
511 </tr>
512 <tr class="hidden" id="scan_include_extra">
513 <th style="vertical-align: top;">Additional scan signatures</th>
514 <td><textarea class="wfConfigElement" cols="40" rows="4"
515 name="scan_include_extra"><?php echo $w->getHTML('scan_include_extra'); ?></textarea>
516 </td>
517 </tr>
518 <tr>
519 <th>Scan posts for known dangerous URLs and suspicious content<a
520 href="http://docs.wordfence.com/en/Wordfence_options#Scan_posts_for_known_dangerous_URLs_and_suspicious_content"
521 target="_blank" class="wfhelp"></a></th>
522 <td><input type="checkbox" id="scansEnabled_posts" class="wfConfigElem" name="scansEnabled_posts"
523 value="1" <?php $w->cb( 'scansEnabled_posts' ); ?>/></td>
524 </tr>
525 <tr>
526 <th>Scan comments for known dangerous URLs and suspicious content<a
527 href="http://docs.wordfence.com/en/Wordfence_options#Scan_comments_for_known_dangerous_URLs_and_suspicious_content"
528 target="_blank" class="wfhelp"></a></th>
529 <td><input type="checkbox" id="scansEnabled_comments" class="wfConfigElem"
530 name="scansEnabled_comments" value="1" <?php $w->cb( 'scansEnabled_comments' ); ?>/></td>
531 </tr>
532 <tr>
533 <th>Scan for out of date plugins, themes and WordPress versions<a
534 href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_out_of_date_plugins.2C_themes_and_WordPress_versions"
535 target="_blank" class="wfhelp"></a></th>
536 <td><input type="checkbox" id="scansEnabled_oldVersions" class="wfConfigElem"
537 name="scansEnabled_oldVersions"
538 value="1" <?php $w->cb( 'scansEnabled_oldVersions' ); ?>/></td>
539 </tr>
540 <tr>
541 <th>Scan for admin users created outside of WordPress<a
542 href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_admin_users_created_outside_of_WordPress"
543 target="_blank" class="wfhelp"></a></th>
544 <td><input type="checkbox" id="scansEnabled_suspiciousAdminUsers" class="wfConfigElem"
545 name="scansEnabled_suspiciousAdminUsers"
546 value="1" <?php $w->cb( 'scansEnabled_suspiciousAdminUsers' ); ?>/></td>
547 </tr>
548 <tr>
549 <th>Check the strength of passwords<a
550 href="http://docs.wordfence.com/en/Wordfence_options#Check_the_strength_of_passwords"
551 target="_blank" class="wfhelp"></a></th>
552 <td><input type="checkbox" id="scansEnabled_passwds" class="wfConfigElem"
553 name="scansEnabled_passwds" value="1" <?php $w->cb( 'scansEnabled_passwds' ); ?>/></td>
554 </tr>
555 <tr>
556 <th>Monitor disk space<a href="http://docs.wordfence.com/en/Wordfence_options#Monitor_disk_space"
557 target="_blank" class="wfhelp"></a></th>
558 <td><input type="checkbox" id="scansEnabled_diskSpace" class="wfConfigElem"
559 name="scansEnabled_diskSpace" value="1" <?php $w->cb( 'scansEnabled_diskSpace' ); ?>/>
560 </td>
561 </tr>
562 <tr>
563 <th>Scan for unauthorized DNS changes<a
564 href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_unauthorized_DNS_changes"
565 target="_blank" class="wfhelp"></a></th>
566 <td><input type="checkbox" id="scansEnabled_dns" class="wfConfigElem" name="scansEnabled_dns"
567 value="1" <?php $w->cb( 'scansEnabled_dns' ); ?>/></td>
568 </tr>
569 <tr>
570 <th>Scan files outside your WordPress installation<a
571 href="http://docs.wordfence.com/en/Wordfence_options#Scan_files_outside_your_WordPress_installation"
572 target="_blank" class="wfhelp"></a></th>
573 <td><input type="checkbox" id="other_scanOutside" class="wfConfigElem" name="other_scanOutside"
574 value="1" <?php $w->cb( 'other_scanOutside' ); ?> /></td>
575 </tr>
576 <tr>
577 <th>Scan images and binary files as if they were executable<a
578 href="http://docs.wordfence.com/en/Wordfence_options#Scan_image_files_as_if_they_were_executable"
579 target="_blank" class="wfhelp"></a></th>
580 <td><input type="checkbox" id="scansEnabled_scanImages" class="wfConfigElem"
581 name="scansEnabled_scanImages" value="1" <?php $w->cb( 'scansEnabled_scanImages' ); ?> />
582 </td>
583 </tr>
584 <tr>
585 <th>Enable HIGH SENSITIVITY scanning. May give false positives.<a
586 href="http://docs.wordfence.com/en/Wordfence_options#Enable_HIGH_SENSITIVITY_scanning"
587 target="_blank" class="wfhelp"></a></th>
588 <td><input type="checkbox" id="scansEnabled_highSense" class="wfConfigElem"
589 name="scansEnabled_highSense" value="1" <?php $w->cb( 'scansEnabled_highSense' ); ?> />
590 </td>
591 </tr>
592 <tr>
593 <th>Exclude files from scan that match these wildcard patterns. (One per line).<a
594 href="http://docs.wordfence.com/en/Wordfence_options#Exclude_files_from_scan_that_match_these_wildcard_patterns."
595 target="_blank" class="wfhelp"></a></th>
596 <td>
597 <textarea id="scan_exclude" class="wfConfigElem" cols="40" rows="4"
598 name="scan_exclude"><?php echo wfUtils::cleanupOneEntryPerLine($w->getHTML( 'scan_exclude' )); ?></textarea>
599 </td>
600 </tr>
601 <tr>
602 <td colspan="2">
603 <div class="wfMarker" id="wfMarkerFirewallRules"></div>
604 <h3 class="wfConfigHeading">Rate Limiting Rules<a
605 href="http://docs.wordfence.com/en/Wordfence_options#Rate_Limiting_Rules" target="_blank"
606 class="wfhelp"></a></h3>
607 </td>
608 </tr>
609 <tr>
610 <th>Immediately block fake Google crawlers:<a
611 href="http://docs.wordfence.com/en/Wordfence_options#Immediately_block_fake_Google_crawlers:"
612 target="_blank" class="wfhelp"></a></th>
613 <td><input type="checkbox" id="blockFakeBots" class="wfConfigElem" name="blockFakeBots"
614 value="1" <?php $w->cb( 'blockFakeBots' ); ?>/></td>
615 </tr>
616 <tr>
617 <th>How should we treat Google's crawlers<a
618 href="http://docs.wordfence.com/en/Wordfence_options#How_should_we_treat_Google.27s_crawlers"
619 target="_blank" class="wfhelp"></a></th>
620 <td>
621 <select id="neverBlockBG" class="wfConfigElem" name="neverBlockBG">
622 <option value="neverBlockVerified"<?php $w->sel( 'neverBlockBG', 'neverBlockVerified' ); ?>>
623 Verified Google crawlers have unlimited access to this site
624 </option>
625 <option value="neverBlockUA"<?php $w->sel( 'neverBlockBG', 'neverBlockUA' ); ?>>Anyone
626 claiming to be Google has unlimited access
627 </option>
628 <option
629 value="treatAsOtherCrawlers"<?php $w->sel( 'neverBlockBG', 'treatAsOtherCrawlers' ); ?>>
630 Treat Google like any other Crawler
631 </option>
632 </select></td>
633 </tr>
634 <tr>
635 <th>If anyone's requests exceed:<a
636 href="http://docs.wordfence.com/en/Wordfence_options#If_anyone.27s_requests_exceed:"
637 target="_blank" class="wfhelp"></a></th>
638 <td><?php $rateName = 'maxGlobalRequests';
639 require( 'wfRate.php' ); ?> then <?php $throtName = 'maxGlobalRequests_action';
640 require( 'wfAction.php' ); ?></td>
641 </tr>
642 <tr>
643 <th>If a crawler's page views exceed:<a
644 href="http://docs.wordfence.com/en/Wordfence_options#If_a_crawler.27s_page_views_exceed"
645 target="_blank" class="wfhelp"></a></th>
646 <td><?php $rateName = 'maxRequestsCrawlers';
647 require( 'wfRate.php' ); ?> then <?php $throtName = 'maxRequestsCrawlers_action';
648 require( 'wfAction.php' ); ?></td>
649 </tr>
650 <tr>
651 <th>If a crawler's pages not found (404s) exceed:<a
652 href="http://docs.wordfence.com/en/Wordfence_options#If_a_crawler.27s_pages_not_found_.28404s.29_exceed"
653 target="_blank" class="wfhelp"></a></th>
654 <td><?php $rateName = 'max404Crawlers';
655 require( 'wfRate.php' ); ?> then <?php $throtName = 'max404Crawlers_action';
656 require( 'wfAction.php' ); ?></td>
657 </tr>
658 <tr>
659 <th>If a human's page views exceed:<a
660 href="http://docs.wordfence.com/en/Wordfence_options#If_a_human.27s_page_views_exceed"
661 target="_blank" class="wfhelp"></a></th>
662 <td><?php $rateName = 'maxRequestsHumans';
663 require( 'wfRate.php' ); ?> then <?php $throtName = 'maxRequestsHumans_action';
664 require( 'wfAction.php' ); ?></td>
665 </tr>
666 <tr>
667 <th>If a human's pages not found (404s) exceed:<a
668 href="http://docs.wordfence.com/en/Wordfence_options#If_a_human.27s_pages_not_found_.28404s.29_exceed"
669 target="_blank" class="wfhelp"></a></th>
670 <td><?php $rateName = 'max404Humans';
671 require( 'wfRate.php' ); ?> then <?php $throtName = 'max404Humans_action';
672 require( 'wfAction.php' ); ?></td>
673 </tr>
674 <tr>
675 <th>If 404's for known vulnerable URL's exceed:<a
676 href="http://docs.wordfence.com/en/Wordfence_options#If_404.27s_for_known_vulnerable_URL.27s_exceed"
677 target="_blank" class="wfhelp"></a></th>
678 <td><?php $rateName = 'maxScanHits';
679 require( 'wfRate.php' ); ?> then <?php $throtName = 'maxScanHits_action';
680 require( 'wfAction.php' ); ?></td>
681 </tr>
682 <tr>
683 <th>How long is an IP address blocked when it breaks a rule:<a
684 href="http://docs.wordfence.com/en/Wordfence_options#How_long_is_an_IP_address_blocked_when_it_breaks_a_rule"
685 target="_blank" class="wfhelp"></a></th>
686 <td>
687 <select id="blockedTime" class="wfConfigElem" name="blockedTime">
688 <option value="60"<?php $w->sel( 'blockedTime', '60' ); ?>>1 minute</option>
689 <option value="300"<?php $w->sel( 'blockedTime', '300' ); ?>>5 minutes</option>
690 <option value="1800"<?php $w->sel( 'blockedTime', '1800' ); ?>>30 minutes</option>
691 <option value="3600"<?php $w->sel( 'blockedTime', '3600' ); ?>>1 hour</option>
692 <option value="7200"<?php $w->sel( 'blockedTime', '7200' ); ?>>2 hours</option>
693 <option value="21600"<?php $w->sel( 'blockedTime', '21600' ); ?>>6 hours</option>
694 <option value="43200"<?php $w->sel( 'blockedTime', '43200' ); ?>>12 hours</option>
695 <option value="86400"<?php $w->sel( 'blockedTime', '86400' ); ?>>1 day</option>
696 <option value="172800"<?php $w->sel( 'blockedTime', '172800' ); ?>>2 days</option>
697 <option value="432000"<?php $w->sel( 'blockedTime', '432000' ); ?>>5 days</option>
698 <option value="864000"<?php $w->sel( 'blockedTime', '864000' ); ?>>10 days</option>
699 <option value="2592000"<?php $w->sel( 'blockedTime', '2592000' ); ?>>1 month</option>
700 </select></td>
701 </tr>
702
703 <tr>
704 <td colspan="2">
705 <div class="wfMarker" id="wfMarkerLoginSecurity"></div>
706 <h3 class="wfConfigHeading">Login Security Options<a
707 href="http://docs.wordfence.com/en/Wordfence_options#Login_Security_Options"
708 target="_blank" class="wfhelp"></a></h3>
709 </td>
710 </tr>
711 <tr>
712 <th>Enforce strong passwords?<a
713 href="http://docs.wordfence.com/en/Wordfence_options#Enforce_strong_passwords.3F"
714 target="_blank" class="wfhelp"></a></th>
715 <td>
716 <select class="wfConfigElem" id="loginSec_strongPasswds" name="loginSec_strongPasswds">
717 <option value="">Do not force users to use strong passwords</option>
718 <option value="pubs"<?php $w->sel( 'loginSec_strongPasswds', 'pubs' ); ?>>Force admins and
719 publishers to use strong passwords (recommended)
720 </option>
721 <option value="all"<?php $w->sel( 'loginSec_strongPasswds', 'all' ); ?>>Force all members to
722 use strong passwords
723 </option>
724 </select>
725 <tr>
726 <th>Lock out after how many login failures<a
727 href="http://docs.wordfence.com/en/Wordfence_options#Lock_out_after_how_many_login_failures"
728 target="_blank" class="wfhelp"></a></th>
729 <td>
730 <select id="loginSec_maxFailures" class="wfConfigElem" name="loginSec_maxFailures">
731 <option value="1"<?php $w->sel( 'loginSec_maxFailures', '1' ); ?>>1</option>
732 <option value="2"<?php $w->sel( 'loginSec_maxFailures', '2' ); ?>>2</option>
733 <option value="3"<?php $w->sel( 'loginSec_maxFailures', '3' ); ?>>3</option>
734 <option value="4"<?php $w->sel( 'loginSec_maxFailures', '4' ); ?>>4</option>
735 <option value="5"<?php $w->sel( 'loginSec_maxFailures', '5' ); ?>>5</option>
736 <option value="6"<?php $w->sel( 'loginSec_maxFailures', '6' ); ?>>6</option>
737 <option value="7"<?php $w->sel( 'loginSec_maxFailures', '7' ); ?>>7</option>
738 <option value="8"<?php $w->sel( 'loginSec_maxFailures', '8' ); ?>>8</option>
739 <option value="9"<?php $w->sel( 'loginSec_maxFailures', '9' ); ?>>9</option>
740 <option value="10"<?php $w->sel( 'loginSec_maxFailures', '10' ); ?>>10</option>
741 <option value="20"<?php $w->sel( 'loginSec_maxFailures', '20' ); ?>>20</option>
742 <option value="30"<?php $w->sel( 'loginSec_maxFailures', '30' ); ?>>30</option>
743 <option value="40"<?php $w->sel( 'loginSec_maxFailures', '40' ); ?>>40</option>
744 <option value="50"<?php $w->sel( 'loginSec_maxFailures', '50' ); ?>>50</option>
745 <option value="100"<?php $w->sel( 'loginSec_maxFailures', '100' ); ?>>100</option>
746 <option value="200"<?php $w->sel( 'loginSec_maxFailures', '200' ); ?>>200</option>
747 <option value="500"<?php $w->sel( 'loginSec_maxFailures', '500' ); ?>>500</option>
748 </select>
749 </td>
750 </tr>
751 <tr>
752 <th>Lock out after how many forgot password attempts<a
753 href="http://docs.wordfence.com/en/Wordfence_options#Lock_out_after_how_many_forgot_password_attempts"
754 target="_blank" class="wfhelp"></a></th>
755 <td>
756 <select id="loginSec_maxForgotPasswd" class="wfConfigElem" name="loginSec_maxForgotPasswd">
757 <option value="1"<?php $w->sel( 'loginSec_maxForgotPasswd', '1' ); ?>>1</option>
758 <option value="2"<?php $w->sel( 'loginSec_maxForgotPasswd', '2' ); ?>>2</option>
759 <option value="3"<?php $w->sel( 'loginSec_maxForgotPasswd', '3' ); ?>>3</option>
760 <option value="4"<?php $w->sel( 'loginSec_maxForgotPasswd', '4' ); ?>>4</option>
761 <option value="5"<?php $w->sel( 'loginSec_maxForgotPasswd', '5' ); ?>>5</option>
762 <option value="6"<?php $w->sel( 'loginSec_maxForgotPasswd', '6' ); ?>>6</option>
763 <option value="7"<?php $w->sel( 'loginSec_maxForgotPasswd', '7' ); ?>>7</option>
764 <option value="8"<?php $w->sel( 'loginSec_maxForgotPasswd', '8' ); ?>>8</option>
765 <option value="9"<?php $w->sel( 'loginSec_maxForgotPasswd', '9' ); ?>>9</option>
766 <option value="10"<?php $w->sel( 'loginSec_maxForgotPasswd', '10' ); ?>>10</option>
767 <option value="20"<?php $w->sel( 'loginSec_maxForgotPasswd', '20' ); ?>>20</option>
768 <option value="30"<?php $w->sel( 'loginSec_maxForgotPasswd', '30' ); ?>>30</option>
769 <option value="40"<?php $w->sel( 'loginSec_maxForgotPasswd', '40' ); ?>>40</option>
770 <option value="50"<?php $w->sel( 'loginSec_maxForgotPasswd', '50' ); ?>>50</option>
771 <option value="100"<?php $w->sel( 'loginSec_maxForgotPasswd', '100' ); ?>>100</option>
772 <option value="200"<?php $w->sel( 'loginSec_maxForgotPasswd', '200' ); ?>>200</option>
773 <option value="500"<?php $w->sel( 'loginSec_maxForgotPasswd', '500' ); ?>>500</option>
774 </select>
775 </td>
776 </tr>
777 <tr>
778 <th>Count failures over what time period<a
779 href="http://docs.wordfence.com/en/Wordfence_options#Count_failures_over_what_time_period"
780 target="_blank" class="wfhelp"></a></th>
781 <td>
782 <select id="loginSec_countFailMins" class="wfConfigElem" name="loginSec_countFailMins">
783 <option value="5"<?php $w->sel( 'loginSec_countFailMins', '5' ); ?>>5 minutes</option>
784 <option value="10"<?php $w->sel( 'loginSec_countFailMins', '10' ); ?>>10 minutes</option>
785 <option value="30"<?php $w->sel( 'loginSec_countFailMins', '30' ); ?>>30 minutes</option>
786 <option value="60"<?php $w->sel( 'loginSec_countFailMins', '60' ); ?>>1 hour</option>
787 <option value="120"<?php $w->sel( 'loginSec_countFailMins', '120' ); ?>>2 hours</option>
788 <option value="360"<?php $w->sel( 'loginSec_countFailMins', '360' ); ?>>6 hours</option>
789 <option value="720"<?php $w->sel( 'loginSec_countFailMins', '720' ); ?>>12 hours</option>
790 <option value="1440"<?php $w->sel( 'loginSec_countFailMins', '1440' ); ?>>1 day</option>
791 </select>
792 </td>
793 </tr>
794 <tr>
795 <th>Amount of time a user is locked out<a
796 href="http://docs.wordfence.com/en/Wordfence_options#Amount_of_time_a_user_is_locked_out"
797 target="_blank" class="wfhelp"></a></th>
798 <td>
799 <select id="loginSec_lockoutMins" class="wfConfigElem" name="loginSec_lockoutMins">
800 <option value="5"<?php $w->sel( 'loginSec_lockoutMins', '5' ); ?>>5 minutes</option>
801 <option value="10"<?php $w->sel( 'loginSec_lockoutMins', '10' ); ?>>10 minutes</option>
802 <option value="30"<?php $w->sel( 'loginSec_lockoutMins', '30' ); ?>>30 minutes</option>
803 <option value="60"<?php $w->sel( 'loginSec_lockoutMins', '60' ); ?>>1 hour</option>
804 <option value="120"<?php $w->sel( 'loginSec_lockoutMins', '120' ); ?>>2 hours</option>
805 <option value="360"<?php $w->sel( 'loginSec_lockoutMins', '360' ); ?>>6 hours</option>
806 <option value="720"<?php $w->sel( 'loginSec_lockoutMins', '720' ); ?>>12 hours</option>
807 <option value="1440"<?php $w->sel( 'loginSec_lockoutMins', '1440' ); ?>>1 day</option>
808 <option value="2880"<?php $w->sel( 'loginSec_lockoutMins', '2880' ); ?>>2 days</option>
809 <option value="7200"<?php $w->sel( 'loginSec_lockoutMins', '7200' ); ?>>5 days</option>
810 <option value="14400"<?php $w->sel( 'loginSec_lockoutMins', '14400' ); ?>>10 days</option>
811 <option value="28800"<?php $w->sel( 'loginSec_lockoutMins', '28800' ); ?>>20 days</option>
812 <option value="43200"<?php $w->sel( 'loginSec_lockoutMins', '43200' ); ?>>30 days</option>
813 <option value="86400"<?php $w->sel( 'loginSec_lockoutMins', '86400' ); ?>>60 days</option>
814 </select>
815 </td>
816 </tr>
817 <tr>
818 <th>Immediately lock out invalid usernames<a
819 href="http://docs.wordfence.com/en/Wordfence_options#Immediately_lock_out_invalid_usernames"
820 target="_blank" class="wfhelp"></a></th>
821 <td><input type="checkbox" id="loginSec_lockInvalidUsers" class="wfConfigElem"
822 name="loginSec_lockInvalidUsers" <?php $w->cb( 'loginSec_lockInvalidUsers' ); ?> /></td>
823 </tr>
824 <tr>
825 <th>Don't let WordPress reveal valid users in login errors<a
826 href="http://docs.wordfence.com/en/Wordfence_options#Don.27t_let_WordPress_reveal_valid_users_in_login_errors"
827 target="_blank" class="wfhelp"></a></th>
828 <td><input type="checkbox" id="loginSec_maskLoginErrors" class="wfConfigElem"
829 name="loginSec_maskLoginErrors" <?php $w->cb( 'loginSec_maskLoginErrors' ); ?> /></td>
830 </tr>
831 <tr>
832 <th>Prevent users registering 'admin' username if it doesn't exist<a
833 href="http://docs.wordfence.com/en/Wordfence_options#Prevent_users_registering_.27admin.27_username_if_it_doesn.27t_exist"
834 target="_blank" class="wfhelp"></a></th>
835 <td><input type="checkbox" id="loginSec_blockAdminReg" class="wfConfigElem"
836 name="loginSec_blockAdminReg" <?php $w->cb( 'loginSec_blockAdminReg' ); ?> /></td>
837 </tr>
838 <tr>
839 <th>Prevent discovery of usernames through '/?author=N' scans<a
840 href="http://docs.wordfence.com/en/Wordfence_options#Prevent_discovery_of_usernames_through_.27.3F.2Fauthor.3DN.27_scans"
841 target="_blank" class="wfhelp"></a></th>
842 <td><input type="checkbox" id="loginSec_disableAuthorScan" class="wfConfigElem"
843 name="loginSec_disableAuthorScan" <?php $w->cb( 'loginSec_disableAuthorScan' ); ?> />
844 </td>
845 </tr>
846 <tr>
847 <th>Immediately block the IP of users who try to sign in as these usernames<a
848 href="http://docs.wordfence.com/en/Wordfence_options#Immediately_block_the_IP_of_users_who_try_to_sign_in_as_these_usernames"
849 target="_blank" class="wfhelp"></a></th>
850 <td>
851 <textarea name="loginSec_userBlacklist" cols="40" rows="4" id="loginSec_userBlacklist"><?php
852 echo wfUtils::cleanupOneEntryPerLine($w->getHTML( 'loginSec_userBlacklist' ))
853 ?></textarea><br/>
854 (One per line. Existing users won't be blocked.)
855 </td>
856 </tr>
857 <tr>
858 <td colspan="2">
859 <div class="wfMarker" id="wfMarkerOtherOptions"></div>
860 <h3 class="wfConfigHeading">Other Options<a
861 href="http://docs.wordfence.com/en/Wordfence_options#Other_Options" target="_blank"
862 class="wfhelp"></a></h3>
863 </td>
864 </tr>
865
866 <tr>
867 <th>Whitelisted IP addresses that bypass all rules:<a
868 href="http://docs.wordfence.com/en/Wordfence_options#Whitelisted_IP_addresses_that_bypass_all_rules"
869 target="_blank" class="wfhelp"></a></th>
870 <td><input type="text" name="whitelisted" id="whitelisted"
871 value="<?php $w->f( 'whitelisted' ); ?>" size="40"/></td>
872 </tr>
873 <tr>
874 <th colspan="2" style="color: #999;">Whitelisted IP's must be separated by commas. You can specify
875 ranges using the following format: 123.23.34.[1-50]<br/>Wordfence automatically whitelists <a
876 href="http://en.wikipedia.org/wiki/Private_network" target="_blank">private networks</a>
877 because these are not routable on the public Internet.<br/><br/></th>
878 </tr>
879
880 <tr>
881 <th>Immediately block IP's that access these URLs:<a
882 href="http://docs.wordfence.com/en/Wordfence_options#Immediately_block_IP.27s_that_access_these_URLs"
883 target="_blank" class="wfhelp"></a></th>
884 <td><input type="text" name="bannedURLs" id="bannedURLs"
885 value="<?php $w->f( 'bannedURLs' ); ?>" size="40"/></td>
886 </tr>
887 <tr>
888 <th colspan="2" style="color: #999;">Separate multiple URL's with commas. If you see an attacker
889 repeatedly probing your site for a known vulnerability you can use this to immediately block
890 them.<br/>
891 All URL's must start with a '/' without quotes and must be relative. e.g. /badURLone/,
892 /bannedPage.html, /dont-access/this/URL/
893 <br/><br/></th>
894 </tr>
895
896 <tr>
897 <th style="vertical-align: top;">Whitelisted 404 URLs (one per line). <a href="http://docs.wordfence.com/en/Wordfence_options#Whitelisted_404_URLs" target="_blank" class="wfhelp"></a></th>
898 <td><textarea name="allowed404s" id="" cols="40" rows="4"><?php echo $w->getHTML( 'allowed404s' ); ?></textarea></td>
899 </tr>
900 <tr>
901 <th colspan="2" style="color: #999;">These URL patterns will be excluded from
902 the throttling rules used to limit crawlers.
903 <br/><br/></th>
904 </tr>
905
906 <tr>
907 <th>Hide WordPress version<a
908 href="http://docs.wordfence.com/en/Wordfence_options#Hide_WordPress_version" target="_blank"
909 class="wfhelp"></a></th>
910 <td><input type="checkbox" id="other_hideWPVersion" class="wfConfigElem" name="other_hideWPVersion"
911 value="1" <?php $w->cb( 'other_hideWPVersion' ); ?> /></td>
912 </tr>
913 <tr>
914 <th>Block IP's who send POST requests with blank User-Agent and Referer<a
915 href="http://docs.wordfence.com/en/Wordfence_options#Block_IP.27s_who_send_POST_requests_with_blank_User-Agent_and_Referer" target="_blank"
916 class="wfhelp"></a></th>
917 <td><input type="checkbox" id="other_blockBadPOST" class="wfConfigElem" name="other_blockBadPOST"
918 value="1" <?php $w->cb( 'other_blockBadPOST' ); ?> /></td>
919 </tr>
920 <tr>
921 <th>Hold anonymous comments using member emails for moderation<a
922 href="http://docs.wordfence.com/en/Wordfence_options#Hold_anonymous_comments_using_member_emails_for_moderation"
923 target="_blank" class="wfhelp"></a></th>
924 <td><input type="checkbox" id="other_noAnonMemberComments" class="wfConfigElem"
925 name="other_noAnonMemberComments"
926 value="1" <?php $w->cb( 'other_noAnonMemberComments' ); ?> /></td>
927 </tr>
928 <tr>
929 <th>Filter comments for malware and phishing URL's<a
930 href="http://docs.wordfence.com/en/Wordfence_options#Filter_comments_for_malware_and_phishing_URL.27s"
931 target="_blank" class="wfhelp"></a></th>
932 <td><input type="checkbox" id="other_scanComments" class="wfConfigElem" name="other_scanComments"
933 value="1" <?php $w->cb( 'other_scanComments' ); ?> /></td>
934 </tr>
935 <tr>
936 <th>Check password strength on profile update<a
937 href="http://docs.wordfence.com/en/Wordfence_options#Check_password_strength_on_profile_update"
938 target="_blank" class="wfhelp"></a></th>
939 <td><input type="checkbox" id="other_pwStrengthOnUpdate" class="wfConfigElem"
940 name="other_pwStrengthOnUpdate"
941 value="1" <?php $w->cb( 'other_pwStrengthOnUpdate' ); ?> /></td>
942 </tr>
943 <tr>
944 <th>Participate in the Real-Time WordPress Security Network<a
945 href="http://docs.wordfence.com/en/Wordfence_options#Participate_in_the_Real-Time_WordPress_Security_Network"
946 target="_blank" class="wfhelp"></a></th>
947 <td><input type="checkbox" id="other_WFNet" class="wfConfigElem" name="other_WFNet"
948 value="1" <?php $w->cb( 'other_WFNet' ); ?> /></td>
949 </tr>
950 <tr>
951 <th>How much memory should Wordfence request when scanning<a
952 href="http://docs.wordfence.com/en/Wordfence_options#How_much_memory_should_Wordfence_request_when_scanning"
953 target="_blank" class="wfhelp"></a></th>
954 <td><input type="text" id="maxMem" name="maxMem" value="<?php $w->f( 'maxMem' ); ?>" size="4"/>Megabytes
955 </td>
956 </tr>
957 <tr>
958 <th>Maximum execution time for each scan stage<a
959 href="http://docs.wordfence.com/en/Wordfence_options#Maximum_execution_time_for_each_scan_stage"
960 target="_blank" class="wfhelp"></a></th>
961 <td><input type="text" id="maxExecutionTime" name="maxExecutionTime"
962 value="<?php $w->f( 'maxExecutionTime' ); ?>" size="4"/>Blank for default. Must be
963 greater than 9.
964 </td>
965 </tr>
966 <tr>
967 <th>Update interval in seconds (2 is default)<a
968 href="http://docs.wordfence.com/en/Wordfence_options#Update_interval_in_seconds"
969 target="_blank" class="wfhelp"></a></th>
970 <td><input type="text" id="actUpdateInterval" name="actUpdateInterval"
971 value="<?php $w->f( 'actUpdateInterval' ); ?>" size="4"/>Setting higher will reduce
972 browser traffic but slow scan starts, live traffic &amp; status updates.
973 </td>
974 </tr>
975 <tr>
976 <th>Delete Wordfence tables and data on deactivation?<a
977 href="http://docs.wordfence.com/en/Wordfence_options#Delete_Wordfence_tables_and_data_on_deactivation.3F"
978 target="_blank" class="wfhelp"></a></th>
979 <td><input type="checkbox" id="deleteTablesOnDeact" class="wfConfigElem" name="deleteTablesOnDeact"
980 value="1" <?php $w->cb( 'deleteTablesOnDeact' ); ?> /></td>
981 </tr>
982
983
984 <tr>
985 <th>Disable Wordfence Cookies<a
986 href="http://docs.wordfence.com/en/Wordfence_options#Disable_Wordfence_Cookies"
987 target="_blank" class="wfhelp"></a></th>
988 <td><input type="checkbox" id="disableCookies" class="wfConfigElem" name="disableCookies"
989 value="1" <?php $w->cb( 'disableCookies' ); ?> />(when enabled all visits in live traffic
990 will appear to be new visits)
991 </td>
992 </tr>
993 <tr>
994 <th><label for="disableCodeExecutionUploads">Disable Code Execution for Uploads directory</label><a
995 href="http://docs.wordfence.com/en/Wordfence_options#Disable_Code_Execution_for_Uploads_directory"
996 target="_blank" class="wfhelp"></a></th>
997 <td><input type="checkbox" id="disableCodeExecutionUploads" class="wfConfigElem"
998 name="disableCodeExecutionUploads"
999 value="1" <?php $w->cb( 'disableCodeExecutionUploads' ); ?> /></td>
1000 </tr>
1001
1002 <tr>
1003 <td colspan="2">
1004 <div class="wfMarker" id="wfMarkerExportOptions"></div>
1005 <h3 class="wfConfigHeading">Exporting and Importing Wordfence Settings<a
1006 href="http://docs.wordfence.com/en/Wordfence_options#Exporting_and_Importing_Wordfence_Settings"
1007 target="_blank" class="wfhelp"></a></h3>
1008 </td>
1009 </tr>
1010
1011 <tr>
1012 <th>Export this site's Wordfence settings for import on another site:</th>
1013 <td><input type="button" id="exportSettingsBut" value="Export Wordfence Settings"
1014 onclick="WFAD.exportSettings(); return false;"/></td>
1015 </tr>
1016 <tr>
1017 <th>Import Wordfence settings from another site using a token:</th>
1018 <td><input type="text" size="20" value="" id="importToken"/>&nbsp;<input type="button"
1019 name="importSettingsButton"
1020 value="Import Settings"
1021 onclick="WFAD.importSettings(jQuery('#importToken').val()); return false;"/>
1022 </td>
1023 </tr>
1024 </table>
1025 <p>
1026 <table border="0" cellpadding="0" cellspacing="0">
1027 <tr>
1028 <td><input type="button" id="button1" name="button1" class="button-primary" value="Save Changes"
1029 onclick="WFAD.saveConfig();"/></td>
1030 <td style="height: 24px;">
1031 <div class="wfAjax24"></div>
1032 <span class="wfSavedMsg">&nbsp;Your changes have been saved!</span></td>
1033 </tr>
1034 </table>
1035 </p>
1036 </div>
1037 </form>
1038 </div>
1039 <script type="text/x-jquery-template" id="wfContentBasicOptions">
1040 <div>
1041 <h3>Basic Options</h3>
1042
1043 <p>
1044 Using Wordfence is simple. Install Wordfence, enter an email address on this page to send alerts to, and
1045 then do your first scan and work through the security alerts we provide.
1046 We give you a few basic security levels to choose from, depending on your needs. Remember to hit the "Save"
1047 button to save any changes you make.
1048 </p>
1049
1050 <p>
1051 If you use the free edition of Wordfence, you don't need to worry about entering an API key in the "API Key"
1052 field above. One is automatically created for you. If you choose to <a
1053 href="https://www.wordfence.com/gnl1optUpg1/wordfence-signup/" target="_blank">upgrade to Wordfence Premium
1054 edition</a>, you will receive an API key. You will need to copy and paste that key into the "API Key"
1055 field above and hit "Save" to activate your key.
1056 </p>
1057 </div>
1058 </script>
1059 <script type="text/x-jquery-template" id="wfContentLiveTrafficOptions">
1060 <div>
1061 <h3>Live Traffic Options</h3>
1062
1063 <p>
1064 These options let you ignore certain types of visitors, based on their level of access, usernames, IP
1065 address or browser type.
1066 If you run a very high traffic website where it is not feasible to see your visitors in real-time, simply
1067 un-check the live traffic option and nothing will be written to the Wordfence tracking tables.
1068 </p>
1069 </div>
1070 </script>
1071 <script type="text/x-jquery-template" id="wfContentScansToInclude">
1072 <div>
1073 <h3>Scans to Include</h3>
1074
1075 <p>
1076 This section gives you the ability to fine-tune what we scan.
1077 If you use many themes or plugins from the public WordPress directory we recommend you
1078 enable theme and plugin scanning. This will verify the integrity of all these themes and plugins and alert
1079 you of any changes.
1080
1081 <p>
1082
1083 <p>
1084 The option to "scan files outside your WordPress installation" will cause Wordfence to do a much wider
1085 security scan
1086 that is not limited to your base WordPress directory and known WordPress subdirectories. This scan may take
1087 longer
1088 but can be very useful if you have other infected files outside this WordPress installation that you would
1089 like us to look for.
1090 </p>
1091 </div>
1092 </script>
1093 <script type="text/x-jquery-template" id="wfContentFirewallRules">
1094 <div>
1095 <h3>Rate Limiting Rules</h3>
1096
1097 <p>
1098 <strong>NOTE:</strong> Before modifying these rules, make sure you have access to the email address
1099 associated with this site's administrator account. If you accidentally lock yourself out, you will be given
1100 the option
1101 to enter that email address and receive an "unlock email" which will allow you to regain access.
1102 </p>
1103
1104 <p>
1105 <strong>Tips:</strong>
1106
1107 <p>&#8226; If you choose to limit the rate at which your site can be accessed, you need to customize the
1108 settings for your site.</p>
1109
1110 <p>&#8226; If your users usually skip quickly between pages, you should set the values for human visitors to be
1111 high.</p>
1112
1113 <p>&#8226; If you are aggressively crawled by non-Google crawlers like Baidu, you should set the page view limit
1114 for crawlers to a high value.</p>
1115
1116 <p>&#8226; If you are currently under attack and want to aggressively protect your site or your content, you can
1117 set low values for most options.</p>
1118
1119 <p>&#8226; In general we recommend you don't block fake Google crawlers unless you have a specific problem with
1120 someone stealing your content.</p>
1121
1122 <p>
1123 Remember that as long as you have your administrator email set correctly in this site's user administration,
1124 and you are able to receive email at that address,
1125 you will be able to regain access if you are accidentally locked out because your rules are too strict.
1126 </p>
1127 </div>
1128 </script>
1129 <script type="text/x-jquery-template" id="wfContentLoginSecurity">
1130 <div>
1131 <h3>Login Security</h3>
1132
1133 <p>
1134 We have found that real brute force login attacks make hundreds or thousands of requests trying to guess
1135 passwords or user login names.
1136 So in general you can leave the number of failed logins before a user is locked out as a fairly high number.
1137 We have found that blocking after 20 failed attempts is sufficient for most sites and it allows your real
1138 site users enough
1139 attempts to guess their forgotten passwords without getting locked out.
1140 </p>
1141 </div>
1142 </script>
1143 <script type="text/x-jquery-template" id="wfContentOtherOptions">
1144 <div>
1145 <h3>Other Options</h3>
1146
1147 <p>
1148 We have worked hard to make Wordfence memory efficient and much of the heavy lifting is done for your site
1149 by our cloud scanning servers in our Seattle data center.
1150 On most sites Wordfence will only use about 8 megabytes of additional memory when doing a scan, even if you
1151 have large files or a large number of files.
1152 You should not have to adjust the maximum memory that Wordfence can use, but we have provided the option.
1153 Remember that this does not affect the actual memory usage of Wordfence, simply the maximum Wordfence can
1154 use if it needs to.
1155 </p>
1156
1157 <p>
1158 You may find debugging mode helpful if Wordfence is not able to start a scan on your site or
1159 if you are experiencing some other problem. Enable debugging by checking the box, save your options
1160 and then try to do a scan. You will notice a lot more output on the "Scan" page.
1161 </p>
1162
1163 <p>
1164 If you decide to permanently remove Wordfence, you can choose the option to delete all data on deactivation.
1165 We also provide helpful links at the bottom of this page which lets you see your systems configuration and
1166 test how
1167 much memory your host really allows you to use.
1168 </p>
1169
1170 <p>
1171 Thanks for completing this tour and I'm very happy to have you as our newest Wordfence customer. Don't
1172 forget to <a href="http://wordpress.org/extend/plugins/wordfence/" target="_blank">rate us 5 stars if you
1173 love Wordfence</a>.<br/>
1174 <br/>
1175 <strong>Mark Maunder</strong> - Wordfence Creator.
1176 </p>
1177 </div>
1178 </script>
1179
1180