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 / email_newIssues.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 1 year 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 1 year ago wfCredentialsController.php 1 year ago wfCrypt.php 6 years ago wfCurlInterceptor.php 3 years ago wfDB.php 1 year ago wfDashboard.php 1 year ago wfDateLocalization.php 2 years ago wfDeactivationOption.php 3 years ago wfDiagnostic.php 1 year ago wfDict.php 8 years ago wfDirectoryIterator.php 7 years ago wfFileUtils.php 2 years ago wfHelperBin.php 11 years ago wfHelperString.php 1 year 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 1 year 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
email_newIssues.php
164 lines
1 <?php if (!defined('WORDFENCE_VERSION')) { exit; } ?>
2 <?php $scanOptions = $scanController->scanOptions(); ?>
3 <p><?php echo esc_html(sprintf(
4 /* translators: URL to the site's homepage. */
5 __('This email was sent from your website "%s" by the Wordfence plugin.', 'wordfence'), get_bloginfo('name', 'raw'))); ?></p>
6
7 <p><?php
8
9 if (count($previousIssues) > 0) {
10 printf(
11 /* translators: 1. URL to the site's homepage. 2. Number of scan results. */
12 _n('Wordfence found the following new issues on "%1$s" (%2$d existing issue was also found again).',
13 'Wordfence found the following new issues on "%1$s" (%2$d existing issues were also found again).',
14 count($previousIssues),
15 'wordfence'),
16 esc_html(get_bloginfo('name', 'raw')),
17 count($previousIssues)
18 );
19 } else {
20 echo esc_html(sprintf(
21 /* translators: 1. URL to the site's homepage. */
22 __('Wordfence found the following new issues on "%1$s".', 'wordfence'),
23 get_bloginfo('name', 'raw')
24 ));
25 }
26
27
28 ?></p>
29
30 <p><?php echo esc_html(sprintf(
31 /* translators: Localized date. */
32 __('Alert generated at %s', 'wordfence'), wfUtils::localHumanDate())); ?></p>
33
34 <br>
35
36 <p><?php echo esc_html(sprintf(
37 /* translators: URL to WordPress admin panel. */
38 __('See the details of these scan results on your site at: %s', 'wordfence'), wfUtils::wpAdminURL('admin.php?page=WordfenceScan'))); ?></p>
39
40 <?php if ($scanOptions['scansEnabled_highSense']): ?>
41 <div style="margin: 12px 0;padding: 8px; background-color: #ffffe0; border: 1px solid #ffd975; border-width: 1px 1px 1px 10px;">
42 <em><?php esc_html_e('HIGH SENSITIVITY scanning is enabled, it may produce false positives', 'wordfence'); ?></em>
43 </div>
44 <?php endif ?>
45
46 <?php if ($timeLimitReached): ?>
47 <div style="margin: 12px 0;padding: 8px; background-color: #ffffe0; border: 1px solid #ffd975; border-width: 1px 1px 1px 10px;">
48 <em><?php echo wp_kses(sprintf(
49 /* translators: 1. URL to WordPress admin panel. 2. URL to WordPress admin panel. 3. URL to Wordfence support page. 4. URL to Wordfence support page. */
50 __('The scan was terminated early because it reached the time limit for scans. If you would like to allow your scans to run longer, you can customize the limit on the options page: <a href="%1$s">%2$s</a> or read more about scan options to improve scan speed here: <a href="%3$s">%4$s</a>', 'wordfence'), esc_attr(wfUtils::wpAdminURL('admin.php?page=WordfenceScan&subpage=scan_options#wf-scanner-options-performance')), esc_attr(wfUtils::wpAdminURL('admin.php?page=WordfenceScan&subpage=scan_options')), wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_TIME_LIMIT), esc_html(wfSupportController::supportURL(wfSupportController::ITEM_SCAN_TIME_LIMIT))), array('a'=>array('href'=>array()))); ?></em>
51 </div>
52 <?php endif ?>
53
54 <?php
55 $severitySections = array(
56 wfIssues::SEVERITY_CRITICAL => __('Critical Problems:', 'wordfence'),
57 wfIssues::SEVERITY_HIGH => __('High Severity Problems:', 'wordfence'),
58 wfIssues::SEVERITY_MEDIUM => __('Medium Severity Problems:', 'wordfence'),
59 wfIssues::SEVERITY_LOW => __('Low Severity Problems:', 'wordfence'),
60 );
61 ?>
62
63 <?php
64 foreach ($severitySections as $severityLevel => $severityLabel):
65 if ($severityLevel < $level) {
66 continue;
67 }
68 $hasIssuesAtSeverity = false;
69
70 foreach($issues as $i){ if($i['severity'] == $severityLevel){ ?>
71 <?php if (!$hasIssuesAtSeverity): $hasIssuesAtSeverity = true; ?>
72 <p><?php echo esc_html($severityLabel) ?></p>
73 <?php endif ?>
74 <p>* <?php echo htmlspecialchars($i['shortMsg']) ?></p>
75 <?php
76 if ((isset($i['tmplData']['wpRemoved']) && $i['tmplData']['wpRemoved']) || (isset($i['tmplData']['abandoned']) && $i['tmplData']['abandoned'])) {
77 if (isset($i['tmplData']['vulnerable']) && $i['tmplData']['vulnerable']) {
78 echo '<p><strong>' . esc_html__('Plugin contains an unpatched security vulnerability.', 'wordfence') . '</strong>';
79 if (isset($i['tmplData']['cvssScore'])) {
80 echo ' <br>' . esc_html__('Vulnerability Severity', 'wordfence') . ': ' . number_format($i['tmplData']['cvssScore'], 1) . '/10.0 (<span style="color:' . wfUpdateCheck::cvssScoreSeverityHexColor($i['tmplData']['cvssScore']) . '">' . wfUpdateCheck::cvssScoreSeverityLabel($i['tmplData']['cvssScore']) . '</span>)';
81 }
82 if (isset($i['tmplData']['vulnerabilityLink'])) {
83 echo ' <br><a href="' . $i['tmplData']['vulnerabilityLink'] . '" target="_blank" rel="nofollow noreferrer noopener">' . esc_html__('Vulnerability Information', 'wordfence') . '</a>';
84 }
85 echo '</p>';
86 }
87 }
88 if ($i['type'] == 'coreUnknown') {
89 echo '<p>' . esc_html__('The core files scan has not run because this version is not currently indexed by Wordfence. New WordPress versions may take up to a day to be indexed.', 'wordfence') . '</p>';
90 }
91 else if ($i['type'] == 'wafStatus') {
92 echo '<p>' . esc_html__('Firewall issues may be caused by file permission changes or other technical problems.', 'wordfence') . ' <a href="' . wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_RESULT_WAF_DISABLED) . '" target="_blank" rel="nofollow noreferrer noopener">' . esc_html__('More Details and Instructions', 'wordfence') . '</a></p>';
93 }
94 else if ($i['type'] == 'skippedPaths') {
95 echo '<p>' . esc_html__('Scanning additional paths is optional and is not always necessary.', 'wordfence') . ' <a href="' . wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_RESULT_SKIPPED_PATHS) . '" target="_blank" rel="nofollow noreferrer noopener">' . esc_html__('Learn More', 'wordfence') . '</a></p>';
96 }
97
98 $showWPParagraph = !empty($i['tmplData']['vulnerable']) || isset($i['tmplData']['wpURL']);
99 if ($showWPParagraph) {
100 echo '<p>';
101 }
102 if (!empty($i['tmplData']['vulnerable'])) {
103 if (isset($i['tmplData']['updateAvailable']) && $i['tmplData']['updateAvailable'] !== false)
104 echo '<strong>' . esc_html__('Update includes security-related fixes.', 'wordfence') . '</strong>';
105 if (isset($i['tmplData']['cvssScore'])) {
106 echo ' <br>' . esc_html__('Vulnerability Severity', 'wordfence') . ': ' . number_format($i['tmplData']['cvssScore'], 1) . '/10.0 (<span style="color:' . wfUpdateCheck::cvssScoreSeverityHexColor($i['tmplData']['cvssScore']) . '">' . wfUpdateCheck::cvssScoreSeverityLabel($i['tmplData']['cvssScore']) . '</span>)';
107 }
108 if (isset($i['tmplData']['vulnerabilityLink'])) {
109 echo ' <a href="' . $i['tmplData']['vulnerabilityLink'] . '" target="_blank" rel="nofollow noreferrer noopener">' . esc_html__('Vulnerability Information', 'wordfence') . '</a>';
110 }
111 }
112 if (isset($i['tmplData']['wpURL'])) {
113 if(!empty($i['tmplData']['vulnerable']))
114 echo '<br>';
115 echo $i['tmplData']['wpURL'] . '/#developers';
116 }
117 if ($showWPParagraph) {
118 echo '</p>';
119 }
120 ?>
121
122 <?php
123 if (!empty($i['tmplData']['badURL'])):
124 $api = new wfAPI(wfConfig::get('apiKey'), wfUtils::getWPVersion());
125 $url = set_url_scheme($api->getTextImageURL($i['tmplData']['badURL']), 'https');
126 ?>
127 <p><img src="<?php echo esc_url($url) ?>" alt="<?php esc_html_e('The malicious URL matched', 'wordfence') ?>" /></p>
128 <?php endif ?>
129
130 <?php } } ?>
131 <?php endforeach; ?>
132
133 <?php
134 $sentences = array();
135 if (count($previousIssues)) {
136 $sentences[] = sprintf(/* translators: Number of scan results */_n('%d existing issue was found again and is not shown.', '%d existing issues were found again and are not shown.', count($previousIssues), 'wordfence'), count($previousIssues));
137 }
138 if ($issuesNotShown > 0) {
139 $sentences[] = sprintf(/* translators: Number of scan results */ _n('%d issue was omitted from this email due to length limits.', '%d issues were omitted from this email due to length limits.', $issuesNotShown, 'wordfence'), $issuesNotShown);
140 $sentences[] = esc_html__('View every issue:', 'wordfence') . sprintf(' <a href="%s">%s</a>', esc_attr(wfUtils::wpAdminURL('admin.php?page=WordfenceScan')), esc_html(wfUtils::wpAdminURL('admin.php?page=WordfenceScan')));
141 }
142
143 if (count($sentences)) {
144 printf('<p>%s</p>', implode(' ', $sentences));
145 }
146 ?>
147
148 <?php if(! $isPaid){ ?>
149 <p><?php esc_html_e('NOTE: You are using the free version of Wordfence. Upgrade today:', 'wordfence'); ?></p>
150
151 <ul>
152 <li><?php esc_html_e('Receive real-time Firewall and Scan engine rule updates for protection as threats emerge', 'wordfence'); ?></li>
153 <li><?php esc_html_e('Real-time IP Blocklist blocks the most malicious IPs from accessing your site', 'wordfence'); ?></li>
154 <li><?php esc_html_e('Country blocking', 'wordfence'); ?></li>
155 <li><?php esc_html_e('IP reputation monitoring', 'wordfence'); ?></li>
156 <li><?php esc_html_e('Schedule scans to run more frequently and at optimal times', 'wordfence'); ?></li>
157 <li><?php esc_html_e('Access to Premium Support', 'wordfence'); ?></li>
158 <li><?php esc_html_e('Discounts for multi-year and multi-license purchases', 'wordfence'); ?></li>
159 </ul>
160
161 <p><?php esc_html_e('Click here to upgrade to Wordfence Premium:', 'wordfence'); ?><br><a href="https://www.wordfence.com/zz2/wordfence-signup/">https://www.wordfence.com/zz2/wordfence-signup/</a></p>
162 <?php } ?>
163
164 <p><!-- ##UNSUBSCRIBE## --></p>