Version Description
August 27, 2020 =
Improvement: Added diagnostic debug button to clear Wordfence Central connection data from the database.
Improvement: Added help documentation links to modified plugin/theme file scan results.
Fix: Prevent file system scan from following symlinks to root.
Fix: Cleared pending plugin/theme update scan results and notification when a plugin/theme is auto-updated.
Fix: Added check for when site is disconnected on Central's end, but not in the plugin.
Download this release
Release Info
Developer | wfmatt |
Plugin | Wordfence Security – Firewall & Malware Scan |
Version | 7.4.11 |
Comparing to | |
See all releases |
Code changes from version 7.4.10 to 7.4.11
- css/{activity-report-widget.1596638737.css → activity-report-widget.1598542714.css} +0 -0
- css/{diff.1596638737.css → diff.1598542714.css} +0 -0
- css/{dt_table.1596638737.css → dt_table.1598542714.css} +0 -0
- css/{fullLog.1596638737.css → fullLog.1598542714.css} +0 -0
- css/{iptraf.1596638737.css → iptraf.1598542714.css} +0 -0
- css/{jquery-ui-timepicker-addon.1596638737.css → jquery-ui-timepicker-addon.1598542714.css} +0 -0
- css/{jquery-ui.min.1596638737.css → jquery-ui.min.1598542714.css} +0 -0
- css/{jquery-ui.structure.min.1596638737.css → jquery-ui.structure.min.1598542714.css} +0 -0
- css/{jquery-ui.theme.min.1596638737.css → jquery-ui.theme.min.1598542714.css} +0 -0
- css/{main.1596638737.css → main.1598542714.css} +0 -0
- css/{phpinfo.1596638737.css → phpinfo.1598542714.css} +0 -0
- css/{wf-adminbar.1596638737.css → wf-adminbar.1598542714.css} +0 -0
- css/{wf-colorbox.1596638737.css → wf-colorbox.1598542714.css} +0 -0
- css/{wf-font-awesome.1596638737.css → wf-font-awesome.1598542714.css} +0 -0
- css/{wf-global.1596638737.css → wf-global.1598542714.css} +0 -0
- css/{wf-ionicons.1596638737.css → wf-ionicons.1598542714.css} +0 -0
- css/{wf-onboarding.1596638737.css → wf-onboarding.1598542714.css} +0 -0
- css/{wf-roboto-font.1596638737.css → wf-roboto-font.1598542714.css} +0 -0
- css/{wfselect2.min.1596638737.css → wfselect2.min.1598542714.css} +0 -0
- css/{wordfenceBox.1596638737.css → wordfenceBox.1598542714.css} +0 -0
- js/{Chart.bundle.min.1596638737.js → Chart.bundle.min.1598542714.js} +0 -0
- js/{admin.1596638737.js → admin.1598542714.js} +0 -0
- js/{admin.ajaxWatcher.1596638737.js → admin.ajaxWatcher.1598542714.js} +0 -0
- js/{admin.liveTraffic.1596638737.js → admin.liveTraffic.1598542714.js} +0 -0
- js/{date.1596638737.js → date.1598542714.js} +0 -0
- js/{jquery-ui-timepicker-addon.1596638737.js → jquery-ui-timepicker-addon.1598542714.js} +0 -0
- js/{jquery.colorbox-min.1596638737.js → jquery.colorbox-min.1598542714.js} +0 -0
- js/{jquery.colorbox.1596638737.js → jquery.colorbox.1598542714.js} +0 -0
- js/{jquery.dataTables.min.1596638737.js → jquery.dataTables.min.1598542714.js} +0 -0
- js/{jquery.qrcode.min.1596638737.js → jquery.qrcode.min.1598542714.js} +0 -0
- js/{jquery.tmpl.min.1596638737.js → jquery.tmpl.min.1598542714.js} +0 -0
- js/{jquery.tools.min.1596638737.js → jquery.tools.min.1598542714.js} +0 -0
- js/{knockout-3.3.0.1596638737.js → knockout-3.3.0.1598542714.js} +0 -0
- js/{wfdashboard.1596638737.js → wfdashboard.1598542714.js} +0 -0
- js/{wfdropdown.1596638737.js → wfdropdown.1598542714.js} +0 -0
- js/{wfglobal.1596638737.js → wfglobal.1598542714.js} +0 -0
- js/{wfpopover.1596638737.js → wfpopover.1598542714.js} +0 -0
- js/{wfselect2.min.1596638737.js → wfselect2.min.1598542714.js} +0 -0
- lib/menu_tools_diagnostic.php +6 -0
- lib/wfCentralAPI.php +18 -0
- lib/wfSupportController.php +6 -0
- lib/wordfenceClass.php +2 -1
- lib/wordfenceHash.php +5 -2
- modules/login-security/css/{admin-global.1596638737.css → admin-global.1598542714.css} +0 -0
- modules/login-security/css/{admin.1596638737.css → admin.1598542714.css} +0 -0
- modules/login-security/css/{colorbox.1596638737.css → colorbox.1598542714.css} +0 -0
- modules/login-security/css/{font-awesome.1596638737.css → font-awesome.1598542714.css} +0 -0
- modules/login-security/css/{ionicons.1596638737.css → ionicons.1598542714.css} +0 -0
- modules/login-security/css/{jquery-ui-timepicker-addon.1596638737.css → jquery-ui-timepicker-addon.1598542714.css} +0 -0
- modules/login-security/css/{jquery-ui.min.1596638737.css → jquery-ui.min.1598542714.css} +0 -0
- modules/login-security/css/{jquery-ui.structure.min.1596638737.css → jquery-ui.structure.min.1598542714.css} +0 -0
- modules/login-security/css/{jquery-ui.theme.min.1596638737.css → jquery-ui.theme.min.1598542714.css} +0 -0
- modules/login-security/css/{login.1596638737.css → login.1598542714.css} +0 -0
- modules/login-security/js/{admin-global.1596638737.js → admin-global.1598542714.js} +0 -0
- modules/login-security/js/{admin.1596638737.js → admin.1598542714.js} +0 -0
- modules/login-security/js/{jquery-ui-timepicker-addon.1596638737.js → jquery-ui-timepicker-addon.1598542714.js} +0 -0
- modules/login-security/js/{jquery.colorbox.1596638737.js → jquery.colorbox.1598542714.js} +0 -0
- modules/login-security/js/{jquery.colorbox.min.1596638737.js → jquery.colorbox.min.1598542714.js} +0 -0
- modules/login-security/js/{jquery.qrcode.min.1596638737.js → jquery.qrcode.min.1598542714.js} +0 -0
- modules/login-security/js/{jquery.tmpl.min.1596638737.js → jquery.tmpl.min.1598542714.js} +0 -0
- modules/login-security/js/{login.1596638737.js → login.1598542714.js} +0 -0
- modules/login-security/wordfence-login-security.php +1 -1
- readme.txt +9 -1
- wordfence.php +3 -3
css/{activity-report-widget.1596638737.css → activity-report-widget.1598542714.css}
RENAMED
File without changes
|
css/{diff.1596638737.css → diff.1598542714.css}
RENAMED
File without changes
|
css/{dt_table.1596638737.css → dt_table.1598542714.css}
RENAMED
File without changes
|
css/{fullLog.1596638737.css → fullLog.1598542714.css}
RENAMED
File without changes
|
css/{iptraf.1596638737.css → iptraf.1598542714.css}
RENAMED
File without changes
|
css/{jquery-ui-timepicker-addon.1596638737.css → jquery-ui-timepicker-addon.1598542714.css}
RENAMED
File without changes
|
css/{jquery-ui.min.1596638737.css → jquery-ui.min.1598542714.css}
RENAMED
File without changes
|
css/{jquery-ui.structure.min.1596638737.css → jquery-ui.structure.min.1598542714.css}
RENAMED
File without changes
|
css/{jquery-ui.theme.min.1596638737.css → jquery-ui.theme.min.1598542714.css}
RENAMED
File without changes
|
css/{main.1596638737.css → main.1598542714.css}
RENAMED
File without changes
|
css/{phpinfo.1596638737.css → phpinfo.1598542714.css}
RENAMED
File without changes
|
css/{wf-adminbar.1596638737.css → wf-adminbar.1598542714.css}
RENAMED
File without changes
|
css/{wf-colorbox.1596638737.css → wf-colorbox.1598542714.css}
RENAMED
File without changes
|
css/{wf-font-awesome.1596638737.css → wf-font-awesome.1598542714.css}
RENAMED
File without changes
|
css/{wf-global.1596638737.css → wf-global.1598542714.css}
RENAMED
File without changes
|
css/{wf-ionicons.1596638737.css → wf-ionicons.1598542714.css}
RENAMED
File without changes
|
css/{wf-onboarding.1596638737.css → wf-onboarding.1598542714.css}
RENAMED
File without changes
|
css/{wf-roboto-font.1596638737.css → wf-roboto-font.1598542714.css}
RENAMED
File without changes
|
css/{wfselect2.min.1596638737.css → wfselect2.min.1598542714.css}
RENAMED
File without changes
|
css/{wordfenceBox.1596638737.css → wordfenceBox.1598542714.css}
RENAMED
File without changes
|
js/{Chart.bundle.min.1596638737.js → Chart.bundle.min.1598542714.js}
RENAMED
File without changes
|
js/{admin.1596638737.js → admin.1598542714.js}
RENAMED
File without changes
|
js/{admin.ajaxWatcher.1596638737.js → admin.ajaxWatcher.1598542714.js}
RENAMED
File without changes
|
js/{admin.liveTraffic.1596638737.js → admin.liveTraffic.1598542714.js}
RENAMED
File without changes
|
js/{date.1596638737.js → date.1598542714.js}
RENAMED
File without changes
|
js/{jquery-ui-timepicker-addon.1596638737.js → jquery-ui-timepicker-addon.1598542714.js}
RENAMED
File without changes
|
js/{jquery.colorbox-min.1596638737.js → jquery.colorbox-min.1598542714.js}
RENAMED
File without changes
|
js/{jquery.colorbox.1596638737.js → jquery.colorbox.1598542714.js}
RENAMED
File without changes
|
js/{jquery.dataTables.min.1596638737.js → jquery.dataTables.min.1598542714.js}
RENAMED
File without changes
|
js/{jquery.qrcode.min.1596638737.js → jquery.qrcode.min.1598542714.js}
RENAMED
File without changes
|
js/{jquery.tmpl.min.1596638737.js → jquery.tmpl.min.1598542714.js}
RENAMED
File without changes
|
js/{jquery.tools.min.1596638737.js → jquery.tools.min.1598542714.js}
RENAMED
File without changes
|
js/{knockout-3.3.0.1596638737.js → knockout-3.3.0.1598542714.js}
RENAMED
File without changes
|
js/{wfdashboard.1596638737.js → wfdashboard.1598542714.js}
RENAMED
File without changes
|
js/{wfdropdown.1596638737.js → wfdropdown.1598542714.js}
RENAMED
File without changes
|
js/{wfglobal.1596638737.js → wfglobal.1598542714.js}
RENAMED
File without changes
|
js/{wfpopover.1596638737.js → wfpopover.1598542714.js}
RENAMED
File without changes
|
js/{wfselect2.min.1596638737.js → wfselect2.min.1598542714.js}
RENAMED
File without changes
|
lib/menu_tools_diagnostic.php
CHANGED
@@ -844,6 +844,12 @@ if (!isset($sendingDiagnosticEmail)) {
|
|
844 |
<input class="wf-btn wf-btn-default wf-btn-sm" type="button" value="<?php esc_attr_e('Send Test Activity Report', 'wordfence'); ?>" onclick="WFAD.ajax('wordfence_email_summary_email_address_debug', {email: jQuery('#email_summary_email_address_debug').val()});"/>
|
845 |
</span>
|
846 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
847 |
</ul>
|
848 |
|
849 |
</div>
|
844 |
<input class="wf-btn wf-btn-default wf-btn-sm" type="button" value="<?php esc_attr_e('Send Test Activity Report', 'wordfence'); ?>" onclick="WFAD.ajax('wordfence_email_summary_email_address_debug', {email: jQuery('#email_summary_email_address_debug').val()});"/>
|
845 |
</span>
|
846 |
</li>
|
847 |
+
<li>
|
848 |
+
<span>
|
849 |
+
<?php _e('Clear all Wordfence Central connection data', 'wordfence'); ?> <a href="<?php echo wfSupportController::esc_supportURL(wfSupportController::ITEM_DIAGNOSTICS_REMOVE_CENTRAL_DATA); ?>" target="_blank" rel="noopener noreferrer" class="wfhelp wf-inline-help"></a>
|
850 |
+
<input class="wf-btn wf-btn-default wf-btn-sm" type="button" value="<?php esc_attr_e('Clear Connection Data', 'wordfence'); ?>" onclick="WFAD.ajax('wordfence_wfcentral_disconnect', {}, function() { WFAD.colorboxModal((self.isSmallScreen ? '300px' : '400px'), 'Successfully romved data', 'All associated Wordfence Central data has been removed from the database.'); });"/>
|
851 |
+
</span>
|
852 |
+
</li>
|
853 |
</ul>
|
854 |
|
855 |
</div>
|
lib/wfCentralAPI.php
CHANGED
@@ -59,6 +59,24 @@ class wfCentralAPIRequest {
|
|
59 |
|
60 |
$http = _wp_http_get_object();
|
61 |
$response = $http->request(WORDFENCE_CENTRAL_API_URL_SEC . $this->getEndpoint(), $args);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
return new wfCentralAPIResponse($response);
|
63 |
}
|
64 |
|
59 |
|
60 |
$http = _wp_http_get_object();
|
61 |
$response = $http->request(WORDFENCE_CENTRAL_API_URL_SEC . $this->getEndpoint(), $args);
|
62 |
+
|
63 |
+
if (!is_wp_error($response)) {
|
64 |
+
$body = wp_remote_retrieve_body($response);
|
65 |
+
$statusCode = wp_remote_retrieve_response_code($response);
|
66 |
+
|
67 |
+
// Check if site has been disconnected on Central's end, but the plugin is still trying to connect.
|
68 |
+
if ($statusCode === 404 && strpos($body, 'Site has been disconnected') !== false) {
|
69 |
+
// Increment attempt count.
|
70 |
+
$centralDisconnectCount = get_site_transient('wordfenceCentralDisconnectCount');
|
71 |
+
set_site_transient('wordfenceCentralDisconnectCount', ++$centralDisconnectCount, 86400);
|
72 |
+
|
73 |
+
// Once threshold is hit, disconnect Central.
|
74 |
+
if ($centralDisconnectCount > 3) {
|
75 |
+
wfRESTConfigController::disconnectConfig();
|
76 |
+
}
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
return new wfCentralAPIResponse($response);
|
81 |
}
|
82 |
|
lib/wfSupportController.php
CHANGED
@@ -148,6 +148,8 @@ class wfSupportController {
|
|
148 |
const ITEM_SCAN_RESULT_UNKNOWN_FILE_CORE = 'scan-result-unknown-file-in-wordpress-core';
|
149 |
const ITEM_SCAN_RESULT_SKIPPED_PATHS = 'scan-result-skipped-paths';
|
150 |
const ITEM_SCAN_RESULT_REPAIR_MODIFIED_FILES = 'scan-result-repair-modified-files';
|
|
|
|
|
151 |
|
152 |
const ITEM_TOOLS_TWO_FACTOR = 'tools-two-factor';
|
153 |
const ITEM_TOOLS_LIVE_TRAFFIC = 'tools-live-traffic';
|
@@ -159,6 +161,7 @@ class wfSupportController {
|
|
159 |
const ITEM_DIAGNOSTICS_TEST_MEMORY = 'diagnostics-test-memory';
|
160 |
const ITEM_DIAGNOSTICS_TEST_EMAIL = 'diagnostics-test-email';
|
161 |
const ITEM_DIAGNOSTICS_TEST_ACTIVITY_REPORT = 'diagnostics-test-activity-report';
|
|
|
162 |
const ITEM_DIAGNOSTICS_OPTION_DEBUGGING_MODE = 'diagnostics-option-debugging-mode';
|
163 |
const ITEM_DIAGNOSTICS_OPTION_REMOTE_SCANS = 'diagnostics-option-remote-scans';
|
164 |
const ITEM_DIAGNOSTICS_OPTION_SSL_VERIFICATION = 'diagnostics-option-ssl-verification';
|
@@ -326,6 +329,8 @@ class wfSupportController {
|
|
326 |
case self::ITEM_SCAN_RESULT_UNKNOWN_FILE_CORE:
|
327 |
case self::ITEM_SCAN_RESULT_SKIPPED_PATHS:
|
328 |
case self::ITEM_SCAN_RESULT_REPAIR_MODIFIED_FILES:
|
|
|
|
|
329 |
|
330 |
case self::ITEM_TOOLS_TWO_FACTOR:
|
331 |
case self::ITEM_TOOLS_LIVE_TRAFFIC:
|
@@ -337,6 +342,7 @@ class wfSupportController {
|
|
337 |
case self::ITEM_DIAGNOSTICS_TEST_MEMORY:
|
338 |
case self::ITEM_DIAGNOSTICS_TEST_EMAIL:
|
339 |
case self::ITEM_DIAGNOSTICS_TEST_ACTIVITY_REPORT:
|
|
|
340 |
case self::ITEM_DIAGNOSTICS_OPTION_DEBUGGING_MODE:
|
341 |
case self::ITEM_DIAGNOSTICS_OPTION_REMOTE_SCANS:
|
342 |
case self::ITEM_DIAGNOSTICS_OPTION_SSL_VERIFICATION:
|
148 |
const ITEM_SCAN_RESULT_UNKNOWN_FILE_CORE = 'scan-result-unknown-file-in-wordpress-core';
|
149 |
const ITEM_SCAN_RESULT_SKIPPED_PATHS = 'scan-result-skipped-paths';
|
150 |
const ITEM_SCAN_RESULT_REPAIR_MODIFIED_FILES = 'scan-result-repair-modified-files';
|
151 |
+
const ITEM_SCAN_RESULT_MODIFIED_PLUGIN = 'scan-result-modified-plugin';
|
152 |
+
const ITEM_SCAN_RESULT_MODIFIED_THEME = 'scan-result-modified-theme';
|
153 |
|
154 |
const ITEM_TOOLS_TWO_FACTOR = 'tools-two-factor';
|
155 |
const ITEM_TOOLS_LIVE_TRAFFIC = 'tools-live-traffic';
|
161 |
const ITEM_DIAGNOSTICS_TEST_MEMORY = 'diagnostics-test-memory';
|
162 |
const ITEM_DIAGNOSTICS_TEST_EMAIL = 'diagnostics-test-email';
|
163 |
const ITEM_DIAGNOSTICS_TEST_ACTIVITY_REPORT = 'diagnostics-test-activity-report';
|
164 |
+
const ITEM_DIAGNOSTICS_REMOVE_CENTRAL_DATA = 'diagnostics-remove-central-data';
|
165 |
const ITEM_DIAGNOSTICS_OPTION_DEBUGGING_MODE = 'diagnostics-option-debugging-mode';
|
166 |
const ITEM_DIAGNOSTICS_OPTION_REMOTE_SCANS = 'diagnostics-option-remote-scans';
|
167 |
const ITEM_DIAGNOSTICS_OPTION_SSL_VERIFICATION = 'diagnostics-option-ssl-verification';
|
329 |
case self::ITEM_SCAN_RESULT_UNKNOWN_FILE_CORE:
|
330 |
case self::ITEM_SCAN_RESULT_SKIPPED_PATHS:
|
331 |
case self::ITEM_SCAN_RESULT_REPAIR_MODIFIED_FILES:
|
332 |
+
case self::ITEM_SCAN_RESULT_MODIFIED_PLUGIN:
|
333 |
+
case self::ITEM_SCAN_RESULT_MODIFIED_THEME:
|
334 |
|
335 |
case self::ITEM_TOOLS_TWO_FACTOR:
|
336 |
case self::ITEM_TOOLS_LIVE_TRAFFIC:
|
342 |
case self::ITEM_DIAGNOSTICS_TEST_MEMORY:
|
343 |
case self::ITEM_DIAGNOSTICS_TEST_EMAIL:
|
344 |
case self::ITEM_DIAGNOSTICS_TEST_ACTIVITY_REPORT:
|
345 |
+
case self::ITEM_DIAGNOSTICS_REMOVE_CENTRAL_DATA:
|
346 |
case self::ITEM_DIAGNOSTICS_OPTION_DEBUGGING_MODE:
|
347 |
case self::ITEM_DIAGNOSTICS_OPTION_REMOTE_SCANS:
|
348 |
case self::ITEM_DIAGNOSTICS_OPTION_SSL_VERIFICATION:
|
lib/wordfenceClass.php
CHANGED
@@ -321,7 +321,7 @@ class wordfence {
|
|
321 |
|
322 |
wfConfig::remove('lastPermissionsTemplateCheck');
|
323 |
}
|
324 |
-
public static function _scheduleRefreshUpdateNotification($upgrader, $options) {
|
325 |
$defer = false;
|
326 |
if (is_array($options) && isset($options['type']) && $options['type'] == 'core') {
|
327 |
$defer = true;
|
@@ -1284,6 +1284,7 @@ SQL
|
|
1284 |
add_action('upgrader_process_complete', 'wordfence::_refreshVulnerabilityCache');
|
1285 |
add_action('upgrader_process_complete', 'wfUpdateCheck::syncAllVersionInfo');
|
1286 |
add_action('upgrader_process_complete', 'wordfence::_scheduleRefreshUpdateNotification', 99, 2);
|
|
|
1287 |
add_action('wordfence_refreshUpdateNotification', 'wordfence::_refreshUpdateNotification', 99, 0);
|
1288 |
add_action('wordfence_completeCoreUpdateNotification', 'wordfence::_completeCoreUpdateNotification', 99, 0);
|
1289 |
|
321 |
|
322 |
wfConfig::remove('lastPermissionsTemplateCheck');
|
323 |
}
|
324 |
+
public static function _scheduleRefreshUpdateNotification($upgrader = null, $options = null) {
|
325 |
$defer = false;
|
326 |
if (is_array($options) && isset($options['type']) && $options['type'] == 'core') {
|
327 |
$defer = true;
|
1284 |
add_action('upgrader_process_complete', 'wordfence::_refreshVulnerabilityCache');
|
1285 |
add_action('upgrader_process_complete', 'wfUpdateCheck::syncAllVersionInfo');
|
1286 |
add_action('upgrader_process_complete', 'wordfence::_scheduleRefreshUpdateNotification', 99, 2);
|
1287 |
+
add_action('automatic_updates_complete', 'wordfence::_scheduleRefreshUpdateNotification', 99, 0);
|
1288 |
add_action('wordfence_refreshUpdateNotification', 'wordfence::_refreshUpdateNotification', 99, 0);
|
1289 |
add_action('wordfence_completeCoreUpdateNotification', 'wordfence::_completeCoreUpdateNotification', 99, 0);
|
1290 |
|
lib/wordfenceHash.php
CHANGED
@@ -431,6 +431,9 @@ class wordfenceHash {
|
|
431 |
}
|
432 |
|
433 |
$realPath = realpath($path);
|
|
|
|
|
|
|
434 |
if (isset($this->foldersProcessed[$realPath])) {
|
435 |
return false;
|
436 |
}
|
@@ -525,7 +528,7 @@ class wordfenceHash {
|
|
525 |
'modifiedplugin' . $file,
|
526 |
'modifiedplugin' . $file . $md5,
|
527 |
'Modified plugin file: ' . $file,
|
528 |
-
"This file belongs to plugin \"$itemName\" version \"$itemVersion\" and has been modified from the file that is distributed by WordPress.org for this version. Please use the link to see how the file has changed. If you have modified this file yourself, you can safely ignore this warning. If you see a lot of changed files in a plugin that have been made by the author, then try uninstalling and reinstalling the plugin to force an upgrade. Doing this is a workaround for plugin authors who don't manage their code correctly.
|
529 |
array(
|
530 |
'file' => $file,
|
531 |
'cType' => 'plugin',
|
@@ -565,7 +568,7 @@ class wordfenceHash {
|
|
565 |
'modifiedtheme' . $file,
|
566 |
'modifiedtheme' . $file . $md5,
|
567 |
'Modified theme file: ' . $file,
|
568 |
-
"This file belongs to theme \"$itemName\" version \"$itemVersion\" and has been modified from the original distribution. It is common for site owners to modify their theme files, so if you have modified this file yourself you can safely ignore this warning.",
|
569 |
array(
|
570 |
'file' => $file,
|
571 |
'cType' => 'theme',
|
431 |
}
|
432 |
|
433 |
$realPath = realpath($path);
|
434 |
+
if ($realPath === '/') {
|
435 |
+
return false;
|
436 |
+
}
|
437 |
if (isset($this->foldersProcessed[$realPath])) {
|
438 |
return false;
|
439 |
}
|
528 |
'modifiedplugin' . $file,
|
529 |
'modifiedplugin' . $file . $md5,
|
530 |
'Modified plugin file: ' . $file,
|
531 |
+
sprintf(__("This file belongs to plugin \"$itemName\" version \"$itemVersion\" and has been modified from the file that is distributed by WordPress.org for this version. Please use the link to see how the file has changed. If you have modified this file yourself, you can safely ignore this warning. If you see a lot of changed files in a plugin that have been made by the author, then try uninstalling and reinstalling the plugin to force an upgrade. Doing this is a workaround for plugin authors who don't manage their code correctly. <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Learn More</a>", 'wordfence'), wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_RESULT_MODIFIED_PLUGIN)),
|
532 |
array(
|
533 |
'file' => $file,
|
534 |
'cType' => 'plugin',
|
568 |
'modifiedtheme' . $file,
|
569 |
'modifiedtheme' . $file . $md5,
|
570 |
'Modified theme file: ' . $file,
|
571 |
+
sprintf(__("This file belongs to theme \"$itemName\" version \"$itemVersion\" and has been modified from the original distribution. It is common for site owners to modify their theme files, so if you have modified this file yourself you can safely ignore this warning. <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Learn More</a>", 'wordfence'), wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_RESULT_MODIFIED_THEME)),
|
572 |
array(
|
573 |
'file' => $file,
|
574 |
'cType' => 'theme',
|
modules/login-security/css/{admin-global.1596638737.css → admin-global.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{admin.1596638737.css → admin.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{colorbox.1596638737.css → colorbox.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{font-awesome.1596638737.css → font-awesome.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{ionicons.1596638737.css → ionicons.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{jquery-ui-timepicker-addon.1596638737.css → jquery-ui-timepicker-addon.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{jquery-ui.min.1596638737.css → jquery-ui.min.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{jquery-ui.structure.min.1596638737.css → jquery-ui.structure.min.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{jquery-ui.theme.min.1596638737.css → jquery-ui.theme.min.1598542714.css}
RENAMED
File without changes
|
modules/login-security/css/{login.1596638737.css → login.1598542714.css}
RENAMED
File without changes
|
modules/login-security/js/{admin-global.1596638737.js → admin-global.1598542714.js}
RENAMED
File without changes
|
modules/login-security/js/{admin.1596638737.js → admin.1598542714.js}
RENAMED
File without changes
|
modules/login-security/js/{jquery-ui-timepicker-addon.1596638737.js → jquery-ui-timepicker-addon.1598542714.js}
RENAMED
File without changes
|
modules/login-security/js/{jquery.colorbox.1596638737.js → jquery.colorbox.1598542714.js}
RENAMED
File without changes
|
modules/login-security/js/{jquery.colorbox.min.1596638737.js → jquery.colorbox.min.1598542714.js}
RENAMED
File without changes
|
modules/login-security/js/{jquery.qrcode.min.1596638737.js → jquery.qrcode.min.1598542714.js}
RENAMED
File without changes
|
modules/login-security/js/{jquery.tmpl.min.1596638737.js → jquery.tmpl.min.1598542714.js}
RENAMED
File without changes
|
modules/login-security/js/{login.1596638737.js → login.1598542714.js}
RENAMED
File without changes
|
modules/login-security/wordfence-login-security.php
CHANGED
@@ -27,7 +27,7 @@ else {
|
|
27 |
define('WORDFENCE_LS_FROM_CORE', ($wfCoreActive && isset($wfCoreLoading) && $wfCoreLoading));
|
28 |
|
29 |
define('WORDFENCE_LS_VERSION', '1.0.5');
|
30 |
-
define('WORDFENCE_LS_BUILD_NUMBER', '
|
31 |
|
32 |
if (!defined('WORDFENCE_LS_EMAIL_VALIDITY_DURATION_MINUTES')) { define('WORDFENCE_LS_EMAIL_VALIDITY_DURATION_MINUTES', 15); }
|
33 |
|
27 |
define('WORDFENCE_LS_FROM_CORE', ($wfCoreActive && isset($wfCoreLoading) && $wfCoreLoading));
|
28 |
|
29 |
define('WORDFENCE_LS_VERSION', '1.0.5');
|
30 |
+
define('WORDFENCE_LS_BUILD_NUMBER', '1598542714');
|
31 |
|
32 |
if (!defined('WORDFENCE_LS_EMAIL_VALIDITY_DURATION_MINUTES')) { define('WORDFENCE_LS_EMAIL_VALIDITY_DURATION_MINUTES', 15); }
|
33 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: security, firewall, malware scanner, web application firewall, two factor
|
|
4 |
Requires at least: 3.9
|
5 |
Requires PHP: 5.3
|
6 |
Tested up to: 5.5
|
7 |
-
Stable tag: 7.4.
|
8 |
|
9 |
Secure your website with the most comprehensive WordPress security plugin. Firewall, malware scan, blocking, live traffic, login security & more.
|
10 |
|
@@ -183,6 +183,14 @@ Secure your website with Wordfence.
|
|
183 |
|
184 |
== Changelog ==
|
185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
= 7.4.10 - August 5, 2020 =
|
187 |
|
188 |
* Improvement: Prevent author sitemap from leaking usernames in WordPress >= 5.5.0.
|
4 |
Requires at least: 3.9
|
5 |
Requires PHP: 5.3
|
6 |
Tested up to: 5.5
|
7 |
+
Stable tag: 7.4.11
|
8 |
|
9 |
Secure your website with the most comprehensive WordPress security plugin. Firewall, malware scan, blocking, live traffic, login security & more.
|
10 |
|
183 |
|
184 |
== Changelog ==
|
185 |
|
186 |
+
= 7.4.11 - August 27, 2020 =
|
187 |
+
|
188 |
+
* Improvement: Added diagnostic debug button to clear Wordfence Central connection data from the database.
|
189 |
+
* Improvement: Added help documentation links to modified plugin/theme file scan results.
|
190 |
+
* Fix: Prevent file system scan from following symlinks to root.
|
191 |
+
* Fix: Cleared pending plugin/theme update scan results and notification when a plugin/theme is auto-updated.
|
192 |
+
* Fix: Added check for when site is disconnected on Central's end, but not in the plugin.
|
193 |
+
|
194 |
= 7.4.10 - August 5, 2020 =
|
195 |
|
196 |
* Improvement: Prevent author sitemap from leaking usernames in WordPress >= 5.5.0.
|
wordfence.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Wordfence Security
|
|
4 |
Plugin URI: http://www.wordfence.com/
|
5 |
Description: Wordfence Security - Anti-virus, Firewall and Malware Scan
|
6 |
Author: Wordfence
|
7 |
-
Version: 7.4.
|
8 |
Author URI: http://www.wordfence.com/
|
9 |
Network: true
|
10 |
*/
|
@@ -15,8 +15,8 @@ if(defined('WP_INSTALLING') && WP_INSTALLING){
|
|
15 |
if (!defined('ABSPATH')) {
|
16 |
exit;
|
17 |
}
|
18 |
-
define('WORDFENCE_VERSION', '7.4.
|
19 |
-
define('WORDFENCE_BUILD_NUMBER', '
|
20 |
define('WORDFENCE_BASENAME', function_exists('plugin_basename') ? plugin_basename(__FILE__) :
|
21 |
basename(dirname(__FILE__)) . '/' . basename(__FILE__));
|
22 |
|
4 |
Plugin URI: http://www.wordfence.com/
|
5 |
Description: Wordfence Security - Anti-virus, Firewall and Malware Scan
|
6 |
Author: Wordfence
|
7 |
+
Version: 7.4.11
|
8 |
Author URI: http://www.wordfence.com/
|
9 |
Network: true
|
10 |
*/
|
15 |
if (!defined('ABSPATH')) {
|
16 |
exit;
|
17 |
}
|
18 |
+
define('WORDFENCE_VERSION', '7.4.11');
|
19 |
+
define('WORDFENCE_BUILD_NUMBER', '1598542714');
|
20 |
define('WORDFENCE_BASENAME', function_exists('plugin_basename') ? plugin_basename(__FILE__) :
|
21 |
basename(dirname(__FILE__)) . '/' . basename(__FILE__));
|
22 |
|