Sucuri Security – Auditing, Malware Scanner and Security Hardening - Version 1.8.5

Version Description

This version adds support for the latest version of WordPress. Introduces new features and fixes some bugs reported by the WordPress community as well as bugs found by our automated testing system.

=

Download this release

Release Info

Developer yorman
Plugin Icon 128x128 Sucuri Security – Auditing, Malware Scanner and Security Hardening
Version 1.8.5
Comparing to
See all releases

Code changes from version 1.8.4 to 1.8.5

Files changed (74) hide show
  1. inc/tpl/auditlogs-report.html.tpl +6 -11
  2. inc/tpl/auditlogs.html.tpl +5 -15
  3. inc/tpl/dashboard.html.tpl +2 -2
  4. inc/tpl/firewall-auditlogs.html.tpl +8 -17
  5. inc/tpl/firewall-clearcache.html.tpl +5 -44
  6. inc/tpl/firewall-settings.html.tpl +10 -28
  7. inc/tpl/firewall.html.tpl +3 -3
  8. inc/tpl/integrity-correct.html.tpl +5 -17
  9. inc/tpl/integrity-diff-utility.html.tpl +2 -14
  10. inc/tpl/integrity-incorrect.html.tpl +16 -35
  11. inc/tpl/integrity-notification.html.tpl +7 -31
  12. inc/tpl/integrity.html.tpl +3 -9
  13. inc/tpl/lastlogins-admins.html.tpl +5 -7
  14. inc/tpl/lastlogins-admins.snippet.tpl +4 -4
  15. inc/tpl/lastlogins-all.html.tpl +8 -10
  16. inc/tpl/lastlogins-all.snippet.tpl +1 -1
  17. inc/tpl/lastlogins-blockedusers.html.tpl +10 -25
  18. inc/tpl/lastlogins-failedlogins.html.tpl +9 -31
  19. inc/tpl/lastlogins-loggedin.html.tpl +7 -9
  20. inc/tpl/lastlogins-loggedin.snippet.tpl +1 -1
  21. inc/tpl/lastlogins.html.tpl +5 -5
  22. inc/tpl/notification-pretty.html.tpl +5 -5
  23. inc/tpl/notification-simple.html.tpl +5 -5
  24. inc/tpl/register-site.html.tpl +7 -22
  25. inc/tpl/settings-alerts-bruteforce.html.tpl +4 -20
  26. inc/tpl/settings-alerts-events.html.tpl +3 -19
  27. inc/tpl/settings-alerts-ignore-posts.html.tpl +9 -29
  28. inc/tpl/settings-alerts-perhour.html.tpl +4 -20
  29. inc/tpl/settings-alerts-recipients.html.tpl +7 -24
  30. inc/tpl/settings-alerts-subject.html.tpl +4 -10
  31. inc/tpl/settings-alerts-trustedips.html.tpl +9 -15
  32. inc/tpl/settings-apirecovery.html.tpl +4 -18
  33. inc/tpl/settings-apiregistered.html.tpl +4 -16
  34. inc/tpl/settings-apiservice-proxy.html.tpl +6 -15
  35. inc/tpl/settings-apiservice-status.html.tpl +4 -28
  36. inc/tpl/settings-apiservice-timeout.html.tpl +5 -24
  37. inc/tpl/settings-general-apikey.html.tpl +9 -38
  38. inc/tpl/settings-general-auditlogstats.html.tpl +4 -17
  39. inc/tpl/settings-general-commentmonitor.html.tpl +3 -19
  40. inc/tpl/settings-general-cronjobs.html.tpl +8 -23
  41. inc/tpl/settings-general-datastorage.html.tpl +30 -58
  42. inc/tpl/settings-general-importexport.html.tpl +4 -18
  43. inc/tpl/settings-general-ipdiscoverer.html.tpl +9 -35
  44. inc/tpl/settings-general-resetoptions.html.tpl +4 -11
  45. inc/tpl/settings-general-reverseproxy.html.tpl +3 -30
  46. inc/tpl/settings-general-selfhosting.html.tpl +5 -30
  47. inc/tpl/settings-hardening-whitelist-phpfiles.html.tpl +9 -38
  48. inc/tpl/settings-posthack-available-updates-alert.html.tpl +5 -24
  49. inc/tpl/settings-posthack-available-updates.html.tpl +7 -13
  50. inc/tpl/settings-posthack-available-updates.snippet.tpl +1 -1
  51. inc/tpl/settings-posthack-reset-password-alert.html.tpl +1 -5
  52. inc/tpl/settings-posthack-reset-password.html.tpl +8 -22
  53. inc/tpl/settings-posthack-reset-plugins.html.tpl +11 -30
  54. inc/tpl/settings-posthack-security-keys.html.tpl +8 -16
  55. inc/tpl/settings-scanner-ignore-folders.html.tpl +11 -18
  56. inc/tpl/settings-scanner-integrity-cache.html.tpl +7 -17
  57. inc/tpl/settings-scanner-integrity-diff-utility.html.tpl +3 -19
  58. inc/tpl/settings-scanner-integrity-language.html.tpl +4 -18
  59. inc/tpl/settings-scanner-options.html.tpl +5 -23
  60. inc/tpl/settings-webinfo-details.html.tpl +1 -1
  61. inc/tpl/settings-webinfo-htaccess.html.tpl +6 -19
  62. inc/tpl/settings-webinfo-wpconfig.html.tpl +3 -3
  63. inc/tpl/settings.html.tpl +7 -7
  64. inc/tpl/sitecheck-malware.html.tpl +1 -7
  65. inc/tpl/sitecheck-malware.snippet.tpl +1 -1
  66. inc/tpl/sitecheck-recommendations.html.tpl +1 -1
  67. languages/sucuri-scanner-en_US.mo +0 -0
  68. languages/sucuri-scanner-en_US.po +642 -9
  69. languages/sucuri-scanner-es_ES.mo +0 -0
  70. languages/sucuri-scanner-es_ES.po +1488 -0
  71. readme.txt +7 -2
  72. src/settings-general.php +2 -2
  73. src/settings-hardening.php +8 -4
  74. sucuri.php +2 -2
inc/tpl/auditlogs-report.html.tpl CHANGED
@@ -74,35 +74,30 @@ jQuery(function ($) {
74
 
75
  <div class="sucuriscan-audit-report">
76
  <div class="sucuriscan-inline-alert-info">
77
- <p>
78
- The data used to generate these charts comes from the last
79
- <strong>%%SUCURI.AuditReport.Logs4Report%% audit logs</strong>, you can
80
- configure this number from the plugin settings page, you can also disable
81
- and enable this panel from there at any time.
82
- </p>
83
  </div>
84
 
85
  <div id="sucuriscan-audit-report-response">
86
- <p>Loading...</p>
87
  </div>
88
 
89
  <div class="sucuriscan-report-chart sucuriscan-hidden">
90
- <h4>Audit Logs per Event</h4>
91
  <div id="sucuriscan-report-events-per-type"></div>
92
  </div>
93
 
94
  <div class="sucuriscan-report-chart sucuriscan-hidden">
95
- <h4>Successful/Failed Logins</h4>
96
  <div id="sucuriscan-report-events-per-login"></div>
97
  </div>
98
 
99
  <div class="sucuriscan-report-chart sucuriscan-hidden">
100
- <h4>Audit Logs per User</h4>
101
  <div id="sucuriscan-report-events-per-user"></div>
102
  </div>
103
 
104
  <div class="sucuriscan-report-chart sucuriscan-hidden">
105
- <h4>Audit Logs per IP Address</h4>
106
  <div id="sucuriscan-report-events-per-ipaddress"></div>
107
  </div>
108
  </div>
74
 
75
  <div class="sucuriscan-audit-report">
76
  <div class="sucuriscan-inline-alert-info">
77
+ <p>@@SUCURI.LogsReportInfo@@</p>
 
 
 
 
 
78
  </div>
79
 
80
  <div id="sucuriscan-audit-report-response">
81
+ <p>@@SUCURI.Loading@@</p>
82
  </div>
83
 
84
  <div class="sucuriscan-report-chart sucuriscan-hidden">
85
+ <h4>@@SUCURI.LogsPerEvent@@</h4>
86
  <div id="sucuriscan-report-events-per-type"></div>
87
  </div>
88
 
89
  <div class="sucuriscan-report-chart sucuriscan-hidden">
90
+ <h4>@@SUCURI.LogsForLogins@@</h4>
91
  <div id="sucuriscan-report-events-per-login"></div>
92
  </div>
93
 
94
  <div class="sucuriscan-report-chart sucuriscan-hidden">
95
+ <h4>@@SUCURI.LogsPerUser@@</h4>
96
  <div id="sucuriscan-report-events-per-user"></div>
97
  </div>
98
 
99
  <div class="sucuriscan-report-chart sucuriscan-hidden">
100
+ <h4>@@SUCURI.LogsPerIP@@</h4>
101
  <div id="sucuriscan-report-events-per-ipaddress"></div>
102
  </div>
103
  </div>
inc/tpl/auditlogs.html.tpl CHANGED
@@ -11,10 +11,10 @@ jQuery(function ($) {
11
  }
12
 
13
  if (reset === true) {
14
- $('.sucuriscan-auditlog-response').html('<em>Loading...</em>');
15
  }
16
 
17
- $('.sucuriscan-pagination-loading').html('Loading...');
18
 
19
  $.post(url, {
20
  action: 'sucuriscan_ajax',
@@ -70,25 +70,15 @@ jQuery(function ($) {
70
 
71
  <div class="sucuriscan-auditlog-table">
72
  <div id="sucuriscan-auditlog-selfhosting" class="sucuriscan-inline-alert-info sucuriscan-hidden">
73
- <p>
74
- You don't have a valid API key to communicate with the remote API
75
- service. However, the self-hosting monitor is enabled, the plugin
76
- will read the logs from that file and display the data here. Notice
77
- that only the latest logs will be processed to keep a low memory
78
- footprint. Consider to generate a free API key to get a better
79
- coverage of the activity in your website.
80
- </p>
81
  </div>
82
 
83
  <div class="sucuriscan-auditlog-response">
84
- <em>Loading...</em>
85
  </div>
86
 
87
  <div>
88
- <small>
89
- This data is cached for %%SUCURI.AuditLogs.Lifetime%% seconds
90
- &mdash; <a href="#" class="sucuriscan-reset-auditlogs">refresh</a>
91
- </small>
92
  </div>
93
 
94
  <div class="sucuriscan-clearfix">
11
  }
12
 
13
  if (reset === true) {
14
+ $('.sucuriscan-auditlog-response').html('<em>@@SUCURI.Loading@@</em>');
15
  }
16
 
17
+ $('.sucuriscan-pagination-loading').html('@@SUCURI.Loading@@');
18
 
19
  $.post(url, {
20
  action: 'sucuriscan_ajax',
70
 
71
  <div class="sucuriscan-auditlog-table">
72
  <div id="sucuriscan-auditlog-selfhosting" class="sucuriscan-inline-alert-info sucuriscan-hidden">
73
+ <p>@@SUCURI.SelfHostingFallback@@</p>
 
 
 
 
 
 
 
74
  </div>
75
 
76
  <div class="sucuriscan-auditlog-response">
77
+ <em>@@SUCURI.Loading@@</em>
78
  </div>
79
 
80
  <div>
81
+ <small>@@SUCURI.AuditLogsCache@@ &mdash; <a href="#" class="sucuriscan-reset-auditlogs">@@SUCURI.Refresh@@</a></small>
 
 
 
82
  </div>
83
 
84
  <div class="sucuriscan-clearfix">
inc/tpl/dashboard.html.tpl CHANGED
@@ -30,8 +30,8 @@ jQuery(function ($) {
30
  <div class="sucuriscan-panel">
31
  <div class="sucuriscan-tabs">
32
  <ul class="sucuriscan-clearfix sucuriscan-tabs-buttons">
33
- <li><a href="%%SUCURI.URL.Dashboard%%#auditlogs">Audit Logs</a></li>
34
- <li><a href="%%SUCURI.URL.Dashboard%%#stats">Statistics</a></li>
35
  <li><a href="%%SUCURI.URL.Dashboard%%#iframes" id="sucuriscan-title-iframes">%%SUCURI.SiteCheck.iFramesTitle%%</a></li>
36
  <li><a href="%%SUCURI.URL.Dashboard%%#links" id="sucuriscan-title-links">%%SUCURI.SiteCheck.LinksTitle%%</a></li>
37
  <li><a href="%%SUCURI.URL.Dashboard%%#scripts" id="sucuriscan-title-scripts">%%SUCURI.SiteCheck.ScriptsTitle%%</a></li>
30
  <div class="sucuriscan-panel">
31
  <div class="sucuriscan-tabs">
32
  <ul class="sucuriscan-clearfix sucuriscan-tabs-buttons">
33
+ <li><a href="%%SUCURI.URL.Dashboard%%#auditlogs">@@SUCURI.AuditLogs@@</a></li>
34
+ <li><a href="%%SUCURI.URL.Dashboard%%#stats">@@SUCURI.Statistics@@</a></li>
35
  <li><a href="%%SUCURI.URL.Dashboard%%#iframes" id="sucuriscan-title-iframes">%%SUCURI.SiteCheck.iFramesTitle%%</a></li>
36
  <li><a href="%%SUCURI.URL.Dashboard%%#links" id="sucuriscan-title-links">%%SUCURI.SiteCheck.LinksTitle%%</a></li>
37
  <li><a href="%%SUCURI.URL.Dashboard%%#scripts" id="sucuriscan-title-scripts">%%SUCURI.SiteCheck.ScriptsTitle%%</a></li>
inc/tpl/firewall-auditlogs.html.tpl CHANGED
@@ -1,21 +1,12 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Firewall Audit Logs</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- The firewall logs every request involved in an attack and separates
8
- them from the legitimate requests. You can analyze the data from the
9
- latest entries in the logs using this tool and take action either
10
- enabling the advanced features of the IDS <em>(Intrusion Detection
11
- System)</em> from the <a target="_blank" href="https://waf.sucuri.net/?settings">
12
- Firewall Dashboard</a> and/or blocking IP addresses and URL paths
13
- directly from the <a href="https://waf.sucuri.net/?audit" target="_blank">
14
- Firewall Audit Trails</a> page.
15
- </p>
16
 
17
  <div class="sucuriscan-inline-alert-info">
18
- <p>Note that non-blocked requests are hidden from the logs, this is intentional.</p>
19
  </div>
20
 
21
  <script type="text/javascript">
@@ -28,7 +19,7 @@
28
  var params = {};
29
 
30
  $('.sucuriscan-firewall-auditlogs tbody')
31
- .html('<tr><td><em>Loading...</em></td></tr>');
32
 
33
  params.action = 'sucuriscan_ajax';
34
  params.form_action = 'get_firewall_logs';
@@ -53,24 +44,24 @@
53
 
54
  <form action="%%SUCURI.URL.Firewall%%#auditlogs" method="post">
55
  <fieldset class="sucuriscan-clearfix">
56
- <label>Filter Audit Logs:</label>
57
  <input type="text" id="sucuriscan_firewall_query" />
58
  <select id="sucuriscan_firewall_day">%%%SUCURI.AuditLogs.DateDays%%%</select>
59
  <select id="sucuriscan_firewall_month">%%%SUCURI.AuditLogs.DateMonths%%%</select>
60
  <select id="sucuriscan_firewall_year">%%%SUCURI.AuditLogs.DateYears%%%</select>
61
- <button id="sucuriscan-firewall-auditlogs-button" class="button button-primary">Retrieve Logs</button>
62
  </fieldset>
63
 
64
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-firewall-auditlogs">
65
  <thead>
66
  <tr>
67
- <th>Audit Logs</th>
68
  </tr>
69
  </thead>
70
 
71
  <tbody>
72
  <tr>
73
- <td><em>Loading...</em></td>
74
  </tr>
75
  </tbody>
76
  </table>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.FirewallLogsTitle@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.FirewallLogsInfo@@</p>
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-info">
9
+ <p>@@SUCURI.FirewallLogsNote@@</p>
10
  </div>
11
 
12
  <script type="text/javascript">
19
  var params = {};
20
 
21
  $('.sucuriscan-firewall-auditlogs tbody')
22
+ .html('<tr><td><em>@@SUCURI.Loading@@</em></td></tr>');
23
 
24
  params.action = 'sucuriscan_ajax';
25
  params.form_action = 'get_firewall_logs';
44
 
45
  <form action="%%SUCURI.URL.Firewall%%#auditlogs" method="post">
46
  <fieldset class="sucuriscan-clearfix">
47
+ <label>@@SUCURI.Search@@:</label>
48
  <input type="text" id="sucuriscan_firewall_query" />
49
  <select id="sucuriscan_firewall_day">%%%SUCURI.AuditLogs.DateDays%%%</select>
50
  <select id="sucuriscan_firewall_month">%%%SUCURI.AuditLogs.DateMonths%%%</select>
51
  <select id="sucuriscan_firewall_year">%%%SUCURI.AuditLogs.DateYears%%%</select>
52
+ <button id="sucuriscan-firewall-auditlogs-button" class="button button-primary">@@SUCURI.Submit@@</button>
53
  </fieldset>
54
 
55
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-firewall-auditlogs">
56
  <thead>
57
  <tr>
58
+ <th>@@SUCURI.FirewallLogsTitle@@</th>
59
  </tr>
60
  </thead>
61
 
62
  <tbody>
63
  <tr>
64
+ <td><em>@@SUCURI.Loading@@</em></td>
65
  </tr>
66
  </tbody>
67
  </table>
inc/tpl/firewall-clearcache.html.tpl CHANGED
@@ -1,59 +1,20 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Clear Cache</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- The firewall offers multiple options to configure the cache level
8
- applied to your website. You can either enable the full cache which
9
- is the recommended setting, or you can set the cache level to minimal
10
- which will keep the pages static for a couple of minutes, or force
11
- the usage of the website headers <em>(only for advanced users)</em>,
12
- or in extreme cases where you do not need the cache you can simply
13
- disable it. Find more information about it in the <a target="_blank"
14
- href="https://kb.sucuri.net/cloudproxy/Performance/caching-options">
15
- Sucuri Knowledge Base</a> website.
16
- </p>
17
 
18
  <div class="sucuriscan-inline-alert-info">
19
- <p>
20
- Note that the firewall has <a href="https://kb.sucuri.net/cloudproxy/Performance/cache-exceptions"
21
- target="_blank">special caching rules</a> for Images, CSS, PDF,
22
- TXT, JavaScript, media files and a few more extensions that are
23
- stored on our <a href="https://en.wikipedia.org/wiki/Edge_device"
24
- target="_blank" rel="noopener">edge</a>. The only way to flush the cache for
25
- these files is by clearing the firewall's cache completely
26
- <em>(for the whole website)</em>.
27
- </p>
28
  </div>
29
 
30
- <div class="sucuriscan-inline-alert-error">
31
- <p>
32
- Due to our caching of JavaScript and CSS files, often, as is best practice, the
33
- use of versioning during development will ensure updates going live as expected.
34
- This is done by adding a query string such as <code>?ver=1.2.3</code> and
35
- incrementing on each update.
36
- </p>
37
- </div>
38
-
39
- <p>
40
- A web cache (or HTTP cache) is an information technology for the temporary
41
- storage (caching) of web documents, such as HTML pages and images, to reduce
42
- bandwidth usage, server load, and perceived lag. A web cache system stores
43
- copies of documents passing through it; subsequent requests may be satisfied
44
- from the cache if certain conditions are met. A web cache system can refer
45
- either to an appliance, or to a computer program.
46
- </p>
47
-
48
- <p>
49
- More info at <a href="https://en.wikipedia.org/wiki/Web_cache" target="_blank" rel="noopener">
50
- WikiPedia - Web Cache</a>
51
- </p>
52
 
53
  <form action="%%SUCURI.URL.Firewall%%#clearcache" method="post">
54
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
55
  <input type="hidden" name="sucuriscan_clear_cache" value="1" />
56
- <input type="submit" value="Clear Cache" class="button button-primary" />
57
  </form>
58
  </div>
59
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.FirewallCacheTitle@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.FirewallCacheInfo@@</p>
 
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-info">
9
+ <p>@@SUCURI.FirewallCacheNote@@</p>
 
 
 
 
 
 
 
 
10
  </div>
11
 
12
+ <p>@@SUCURI.FirewallCacheWiki@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
  <form action="%%SUCURI.URL.Firewall%%#clearcache" method="post">
15
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
16
  <input type="hidden" name="sucuriscan_clear_cache" value="1" />
17
+ <input type="submit" value="@@SUCURI.FirewallCacheButton@@" class="button button-primary" />
18
  </form>
19
  </div>
20
  </div>
inc/tpl/firewall-settings.html.tpl CHANGED
@@ -1,48 +1,37 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Firewall Settings</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- A powerful Web Application Firewall and <b>Intrusion Detection System</b>
8
- for any WordPress user and many other platforms. This page will help you
9
- to configure and monitor your site through the <b>Sucuri Firewall</b>.
10
- Once enabled, our firewall will act as a shield, protecting your site
11
- from attacks and preventing malware infections and reinfections. It
12
- will block SQL injection attempts, brute force attacks, XSS, RFI,
13
- backdoors and many other threats against your site.
14
- </p>
15
 
16
  <div class="sucuriscan-inline-alert-info sucuriscan-%%SUCURI.Firewall.APIKeyFormVisibility%%">
17
- <p>
18
- Add your <a href="https://waf.sucuri.net/?settings&panel=api"
19
- target="_blank">Firewall API key</a> in the form below to start
20
- communicating with the firewall API service.
21
- </p>
22
  </div>
23
 
24
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-firewall-apikey sucuriscan-%%SUCURI.Firewall.APIKeyVisibility%%">
25
  <span class="sucuriscan-monospace">%%SUCURI.Firewall.APIKey%%</span>
26
  <form action="%%SUCURI.URL.Firewall%%" method="post">
27
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
28
- <button type="submit" name="sucuriscan_delete_wafkey" class="button button-primary">Delete</button>
29
  </form>
30
  </div>
31
 
32
  <form action="%%SUCURI.URL.Firewall%%" method="post" class="sucuriscan-%%SUCURI.Firewall.APIKeyFormVisibility%%">
33
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
34
  <fieldset class="sucuriscan-clearfix">
35
- <label>Firewall API Key:</label>
36
  <input type="text" name="sucuriscan_cloudproxy_apikey" />
37
- <button type="submit" class="button button-primary">Save</button>
38
  </fieldset>
 
39
  </form>
40
 
41
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-firewall-settings sucuriscan-%%SUCURI.Firewall.SettingsVisibility%%">
42
  <thead>
43
  <tr>
44
- <th>Setting Name</th>
45
- <th>Setting Value</th>
46
  </tr>
47
  </thead>
48
 
@@ -51,13 +40,6 @@
51
  </tbody>
52
  </table>
53
 
54
- <p>
55
- <em>[1]</em> More information about the <a href="https://sucuri.net/website-firewall/"
56
- target="_blank">Sucuri Firewall</a>, features and pricing.<br>
57
- <em>[2]</em> Instructions and videos in the official <a href="https://kb.sucuri.net/cloudproxy"
58
- target="_blank">Knowledge Base</a> site.<br>
59
- <em>[3]</em> <a href="https://login.sucuri.net/signup2/create?CloudProxy" target="_blank">
60
- Sign up</a> for a new account and start protecting your site.
61
- </p>
62
  </div>
63
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.FirewallSettingsTitle@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.FirewallSettingsInfo@@</p>
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-info sucuriscan-%%SUCURI.Firewall.APIKeyFormVisibility%%">
9
+ <p>@@SUCURI.FirewallAddKey@@</p>
 
 
 
 
10
  </div>
11
 
12
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-firewall-apikey sucuriscan-%%SUCURI.Firewall.APIKeyVisibility%%">
13
  <span class="sucuriscan-monospace">%%SUCURI.Firewall.APIKey%%</span>
14
  <form action="%%SUCURI.URL.Firewall%%" method="post">
15
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
16
+ <button type="submit" name="sucuriscan_delete_wafkey" class="button button-primary">@@SUCURI.Delete@@</button>
17
  </form>
18
  </div>
19
 
20
  <form action="%%SUCURI.URL.Firewall%%" method="post" class="sucuriscan-%%SUCURI.Firewall.APIKeyFormVisibility%%">
21
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
22
  <fieldset class="sucuriscan-clearfix">
23
+ <label>@@SUCURI.FirewallKey@@:</label>
24
  <input type="text" name="sucuriscan_cloudproxy_apikey" />
25
+ <button type="submit" class="button button-primary">@@SUCURI.Save@@</button>
26
  </fieldset>
27
+ <br>
28
  </form>
29
 
30
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-firewall-settings sucuriscan-%%SUCURI.Firewall.SettingsVisibility%%">
31
  <thead>
32
  <tr>
33
+ <th>@@SUCURI.Name@@</th>
34
+ <th>@@SUCURI.Value@@</th>
35
  </tr>
36
  </thead>
37
 
40
  </tbody>
41
  </table>
42
 
43
+ <p>@@SUCURI.FirewallFootNote@@</p>
 
 
 
 
 
 
 
44
  </div>
45
  </div>
inc/tpl/firewall.html.tpl CHANGED
@@ -1,9 +1,9 @@
1
 
2
  <div class="sucuriscan-tabs">
3
  <ul class="sucuriscan-clearfix sucuriscan-tabs-buttons">
4
- <li><a href="%%SUCURI.URL.Firewall%%#settings">Settings</a></li>
5
- <li><a href="%%SUCURI.URL.Firewall%%#auditlogs">Audit Logs</a></li>
6
- <li><a href="%%SUCURI.URL.Firewall%%#clearcache">Clear Cache</a></li>
7
  </ul>
8
 
9
  <div class="sucuriscan-tabs-containers">
1
 
2
  <div class="sucuriscan-tabs">
3
  <ul class="sucuriscan-clearfix sucuriscan-tabs-buttons">
4
+ <li><a href="%%SUCURI.URL.Firewall%%#settings">@@SUCURI.Settings@@</a></li>
5
+ <li><a href="%%SUCURI.URL.Firewall%%#auditlogs">@@SUCURI.AuditLogs@@</a></li>
6
+ <li><a href="%%SUCURI.URL.Firewall%%#clearcache">@@SUCURI.ClearCache@@</a></li>
7
  </ul>
8
 
9
  <div class="sucuriscan-tabs-containers">
inc/tpl/integrity-correct.html.tpl CHANGED
@@ -2,29 +2,17 @@
2
  <div class="sucuriscan-panel sucuriscan-integrity sucuriscan-integrity-correct">
3
  <div class="sucuriscan-clearfix">
4
  <div class="sucuriscan-pull-left sucuriscan-integrity-left">
5
- <h2 class="sucuriscan-title">WordPress Integrity</h2>
6
 
7
- <p>
8
- We inspect your WordPress installation and look for modifications
9
- on the core files as provided by WordPress.org. Files located in
10
- the root directory, wp-admin and wp-includes will be compared against
11
- the files distributed with v%%SUCURI.WordPressVersion%%; all files with
12
- inconsistencies will be listed here. Any changes might indicate a hack.
13
- </p>
14
  </div>
15
 
16
  <div class="sucuriscan-pull-right sucuriscan-integrity-right">
17
- <h2 class="sucuriscan-subtitle">All Core WordPress Files Are Correct</h2>
18
 
19
- <p>
20
- We have not identified additional files, deleted files, or relevant
21
- changes to the core files in your WordPress installation. If you are
22
- experiencing other malware issues, please use a <a target="_blank"
23
- href="https://sucuri.net/website-security/malware-removal">Server
24
- Side Scanner</a>.
25
- </p>
26
 
27
- <p><a href="%%SUCURI.URL.Settings%%#scanner">Review False/Positives</a></p>
28
  </div>
29
  </div>
30
 
2
  <div class="sucuriscan-panel sucuriscan-integrity sucuriscan-integrity-correct">
3
  <div class="sucuriscan-clearfix">
4
  <div class="sucuriscan-pull-left sucuriscan-integrity-left">
5
+ <h2 class="sucuriscan-title">@@SUCURI.IntegrityTitle@@</h2>
6
 
7
+ <p>@@SUCURI.IntegrityDescription@@</p>
 
 
 
 
 
 
8
  </div>
9
 
10
  <div class="sucuriscan-pull-right sucuriscan-integrity-right">
11
+ <h2 class="sucuriscan-subtitle">@@SUCURI.IntegrityGoodTitle@@</h2>
12
 
13
+ <p>@@SUCURI.IntegrityGoodDescription@@</p>
 
 
 
 
 
 
14
 
15
+ <p><a href="%%SUCURI.URL.Settings%%#scanner">@@SUCURI.ReviewFalsePositives@@</a></p>
16
  </div>
17
  </div>
18
 
inc/tpl/integrity-diff-utility.html.tpl CHANGED
@@ -1,23 +1,11 @@
1
 
2
  <div class="sucuriscan-integrity-diff-utility">
3
  <div class="sucuriscan-inline-alert-info">
4
- <p>
5
- The Unix Diff Utility is enabled. You can click the files marked
6
- as modified <em>(the ones with the purple flag)</em> to see the
7
- differences detected by the scanner. If you consider the differences
8
- to be harmless you can mark the file as fixed, otherwise it is adviced
9
- to restore the original content immediately.
10
- </p>
11
  </div>
12
 
13
  <div class="sucuriscan-hidden sucuriscan-diff-instructions">
14
- <p>
15
- Lines with a <b>minus</b> sign as the prefix <em>(here in red)</em>
16
- show the original code. Lines with a <b>plus</b> sign as the prefix
17
- <em>(here in green)</em> show the modified code. You can read more
18
- about the DIFF format from the WikiPedia article about the <a target="_blank"
19
- href="https://en.wikipedia.org/wiki/Diff_utility" rel="noopener">Unix Diff Utility</a>.
20
- </p>
21
  </div>
22
 
23
  %%%SUCURI.DiffUtility.Modal%%%
1
 
2
  <div class="sucuriscan-integrity-diff-utility">
3
  <div class="sucuriscan-inline-alert-info">
4
+ <p>@@SUCURI.DiffUtilityInfo@@</p>
 
 
 
 
 
 
5
  </div>
6
 
7
  <div class="sucuriscan-hidden sucuriscan-diff-instructions">
8
+ <p>@@SUCURI.DiffUtilityInstructions@@</p>
 
 
 
 
 
 
9
  </div>
10
 
11
  %%%SUCURI.DiffUtility.Modal%%%
inc/tpl/integrity-incorrect.html.tpl CHANGED
@@ -2,29 +2,17 @@
2
  <div class="sucuriscan-panel sucuriscan-integrity sucuriscan-integrity-incorrect">
3
  <div class="sucuriscan-clearfix">
4
  <div class="sucuriscan-pull-left sucuriscan-integrity-left">
5
- <h2 class="sucuriscan-title">WordPress Integrity</h2>
6
 
7
- <p>
8
- We inspect your WordPress installation and look for modifications
9
- on the core files as provided by WordPress.org. Files located in
10
- the root directory, wp-admin and wp-includes will be compared against
11
- the files distributed with v%%SUCURI.WordPressVersion%%; all files with
12
- inconsistencies will be listed here. Any changes might indicate a hack.
13
- </p>
14
  </div>
15
 
16
  <div class="sucuriscan-pull-right sucuriscan-integrity-right">
17
- <h2 class="sucuriscan-subtitle">Core WordPress Files Were Modified</h2>
18
 
19
- <p>
20
- We identified that some of your WordPress core files were modified.
21
- That might indicate a hack or a broken file on your installation.
22
- If you are experiencing other malware issues, please use a
23
- <a href="https://sucuri.net/website-security/malware-removal"
24
- target="_blank">Server Side Scanner</a>.
25
- </p>
26
 
27
- <p><a href="%%SUCURI.URL.Settings%%#scanner">Review False/Positives</a></p>
28
  </div>
29
  </div>
30
 
@@ -38,7 +26,7 @@
38
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-integrity-table">
39
  <thead>
40
  <tr>
41
- <th colspan="5">WordPress Integrity (%%SUCURI.Integrity.ListCount%% files)</th>
42
  </tr>
43
 
44
  <tr>
@@ -47,9 +35,9 @@
47
  <input id="cb-select-all-1" type="checkbox">
48
  </td>
49
  <th width="20" class="manage-column">&nbsp;</th>
50
- <th width="100" class="manage-column">File Size</th>
51
- <th width="200" class="manage-column">Modified At</th>
52
- <th class="manage-column">File Path</th>
53
  </tr>
54
  </thead>
55
 
@@ -59,32 +47,25 @@
59
  </table>
60
 
61
  <div class="sucuriscan-inline-alert-info">
62
- <p>
63
- Marking one or more files as fixed will force the plugin to ignore them during
64
- the next scan, very useful when you find false positives. Additionally you can
65
- restore the original content of the core files that appear as modified or deleted,
66
- this will tell the plugin to download a copy of the original files from the official
67
- <a href="https://core.svn.wordpress.org/tags/" target="_blank" rel="noopener">WordPress repository</a>.
68
- Deleting a file is an irreversible action, be careful.
69
- </p>
70
  </div>
71
 
72
  <p>
73
  <label>
74
  <input type="hidden" name="sucuriscan_process_form" value="0" />
75
  <input type="checkbox" name="sucuriscan_process_form" value="1" />
76
- <span>I understand that this operation can not be reverted.</span>
77
  </label>
78
  </p>
79
 
80
  <fieldset class="sucuriscan-clearfix">
81
- <label>Integrity Action:</label>
82
  <select name="sucuriscan_integrity_action">
83
- <option value="fixed">Mark as Fixed</option>
84
- <option value="restore">Restore File</option>
85
- <option value="delete">Delete File</option>
86
  </select>
87
- <button type="submit" class="button button-primary">Proceed</button>
88
  </fieldset>
89
  </form>
90
  </div>
2
  <div class="sucuriscan-panel sucuriscan-integrity sucuriscan-integrity-incorrect">
3
  <div class="sucuriscan-clearfix">
4
  <div class="sucuriscan-pull-left sucuriscan-integrity-left">
5
+ <h2 class="sucuriscan-title">@@SUCURI.IntegrityTitle@@</h2>
6
 
7
+ <p>@@SUCURI.IntegrityDescription@@</p>
 
 
 
 
 
 
8
  </div>
9
 
10
  <div class="sucuriscan-pull-right sucuriscan-integrity-right">
11
+ <h2 class="sucuriscan-subtitle">@@SUCURI.IntegrityBadTitle@@</h2>
12
 
13
+ <p>@@SUCURI.IntegrityBadDescription@@</p>
 
 
 
 
 
 
14
 
15
+ <p><a href="%%SUCURI.URL.Settings%%#scanner">@@SUCURI.ReviewFalsePositives@@</a></p>
16
  </div>
17
  </div>
18
 
26
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-integrity-table">
27
  <thead>
28
  <tr>
29
+ <th colspan="5">@@SUCURI.IntegrityTitle@@ (%%SUCURI.Integrity.ListCount%%)</th>
30
  </tr>
31
 
32
  <tr>
35
  <input id="cb-select-all-1" type="checkbox">
36
  </td>
37
  <th width="20" class="manage-column">&nbsp;</th>
38
+ <th width="100" class="manage-column">@@SUCURI.FileSize@@</th>
39
+ <th width="200" class="manage-column">@@SUCURI.ModifiedAt@@</th>
40
+ <th class="manage-column">@@SUCURI.FilePath@@</th>
41
  </tr>
42
  </thead>
43
 
47
  </table>
48
 
49
  <div class="sucuriscan-inline-alert-info">
50
+ <p>@@SUCURI.MarkFixedDescription@@</p>
 
 
 
 
 
 
 
51
  </div>
52
 
53
  <p>
54
  <label>
55
  <input type="hidden" name="sucuriscan_process_form" value="0" />
56
  <input type="checkbox" name="sucuriscan_process_form" value="1" />
57
+ <span>@@SUCURI.UnderstandTheRisk@@</span>
58
  </label>
59
  </p>
60
 
61
  <fieldset class="sucuriscan-clearfix">
62
+ <label>@@SUCURI.Action@@:</label>
63
  <select name="sucuriscan_integrity_action">
64
+ <option value="fixed">@@SUCURI.MarkFixed@@</option>
65
+ <option value="restore">@@SUCURI.RestoreFile@@</option>
66
+ <option value="delete">@@SUCURI.DeleteFile@@</option>
67
  </select>
68
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
69
  </fieldset>
70
  </form>
71
  </div>
inc/tpl/integrity-notification.html.tpl CHANGED
@@ -1,27 +1,18 @@
1
 
2
- <p>
3
- Changes in the integrity of your core files were detected, you may want to check
4
- each file to determine if they were infected with malicious code. The WordPress
5
- core directories <code>/&lt;root&gt;</code>, <code>/wp-admin</code> and <code>
6
- /wp-includes</code> are the only ones being scanned; the content, uploads, and
7
- custom directories are not part of the official archives so you have to check
8
- them manually.
9
- </p>
10
 
11
  <table border="1" cellspacing="1" cellpadding="5">
12
  <thead>
13
  <tr>
14
- <th colspan="5">
15
- Core integrity (%%SUCURI.Integrity.ListCount%% files)
16
- </th>
17
  </tr>
18
 
19
  <tr>
20
  <th>&nbsp;</th>
21
- <th width="80">Status</th>
22
- <th width="100">File Size</th>
23
- <th width="170">Modified At</th>
24
- <th>File Path</th>
25
  </tr>
26
  </thead>
27
 
@@ -32,22 +23,7 @@
32
  <tfoot>
33
  <tr>
34
  <td colspan="5">
35
- <p>
36
- <b>Note:</b> This is not a malware scanner but an integrity checker, if
37
- you want to check if your site is generating malicious code then use the
38
- <a href="%%SUCURI.URL.Scanner%%">malware scan</a> tool. If you see the
39
- text <em>"must be fixed manually"</em> in any of these files that means
40
- that they do not have write permissions so you can not fix them using
41
- this tool. Access the <a href="%%SUCURI.URL.Dashboard%%">admin area</a> of
42
- your website to fix these files.
43
- </p>
44
-
45
- <p>
46
- <b>Note:</b> Disable the <em>"Receive email alerts for core integrity
47
- checks"</em> option from the "Alerts" panel located in the plugin'
48
- settings page to stop receiving these emails, but keep an eye on the
49
- flagged files to keep your website clean.
50
- </p>
51
  </td>
52
  </tr>
53
  </tfoot>
1
 
2
+ <p>@@SUCURI.IntegrityBadDescription@@</p>
 
 
 
 
 
 
 
3
 
4
  <table border="1" cellspacing="1" cellpadding="5">
5
  <thead>
6
  <tr>
7
+ <th colspan="5">@@SUCURI.IntegrityTitle@@ (%%SUCURI.Integrity.ListCount%%)</th>
 
 
8
  </tr>
9
 
10
  <tr>
11
  <th>&nbsp;</th>
12
+ <th width="80">@@SUCURI.Status@@</th>
13
+ <th width="100">@@SUCURI.FileSize@@</th>
14
+ <th width="170">@@SUCURI.ModifiedAt@@</th>
15
+ <th>@@SUCURI.FilePath@@</th>
16
  </tr>
17
  </thead>
18
 
23
  <tfoot>
24
  <tr>
25
  <td colspan="5">
26
+ <p>@@SUCURI.MarkFixedDescription@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  </td>
28
  </tr>
29
  </tfoot>
inc/tpl/integrity.html.tpl CHANGED
@@ -19,15 +19,9 @@ jQuery(function ($) {
19
  <div class="sucuriscan-panel sucuriscan-integrity sucuriscan-integrity-loading">
20
  <div class="sucuriscan-clearfix">
21
  <div class="sucuriscan-pull-left sucuriscan-integrity-left">
22
- <h2 class="sucuriscan-title">WordPress Integrity</h2>
23
 
24
- <p>
25
- We inspect your WordPress installation and look for modifications
26
- on the core files as provided by WordPress.org. Files located in
27
- the root directory, wp-admin and wp-includes will be compared against
28
- the files distributed with v%%SUCURI.WordPressVersion%%; all files with
29
- inconsistencies will be listed here. Any changes might indicate a hack.
30
- </p>
31
  </div>
32
 
33
  <div class="sucuriscan-pull-right sucuriscan-integrity-right">
@@ -37,6 +31,6 @@ jQuery(function ($) {
37
  </div>
38
  </div>
39
 
40
- <p>Loading...</p>
41
  </div>
42
  </div>
19
  <div class="sucuriscan-panel sucuriscan-integrity sucuriscan-integrity-loading">
20
  <div class="sucuriscan-clearfix">
21
  <div class="sucuriscan-pull-left sucuriscan-integrity-left">
22
+ <h2 class="sucuriscan-title">@@SUCURI.IntegrityTitle@@</h2>
23
 
24
+ <p>@@SUCURI.IntegrityDescription@@</p>
 
 
 
 
 
 
25
  </div>
26
 
27
  <div class="sucuriscan-pull-right sucuriscan-integrity-right">
31
  </div>
32
  </div>
33
 
34
+ <p>@@SUCURI.Loading@@</p>
35
  </div>
36
  </div>
inc/tpl/lastlogins-admins.html.tpl CHANGED
@@ -1,18 +1,16 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Successful Logins (admins)</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Here you can see a list of all the successful logins of accounts with admin privileges.
8
- </p>
9
 
10
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-table-double-title sucuriscan-adminusers">
11
  <thead>
12
  <tr>
13
- <th class="manage-column">User</th>
14
- <th class="manage-column">Registration</th>
15
- <th class="manage-column">Last Logins (newest to oldest)</th>
16
  <th class="manage-column">&nbsp;</th>
17
  </tr>
18
  </thead>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.LoginsAdmins@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.LoginsAdminsInfo@@</p>
 
 
7
 
8
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-table-double-title sucuriscan-adminusers">
9
  <thead>
10
  <tr>
11
+ <th class="manage-column">@@SUCURI.Username@@</th>
12
+ <th class="manage-column">@@SUCURI.Registration@@</th>
13
+ <th class="manage-column">@@SUCURI.NewestLogins@@</th>
14
  <th class="manage-column">&nbsp;</th>
15
  </tr>
16
  </thead>
inc/tpl/lastlogins-admins.snippet.tpl CHANGED
@@ -6,14 +6,14 @@
6
 
7
  <td class="adminusers-lastlogin">
8
  <div class="sucuriscan-%%SUCURI.AdminUsers.NoLastLogins%%">
9
- <i>No data available.</i>
10
  </div>
11
 
12
  <table class="widefat sucuriscan-admins-lastlogins sucuriscan-%%SUCURI.AdminUsers.NoLastLoginsTable%%">
13
  <thead>
14
  <tr>
15
- <th>IP Address</th>
16
- <th>Date &amp; Time</th>
17
  </tr>
18
  </thead>
19
 
@@ -24,6 +24,6 @@
24
  </td>
25
 
26
  <td>
27
- <a href="%%SUCURI.AdminUsers.UserURL%%" target="_blank" class="button button-primary">Edit</a>
28
  </td>
29
  </tr>
6
 
7
  <td class="adminusers-lastlogin">
8
  <div class="sucuriscan-%%SUCURI.AdminUsers.NoLastLogins%%">
9
+ <em>@@SUCURI.NoData@@</em>
10
  </div>
11
 
12
  <table class="widefat sucuriscan-admins-lastlogins sucuriscan-%%SUCURI.AdminUsers.NoLastLoginsTable%%">
13
  <thead>
14
  <tr>
15
+ <th>@@SUCURI.RemoteAddr@@</th>
16
+ <th>@@SUCURI.Datetime@@</th>
17
  </tr>
18
  </thead>
19
 
24
  </td>
25
 
26
  <td>
27
+ <a href="%%SUCURI.AdminUsers.UserURL%%" target="_blank" class="button button-primary">@@SUCURI.Edit@@</a>
28
  </td>
29
  </tr>
inc/tpl/lastlogins-all.html.tpl CHANGED
@@ -1,23 +1,21 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Successful Logins (all)</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Here you can see a list of all the successful user logins.
8
- </p>
9
 
10
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-table-double-title sucuriscan-last-logins">
11
  <thead>
12
  <tr>
13
- <th colspan="5">User Last Logins (%%SUCURI.UserList.Total%%)</th>
14
  </tr>
15
 
16
  <tr>
17
- <th class="manage-column">User</th>
18
- <th class="manage-column">IP Address</th>
19
- <th class="manage-column">Hostname</th>
20
- <th class="manage-column">Date/Time</th>
21
  <th class="manage-column">&nbsp;</th>
22
  </tr>
23
  </thead>
@@ -27,7 +25,7 @@
27
 
28
  <tr class="sucuriscan-%%SUCURI.UserList.NoItemsVisibility%%">
29
  <td colspan="5">
30
- <em>No logs so far.</em>
31
  </td>
32
  </tr>
33
 
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.LoginsAll@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.LoginsAllInfo@@</p>
 
 
7
 
8
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-table-double-title sucuriscan-last-logins">
9
  <thead>
10
  <tr>
11
+ <th colspan="5">@@SUCURI.LoginsAll@@</th>
12
  </tr>
13
 
14
  <tr>
15
+ <th class="manage-column">@@SUCURI.Username@@</th>
16
+ <th class="manage-column">@@SUCURI.RemoteAddr@@</th>
17
+ <th class="manage-column">@@SUCURI.Hostname@@</th>
18
+ <th class="manage-column">@@SUCURI.Datetime@@</th>
19
  <th class="manage-column">&nbsp;</th>
20
  </tr>
21
  </thead>
25
 
26
  <tr class="sucuriscan-%%SUCURI.UserList.NoItemsVisibility%%">
27
  <td colspan="5">
28
+ <em>@@SUCURI.NoData@@</em>
29
  </td>
30
  </tr>
31
 
inc/tpl/lastlogins-all.snippet.tpl CHANGED
@@ -8,5 +8,5 @@
8
 
9
  <td><span title="%%SUCURI.UserList.Datetime%%">%%SUCURI.UserList.TimeAgo%%</span></td>
10
 
11
- <td><a href="%%SUCURI.UserList.UserURL%%" target="_blank">Edit</a></td>
12
  </tr>
8
 
9
  <td><span title="%%SUCURI.UserList.Datetime%%">%%SUCURI.UserList.TimeAgo%%</span></td>
10
 
11
+ <td><a href="%%SUCURI.UserList.UserURL%%" target="_blank">@@SUCURI.Edit@@</a></td>
12
  </tr>
inc/tpl/lastlogins-blockedusers.html.tpl CHANGED
@@ -1,31 +1,16 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Blocked Users</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Any user login passing accross the built-in mechanism that WordPress
8
- provides to authentication the session will be intercepted by the
9
- plugin and analyzed to see if the username is in the list of blocked
10
- accounts, if yes then the request will be stopped. No logs will be
11
- registered and no alerts will be sent to your email.
12
- </p>
13
 
14
  <div class="sucuriscan-inline-alert-info">
15
- <p>
16
- Take in consideration that this is not a 100% bulletproof mechanism
17
- to block unwanted user authentications from malicious users. Depending
18
- on the configuration of your website, installed plugins, installed
19
- themes, and even the version of WordPress there might still be weak
20
- points that automated tools can take advantage of to brute force the
21
- user accounts registered in your website. <a target="_blank"
22
- href="https://sucuri.net/website-firewall/?wp=bu">Install a firewall</a>
23
- to have full protection and mitigate this and a myriad of other attacks.
24
- </p>
25
  </div>
26
 
27
  <div class="sucuriscan-inline-alert-error">
28
- <p>Do not block existent accounts, they will lose access forever.</p>
29
  </div>
30
 
31
  <form action="%%SUCURI.URL.Lastlogins%%#blocked" method="post">
@@ -38,10 +23,10 @@
38
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
39
  <input id="cb-select-all-1" type="checkbox">
40
  </td>
41
- <th class="manage-column">Username</th>
42
- <th class="manage-column">Blocked At</th>
43
- <th class="manage-column">First Attempt</th>
44
- <th class="manage-column">Last Attempt</th>
45
  </tr>
46
  </thead>
47
 
@@ -50,13 +35,13 @@
50
 
51
  <tr class="sucuriscan-%%SUCURI.BlockedUsers.NoItemsVisibility%%">
52
  <td colspan="5">
53
- <em>The table is empty.</em>
54
  </td>
55
  </tr>
56
  </tbody>
57
  </table>
58
 
59
- <button type="submit" class="button button-primary">Unblock User</button>
60
  </form>
61
  </div>
62
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.BlockedUsers@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.BlockedUsersInfo@@</p>
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-info">
9
+ <p>@@SUCURI.BlockedUsersNote@@</p>
 
 
 
 
 
 
 
 
 
10
  </div>
11
 
12
  <div class="sucuriscan-inline-alert-error">
13
+ <p>@@SUCURI.BlockedUsersByIP@@</p>
14
  </div>
15
 
16
  <form action="%%SUCURI.URL.Lastlogins%%#blocked" method="post">
23
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
24
  <input id="cb-select-all-1" type="checkbox">
25
  </td>
26
+ <th class="manage-column">@@SUCURI.Username@@</th>
27
+ <th class="manage-column">@@SUCURI.BlockedAt@@</th>
28
+ <th class="manage-column">@@SUCURI.FirstAttempt@@</th>
29
+ <th class="manage-column">@@SUCURI.LastAttempt@@</th>
30
  </tr>
31
  </thead>
32
 
35
 
36
  <tr class="sucuriscan-%%SUCURI.BlockedUsers.NoItemsVisibility%%">
37
  <td colspan="5">
38
+ <em>@@SUCURI.NoData@@</em>
39
  </td>
40
  </tr>
41
  </tbody>
42
  </table>
43
 
44
+ <button type="submit" class="button button-primary">@@SUCURI.Unblock@@</button>
45
  </form>
46
  </div>
47
  </div>
inc/tpl/lastlogins-failedlogins.html.tpl CHANGED
@@ -1,31 +1,9 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Failed logins</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- This information will be used to determine if your site is being victim of
8
- <a href="https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing"
9
- target="_blank">Password Guessing Brute Force Attacks</a>. These logs will be
10
- accumulated and the plugin will send a report via email if there are more than
11
- <code>%%SUCURI.FailedLogins.MaxFailedLogins%%</code> failed login attempts during
12
- the same hour, you can change this number from <a href="%%SUCURI.URL.Settings%%#general">here</a>.
13
- <strong>Note.</strong> Some <em>"Two-Factor Authentication"</em> plugins do not
14
- follow the same rules that WordPress have to report failed login attempts, so
15
- you may not see all the attempts in this panel if you have one of these plugins
16
- installed.
17
- </p>
18
-
19
- <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.FailedLogins.WarningVisibility%%">
20
- <p>
21
- The option to alert possible <a href="https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing"
22
- target="_blank">Password Guessing Brute Force Attacks</a> is disabled, you will
23
- not receive email reports with the attempts collected during the attacks, but
24
- you will continue receiving the alerts of failed logins if you have enabled that
25
- option. Go to the <a href="%%SUCURI.URL.Settings%%#alerts">alert
26
- settings</a> panel to change this configuration.
27
- </p>
28
- </div>
29
 
30
  <form action="%%SUCURI.URL.Lastlogins%%#blocked" method="post">
31
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
@@ -37,11 +15,11 @@
37
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
38
  <input id="cb-select-all-1" type="checkbox">
39
  </td>
40
- <th class="manage-column">User</th>
41
- <th class="manage-column">Password</th>
42
- <th class="manage-column">IP Address</th>
43
- <th class="manage-column">Date/Time</th>
44
- <th class="manage-column" width="300">User-Agent</th>
45
  </tr>
46
  </thead>
47
 
@@ -50,7 +28,7 @@
50
 
51
  <tr class="sucuriscan-%%SUCURI.FailedLogins.NoItemsVisibility%%">
52
  <td colspan="6">
53
- <em>No logs so far.</em>
54
  </td>
55
  </tr>
56
 
@@ -64,7 +42,7 @@
64
  </tbody>
65
  </table>
66
 
67
- <button type="submit" class="button button-primary">Block Selected Users</button>
68
  </form>
69
  </div>
70
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.FailedLogins@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.FailedLoginsInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Lastlogins%%#blocked" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
15
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
16
  <input id="cb-select-all-1" type="checkbox">
17
  </td>
18
+ <th class="manage-column">@@SUCURI.Username@@</th>
19
+ <th class="manage-column">@@SUCURI.Password@@</th>
20
+ <th class="manage-column">@@SUCURI.RemoteAddr@@</th>
21
+ <th class="manage-column">@@SUCURI.Datetime@@</th>
22
+ <th class="manage-column" width="300">@@SUCURI.Browser@@</th>
23
  </tr>
24
  </thead>
25
 
28
 
29
  <tr class="sucuriscan-%%SUCURI.FailedLogins.NoItemsVisibility%%">
30
  <td colspan="6">
31
+ <em>@@SUCURI.NoData@@</em>
32
  </td>
33
  </tr>
34
 
42
  </tbody>
43
  </table>
44
 
45
+ <button type="submit" class="button button-primary">@@SUCURI.Block@@</button>
46
  </form>
47
  </div>
48
  </div>
inc/tpl/lastlogins-loggedin.html.tpl CHANGED
@@ -1,24 +1,22 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Logged-in Users</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Here you can see a list of the users that are currently logged-in.
8
- </p>
9
 
10
  <table class="wp-list-table widefat sucuriscan-loggedin-users">
11
  <thead>
12
  <tr>
13
- <th colspan="6">Logged-in Users (%%SUCURI.LoggedInUsers.Total%% users)</th>
14
  </tr>
15
 
16
  <tr>
17
  <th>ID</th>
18
- <th>Username</th>
19
- <th>Last Activity</th>
20
- <th>Registered</th>
21
- <th>IP Address</th>
22
  <th>&nbsp;</th>
23
  </tr>
24
  </thead>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.LoggedInUsers@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.LoggedInUsersInfo@@</p>
 
 
7
 
8
  <table class="wp-list-table widefat sucuriscan-loggedin-users">
9
  <thead>
10
  <tr>
11
+ <th colspan="6">@@SUCURI.LoggedInUsers@@</th>
12
  </tr>
13
 
14
  <tr>
15
  <th>ID</th>
16
+ <th>@@SUCURI.Username@@</th>
17
+ <th>@@SUCURI.LastActivity@@</th>
18
+ <th>@@SUCURI.Registered@@</th>
19
+ <th>@@SUCURI.RemoteAddr@@</th>
20
  <th>&nbsp;</th>
21
  </tr>
22
  </thead>
inc/tpl/lastlogins-loggedin.snippet.tpl CHANGED
@@ -10,5 +10,5 @@
10
 
11
  <td class="sucuriscan-monospace">%%SUCURI.LoggedInUsers.RemoveAddr%%</td>
12
 
13
- <td><a href="%%SUCURI.LoggedInUsers.UserURL%%" target="_blank">Edit</a></td>
14
  </tr>
10
 
11
  <td class="sucuriscan-monospace">%%SUCURI.LoggedInUsers.RemoveAddr%%</td>
12
 
13
+ <td><a href="%%SUCURI.LoggedInUsers.UserURL%%" target="_blank">@@SUCURI.Edit@@</a></td>
14
  </tr>
inc/tpl/lastlogins.html.tpl CHANGED
@@ -1,11 +1,11 @@
1
 
2
  <div class="sucuriscan-tabs">
3
  <ul class="sucuriscan-clearfix sucuriscan-tabs-buttons">
4
- <li><a href="%%SUCURI.URL.Lastlogins%%#allusers">All Users</a></li>
5
- <li><a href="%%SUCURI.URL.Lastlogins%%#admins">Admin Users</a></li>
6
- <li><a href="%%SUCURI.URL.Lastlogins%%#loggedin">Logged-in Users</a></li>
7
- <li><a href="%%SUCURI.URL.Lastlogins%%#failed">Failed Logins</a></li>
8
- <li><a href="%%SUCURI.URL.Lastlogins%%#blocked">Blocked Users</a></li>
9
  </ul>
10
 
11
  <div class="sucuriscan-tabs-containers">
1
 
2
  <div class="sucuriscan-tabs">
3
  <ul class="sucuriscan-clearfix sucuriscan-tabs-buttons">
4
+ <li><a href="%%SUCURI.URL.Lastlogins%%#allusers">@@SUCURI.AllUsers@@</a></li>
5
+ <li><a href="%%SUCURI.URL.Lastlogins%%#admins">@@SUCURI.Admins@@</a></li>
6
+ <li><a href="%%SUCURI.URL.Lastlogins%%#loggedin">@@SUCURI.LoggedInUsers@@</a></li>
7
+ <li><a href="%%SUCURI.URL.Lastlogins%%#failed">@@SUCURI.FailedLogins@@</a></li>
8
+ <li><a href="%%SUCURI.URL.Lastlogins%%#blocked">@@SUCURI.BlockedUsers@@</a></li>
9
  </ul>
10
 
11
  <div class="sucuriscan-tabs-containers">
inc/tpl/notification-pretty.html.tpl CHANGED
@@ -14,14 +14,14 @@
14
  <tbody>
15
  <tr>
16
  <td style="padding:20px 20px 10px 20px;border:1px solid #ccc;border-top:none">
17
- <h4 style="text-transform:uppercase;margin:0">Information:</h4>
18
  <p style="margin:0 0 10px 0">
19
- Website: <a href="http://%%SUCURI.Website%%">%%SUCURI.Website%%</a><br>
20
- IP Address: %%SUCURI.RemoteAddress%%<br>
21
- Alert Time: %%SUCURI.Time%%<br>
22
  %%SUCURI.User%%
23
  </p>
24
- <h4 style="text-transform:uppercase;margin:0">Notification Message:</h4>
25
  <p style="margin:0 0 10px 0">%%%SUCURI.Message%%%</p>
26
  </td>
27
  </tr>
14
  <tbody>
15
  <tr>
16
  <td style="padding:20px 20px 10px 20px;border:1px solid #ccc;border-top:none">
17
+ <h4 style="text-transform:uppercase;margin:0">@@SUCURI.Information@@:</h4>
18
  <p style="margin:0 0 10px 0">
19
+ @@SUCURI.Website@@: <a href="http://%%SUCURI.Website%%">%%SUCURI.Website%%</a><br>
20
+ @@SUCURI.RemoteAddr@@: %%SUCURI.RemoteAddress%%<br>
21
+ @@SUCURI.Datetime@@: %%SUCURI.Time%%<br>
22
  %%SUCURI.User%%
23
  </p>
24
+ <h4 style="text-transform:uppercase;margin:0">@@SUCURI.Message@@:</h4>
25
  <p style="margin:0 0 10px 0">%%%SUCURI.Message%%%</p>
26
  </td>
27
  </tr>
inc/tpl/notification-simple.html.tpl CHANGED
@@ -1,8 +1,8 @@
1
 
2
- Event: %%SUCURI.Subject%%
3
- Website: http://%%SUCURI.Website%%
4
- IP Address: %%SUCURI.RemoteAddress%%
5
- Alert Time: %%SUCURI.Time%%
6
  %%SUCURI.User%%
7
 
8
- Notification: %%SUCURI.Message%%
1
 
2
+ @@SUCURI.Event@@: %%SUCURI.Subject%%
3
+ @@SUCURI.Website@@: http://%%SUCURI.Website%%
4
+ @@SUCURI.RemoveAddr@@: %%SUCURI.RemoteAddress%%
5
+ @@SUCURI.Datetime@@: %%SUCURI.Time%%
6
  %%SUCURI.User%%
7
 
8
+ @@SUCURI.Message@@: %%SUCURI.Message%%
inc/tpl/register-site.html.tpl CHANGED
@@ -1,20 +1,8 @@
1
 
2
- <p>
3
- An API key is required to activate some additional tools available in this
4
- plugin, the keys are free and you can virtually generate an unlimited number of
5
- them as long as the domain name and email address are different. The key is used
6
- to authenticate the HTTP requests sent by the plugin to a public API service
7
- managed by Sucuri Inc. Do not generate the key if you disagree with this.
8
- </p>
9
 
10
  <div class="sucuriscan-inline-alert-info">
11
- <p>
12
- If you experience issues generating the API key you can request one sending the
13
- domain name and email address that you want to use to <a href="mailto:info@sucuri.net">
14
- info@sucuri.net</a>. Note that setting a key in a development environment does
15
- not makes sense, if you are trying to do that in a local or stage environment
16
- please consider to dismiss this alert.
17
- </p>
18
  </div>
19
 
20
  <form action="%%SUCURI.URL.Settings%%" method="post">
@@ -22,30 +10,27 @@
22
  <input type="hidden" name="sucuriscan_plugin_api_key" value="1" />
23
 
24
  <fieldset class="sucuriscan-clearfix">
25
- <label>Website:</label>
26
  <input type="text" value="%%SUCURI.CleanDomain%%" readonly="readonly">
27
  </fieldset>
28
 
29
  <fieldset class="sucuriscan-clearfix">
30
- <label>E-mail Address:</label>
31
  <select name="sucuriscan_setup_user">
32
  %%%SUCURI.AdminEmails%%%
33
  </select>
34
  </fieldset>
35
 
36
  <fieldset class="sucuriscan-clearfix">
37
- <label>DNS Lookups</label>
38
  <input type="hidden" name="sucuriscan_dns_lookups" value="disable" />
39
  <input type="checkbox" name="sucuriscan_dns_lookups" value="enable" checked="checked" />
40
- <span class="sucuriscan-tooltip" content="Check the box if your website is
41
- behind a known firewall service, this guarantees that the IP address of
42
- your visitors will be detected correctly for the security logs. You can
43
- change this later from the settings.">Enable DNS Lookups On Startup</span>
44
  </fieldset>
45
 
46
  <div class="sucuriscan-clearfix">
47
  <div class="sucuriscan-pull-left">
48
- <button type="submit" class="button button-primary">Proceed</button>
49
  </div>
50
  </div>
51
  </form>
1
 
2
+ <p>@@SUCURI.APIKeyExplanation@@</p>
 
 
 
 
 
 
3
 
4
  <div class="sucuriscan-inline-alert-info">
5
+ <p>@@SUCURI.APIKeyHelp@@</p>
 
 
 
 
 
 
6
  </div>
7
 
8
  <form action="%%SUCURI.URL.Settings%%" method="post">
10
  <input type="hidden" name="sucuriscan_plugin_api_key" value="1" />
11
 
12
  <fieldset class="sucuriscan-clearfix">
13
+ <label>@@SUCURI.Website@@:</label>
14
  <input type="text" value="%%SUCURI.CleanDomain%%" readonly="readonly">
15
  </fieldset>
16
 
17
  <fieldset class="sucuriscan-clearfix">
18
+ <label>@@SUCURI.Email@@:</label>
19
  <select name="sucuriscan_setup_user">
20
  %%%SUCURI.AdminEmails%%%
21
  </select>
22
  </fieldset>
23
 
24
  <fieldset class="sucuriscan-clearfix">
25
+ <label>@@SUCURI.DNSLookups@@</label>
26
  <input type="hidden" name="sucuriscan_dns_lookups" value="disable" />
27
  <input type="checkbox" name="sucuriscan_dns_lookups" value="enable" checked="checked" />
28
+ <span class="sucuriscan-tooltip" content="@@SUCURI.DNSLookupsText@@">@@SUCURI.DNSLookupsLabel@@</span>
 
 
 
29
  </fieldset>
30
 
31
  <div class="sucuriscan-clearfix">
32
  <div class="sucuriscan-pull-left">
33
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
34
  </div>
35
  </div>
36
  </form>
inc/tpl/settings-alerts-bruteforce.html.tpl CHANGED
@@ -1,34 +1,18 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Password Guessing Brute Force Attacks</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Password guessing brute force attacks are very common against web sites and web
8
- servers. They are one of the most common vectors used to compromise web sites.
9
- The process is very simple and the attackers basically try multiple combinations
10
- of usernames and passwords until they find one that works. Once they get in,
11
- they can compromise the web site with malware, spam , phishing or anything else
12
- they want.
13
- </p>
14
-
15
- <p>
16
- More info at <a href="https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing"
17
- target="_blank">Sucuri KB - Password Guessing Brute Force Attacks</a>.
18
- </p>
19
-
20
- <div class="sucuriscan-inline-alert-error">
21
- <p>This option overrides the <em>"Alerts Per Hour"</em> setting.</p>
22
- </div>
23
 
24
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
25
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
26
  <fieldset class="sucuriscan-clearfix">
27
- <label>Consider Brute-Force Attack After:</label>
28
  <select name="sucuriscan_maximum_failed_logins">
29
  %%%SUCURI.Alerts.BruteForce%%%
30
  </select>
31
- <button type="submit" class="button button-primary">Save</button>
32
  </fieldset>
33
  </form>
34
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.PasswordAttack@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.PasswordAttackInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
10
  <fieldset class="sucuriscan-clearfix">
11
+ <label>@@SUCURI.PasswordAttackAfter@@:</label>
12
  <select name="sucuriscan_maximum_failed_logins">
13
  %%%SUCURI.Alerts.BruteForce%%%
14
  </select>
15
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
16
  </fieldset>
17
  </form>
18
  </div>
inc/tpl/settings-alerts-events.html.tpl CHANGED
@@ -1,24 +1,8 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Alert Events</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Configure the alert settings to your needs, and make sure to read the purpose of
8
- each option below otherwise you will end up enabling and/or disabling things
9
- that will affect your personal inbox. If you experience issues with one or more
10
- of these options revert them to their original state.
11
- </p>
12
-
13
- <div class="sucuriscan-inline-alert-error">
14
- <p>
15
- Enabling the alerts for failed login attempts may become an indirect mail spam
16
- attack as you will receive tons of emails if your website is victim of a brute
17
- force attack. Disable this option and enable the brute force attack reports to
18
- get a summary of all the failed logins detected each hour.
19
- </p>
20
- </div>
21
-
22
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
23
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
24
 
@@ -29,7 +13,7 @@
29
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
30
  <input id="cb-select-all-1" type="checkbox">
31
  </td>
32
- <th class="manage-column">Event Description</th>
33
  </tr>
34
  </thead>
35
 
@@ -39,7 +23,7 @@
39
  </table>
40
 
41
  <div class="sucuriscan-recipient-form">
42
- <button type="submit" name="sucuriscan_save_alert_events" class="button button-primary">Save</button>
43
  </div>
44
  </form>
45
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.SecurityAlerts@@</h3>
4
 
5
  <div class="inside">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
7
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
8
 
13
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
14
  <input id="cb-select-all-1" type="checkbox">
15
  </td>
16
+ <th class="manage-column">@@SUCURI.Event@@</th>
17
  </tr>
18
  </thead>
19
 
23
  </table>
24
 
25
  <div class="sucuriscan-recipient-form">
26
+ <button type="submit" name="sucuriscan_save_alert_events" class="button button-primary">@@SUCURI.Submit@@</button>
27
  </div>
28
  </form>
29
  </div>
inc/tpl/settings-alerts-ignore-posts.html.tpl CHANGED
@@ -1,44 +1,24 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Ignore Post Changes</h3>
4
 
5
  <div class="inside">
6
  <p class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.IgnoreRules.MessageVisibility%%">
7
- It seems that you disabled the email alerts for <b>new site
8
- content</b>, this panel is intended to provide a way to ignore
9
- specific events in your site and with that the alerts reported to
10
- your email. Since you have deactivated the <b>new site content</b>
11
- alerts, this panel will be disabled too.
12
  </p>
13
 
14
- <p>
15
- This is a list of registered <a href="https://codex.wordpress.org/Post_Types"
16
- target="_blank" rel="noopener">Post Types</a>. You will receive an email alert when
17
- a custom page or post associated to any of these types is created or
18
- updated. Some of these are created by WordPress but the majority are
19
- created by 3rd-party plugins and themes to extend functionality from
20
- WordPress. If you don't want to receive alerts for certain posts you
21
- can stop them from here.
22
- </p>
23
 
24
- <p>
25
- If you are receiving alerts for post types that are not listed here it
26
- may be because the theme or plugin that is making these changes is
27
- registering the custom post-type on runtime, in this case our plugin
28
- will not be able to detect these changes and consequently you will
29
- not be able to ignore those alerts. However, if you know the unique
30
- identifier of the post-type you can type it in the form bellow and
31
- our plugin will do its best to skip the alerts associated to that.
32
- </p>
33
 
34
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
35
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
36
  <input type="hidden" name="sucuriscan_ignorerule_action" value="add">
37
 
38
  <fieldset class="sucuriscan-clearfix">
39
- <label>Stop Alerts For This Post-Type:</label>
40
  <input type="text" name="sucuriscan_ignorerule" placeholder="e.g. unique_post_type_id" />
41
- <button type="submit" class="button button-primary">Proceed</button>
42
  </fieldset>
43
  </form>
44
 
@@ -47,9 +27,9 @@
47
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-settings-ignorerules">
48
  <thead>
49
  <tr>
50
- <th>Ignored At</th>
51
- <th>Ignored</th>
52
- <th>Post Type</th>
53
  <th>&nbsp;</th>
54
  </tr>
55
  </thead>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.PostTypeAlerts@@</h3>
4
 
5
  <div class="inside">
6
  <p class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.IgnoreRules.MessageVisibility%%">
7
+ @@SUCURI.PostTypeAlertsDisabled@@
 
 
 
 
8
  </p>
9
 
10
+ <p>@@SUCURI.PostTypeAlertsInfo@@</p>
 
 
 
 
 
 
 
 
11
 
12
+ <p>@@SUCURI.PostTypeAlertsInvisible@@</p>
 
 
 
 
 
 
 
 
13
 
14
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
15
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
16
  <input type="hidden" name="sucuriscan_ignorerule_action" value="add">
17
 
18
  <fieldset class="sucuriscan-clearfix">
19
+ <label>@@SUCURI.PostTypeAlertsStop@@:</label>
20
  <input type="text" name="sucuriscan_ignorerule" placeholder="e.g. unique_post_type_id" />
21
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
22
  </fieldset>
23
  </form>
24
 
27
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-settings-ignorerules">
28
  <thead>
29
  <tr>
30
+ <th>@@SUCURI.IgnoredAt@@</th>
31
+ <th>@@SUCURI.Ignored@@</th>
32
+ <th>@@SUCURI.PostType@@</th>
33
  <th>&nbsp;</th>
34
  </tr>
35
  </thead>
inc/tpl/settings-alerts-perhour.html.tpl CHANGED
@@ -1,34 +1,18 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Alerts Per Hour</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Depending on the number of yours registered in your website or the number of
8
- actions performed by these users the recipients of the alerts sent when the site
9
- triggers an action that the plugin monitors may become annoying or irrelevant
10
- after some time. You can use this option to configure the maximum number of
11
- alerts to receive during the same hour.
12
- </p>
13
-
14
- <div class="sucuriscan-inline-alert-error">
15
- <p>
16
- If you have enabled the alerts for <a href="https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing"
17
- target="_blank">password guessing brute force attacks</a> and lowered the number
18
- of alerts sent during the hour has reached its limit, the plugin will force the
19
- sending of the alert; you can consider the limit for alerts per hour a
20
- <em>"limit + one"</em> if the brute force attack summary is generated.
21
- </p>
22
- </div>
23
 
24
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
25
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
26
  <fieldset class="sucuriscan-clearfix">
27
- <label>Maximum Alerts Per Hour:</label>
28
  <select name="sucuriscan_emails_per_hour">
29
  %%%SUCURI.Alerts.PerHour%%%
30
  </select>
31
- <button type="submit" class="button button-primary">Save</button>
32
  </fieldset>
33
  </form>
34
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.AlertsPerHour@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.AlertsPerHourInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
10
  <fieldset class="sucuriscan-clearfix">
11
+ <label>@@SUCURI.AlertsPerHourMaximum@@:</label>
12
  <select name="sucuriscan_emails_per_hour">
13
  %%%SUCURI.Alerts.PerHour%%%
14
  </select>
15
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
16
  </fieldset>
17
  </form>
18
  </div>
inc/tpl/settings-alerts-recipients.html.tpl CHANGED
@@ -1,34 +1,17 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Alert Recipients</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- By default the plugin will send email alerts to the email address of the
8
- original user account created during the installation process of your website,
9
- you can change this adding a new address below and then deleting the old entry.
10
- Additionally, you are allowed to send a copy of the same alerts to other email
11
- addresses.
12
- </p>
13
-
14
- <div class="sucuriscan-inline-alert-info">
15
- <p>
16
- Make sure to check your spam folder if you do not see the alerts in your inbox,
17
- if at least one of the recipients listed below receives the alert it means that
18
- the message was delivered correctly, if you or one of the other recipients is
19
- not receiving the alerts is probably because of a filter in your email service.
20
- This is because the plugin only sends one single message per alert, so either
21
- everyone gets the message or no one gets it.
22
- </p>
23
- </div>
24
 
25
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
26
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
27
 
28
  <fieldset class="sucuriscan-clearfix">
29
- <label>E-mail Address:</label>
30
  <input type="text" name="sucuriscan_recipient" placeholder="e.g. user@example.com" />
31
- <button type="submit" name="sucuriscan_save_recipient" class="button button-primary">Add Recipient</button>
32
  </fieldset>
33
 
34
  <table class="wp-list-table widefat sucuriscan-table">
@@ -38,7 +21,7 @@
38
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
39
  <input id="cb-select-all-1" type="checkbox">
40
  </td>
41
- <th class="manage-column">E-mail Address</th>
42
  </tr>
43
  </thead>
44
 
@@ -47,8 +30,8 @@
47
  </tbody>
48
  </table>
49
 
50
- <button type="submit" name="sucuriscan_delete_recipients" class="button button-primary">Delete Selected</button>
51
- <button type="submit" name="sucuriscan_debug_email" value="1" class="button button-primary">Test Alert Delivery</button>
52
  </form>
53
  </div>
54
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.AlertsRecipient@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.AlertsRecipientInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
10
 
11
  <fieldset class="sucuriscan-clearfix">
12
+ <label>@@SUCURI.Email@@:</label>
13
  <input type="text" name="sucuriscan_recipient" placeholder="e.g. user@example.com" />
14
+ <button type="submit" name="sucuriscan_save_recipient" class="button button-primary">@@SUCURI.Submit@@</button>
15
  </fieldset>
16
 
17
  <table class="wp-list-table widefat sucuriscan-table">
21
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
22
  <input id="cb-select-all-1" type="checkbox">
23
  </td>
24
+ <th class="manage-column">@@SUCURI.Email@@</th>
25
  </tr>
26
  </thead>
27
 
30
  </tbody>
31
  </table>
32
 
33
+ <button type="submit" name="sucuriscan_delete_recipients" class="button button-primary">@@SUCURI.Delete@@</button>
34
+ <button type="submit" name="sucuriscan_debug_email" value="1" class="button button-primary">@@SUCURI.TestAlerts@@</button>
35
  </form>
36
  </div>
37
  </div>
inc/tpl/settings-alerts-subject.html.tpl CHANGED
@@ -1,15 +1,9 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Alert Subject</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Format of the subject for the email alerts, by default the plugin will use the
8
- website name and the event identifier that is being reported, you can use this
9
- panel to include the IP address of that user that triggered the event and some
10
- additional data. You can create filters in your email client creating a custom
11
- email subject using the pseudo-tags shown below.
12
- </p>
13
 
14
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
15
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
@@ -20,14 +14,14 @@
20
  <li>
21
  <label>
22
  <input type="radio" name="sucuriscan_email_subject" value="custom" %%SUCURI.Alerts.CustomChecked%% />
23
- <span>Custom format</span>
24
  <input type="text" name="sucuriscan_custom_email_subject" value="%%SUCURI.Alerts.CustomValue%%" />
25
  </label>
26
  </li>
27
  </ul>
28
 
29
  <div class="sucuriscan-recipient-form">
30
- <button type="submit" class="button button-primary">Save</button>
31
  </div>
32
  </form>
33
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.AlertsSubject@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.AlertsSubjectInfo@@</p>
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%#alerts" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
14
  <li>
15
  <label>
16
  <input type="radio" name="sucuriscan_email_subject" value="custom" %%SUCURI.Alerts.CustomChecked%% />
17
+ <span>@@SUCURI.CustomFormat@@</span>
18
  <input type="text" name="sucuriscan_custom_email_subject" value="%%SUCURI.Alerts.CustomValue%%" />
19
  </label>
20
  </li>
21
  </ul>
22
 
23
  <div class="sucuriscan-recipient-form">
24
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
25
  </div>
26
  </form>
27
  </div>
inc/tpl/settings-alerts-trustedips.html.tpl CHANGED
@@ -1,23 +1,17 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Trusted IP Addresses</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- If you are working in a LAN <em>(Local Area Network)</em> you may want to
8
- include the IP addresses of all the nodes in the subnet, this will force the
9
- plugin to stop sending email alerts about actions executed from trusted
10
- IP addresses. Use the CIDR <em>(Classless Inter Domain Routing)</em> format to
11
- specify ranges of IP addresses <em>(only 8, 16, and 24)</em>.
12
- </p>
13
 
14
  <form action="%%SUCURI.URL.Settings%%#alerts" method="POST">
15
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
16
 
17
  <fieldset class="sucuriscan-clearfix">
18
- <label>Trust New IP Address:</label>
19
  <input type="text" name="sucuriscan_trust_ip" placeholder="e.g. 182.120.56.0/24" />
20
- <input type="submit" value="Add Entry" class="button button-primary" />
21
  </fieldset>
22
  </form>
23
 
@@ -33,9 +27,9 @@
33
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
34
  <input id="cb-select-all-1" type="checkbox">
35
  </td>
36
- <th class="manage-column">IP Address</th>
37
- <th class="manage-column">CIDR Format</th>
38
- <th class="manage-column">Added At</th>
39
  </tr>
40
  </thead>
41
 
@@ -44,13 +38,13 @@
44
 
45
  <tr class="sucuriscan-%%SUCURI.TrustedIPs.NoItems.Visibility%%">
46
  <td colspan="4">
47
- <em>List is empty.</em>
48
  </td>
49
  </tr>
50
  </tbody>
51
  </table>
52
 
53
- <button type="submit" class="button button-primary">Remove Trusted IP Addresses</button>
54
  </form>
55
  </div>
56
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.TrustedIPs@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.TrustedIPsInfo@@</p>
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%#alerts" method="POST">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
10
 
11
  <fieldset class="sucuriscan-clearfix">
12
+ <label>@@SUCURI.RemoteAddr@@:</label>
13
  <input type="text" name="sucuriscan_trust_ip" placeholder="e.g. 182.120.56.0/24" />
14
+ <input type="submit" value="@@SUCURI.Submit@@" class="button button-primary" />
15
  </fieldset>
16
  </form>
17
 
27
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
28
  <input id="cb-select-all-1" type="checkbox">
29
  </td>
30
+ <th class="manage-column">@@SUCURI.RemoteAddr@@</th>
31
+ <th class="manage-column">@@SUCURI.CIDRFormat@@</th>
32
+ <th class="manage-column">@@SUCURI.IPAddedAt@@</th>
33
  </tr>
34
  </thead>
35
 
38
 
39
  <tr class="sucuriscan-%%SUCURI.TrustedIPs.NoItems.Visibility%%">
40
  <td colspan="4">
41
+ <em>@@SUCURI.NoData@@</em>
42
  </td>
43
  </tr>
44
  </tbody>
45
  </table>
46
 
47
+ <button type="submit" class="button button-primary">@@SUCURI.Delete@@</button>
48
  </form>
49
  </div>
50
  </div>
inc/tpl/settings-apirecovery.html.tpl CHANGED
@@ -1,29 +1,15 @@
1
 
2
  <div class="sucuriscan-clearfix">
3
- <p>
4
- If this operation was successful you will receive a message in the email used
5
- during the registration of the API key <em>(usually the email of the main admin
6
- user)</em>, this message contains the key in plain text, copy and paste the key
7
- in the form field below. The plugin will verify the authenticity of the key
8
- sending an initial HTTP request to the API service, if this fails the key will
9
- be removed automatically and you will have to start the process all over again.
10
- </p>
11
 
12
- <p>
13
- There are cases where this operation can fail, an example would be when the
14
- email address is not associated with the domain anymore, this happens when the
15
- base URL changes <em>(from www to none or viceversa)</em>. There is also a limit
16
- on the number of recovery attempts that you may request during certain period of
17
- time, if you are having issues recovering the key please send an email explaining
18
- the situation to <a href="mailto:info@sucuri.net">info@sucuri.net</a>
19
- </p>
20
 
21
  <form action="%%SUCURI.URL.Settings%%" method="post">
22
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
23
  <fieldset class="sucuriscan-clearfix">
24
- <label>Plugin API Key:</label>
25
  <input type="text" name="sucuriscan_manual_api_key" />
26
- <button type="submit" class="button button-primary">Proceed</button>
27
  </fieldset>
28
  </form>
29
  </div>
1
 
2
  <div class="sucuriscan-clearfix">
3
+ <p>@@SUCURI.APIKeyRecoveryExplanation@@</p>
 
 
 
 
 
 
 
4
 
5
+ <p>@@SUCURI.APIKeyRecoveryPossibleFailures@@</p>
 
 
 
 
 
 
 
6
 
7
  <form action="%%SUCURI.URL.Settings%%" method="post">
8
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
9
  <fieldset class="sucuriscan-clearfix">
10
+ <label>@@SUCURI.APIKey@@:</label>
11
  <input type="text" name="sucuriscan_manual_api_key" />
12
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
13
  </fieldset>
14
  </form>
15
  </div>
inc/tpl/settings-apiregistered.html.tpl CHANGED
@@ -3,25 +3,13 @@
3
  <div class="sucuriscan-pull-left sucuriscan-sitelogo">&nbsp;</div>
4
 
5
  <div class="sucuriscan-pull-right">
6
- <p>
7
- Thanks so much for enabling your <strong>Sucuri Security</strong> plugin. This
8
- product is designed to supplement existing security products. It's not a silver
9
- bullet for your security needs, but it'll give you greater security awareness
10
- and better posture, all with the intent of reducing risk.
11
- </p>
12
 
13
  <div class="sucuriscan-inline-alert-success">
14
- <p>
15
- Your website has been granted a new API key and it was
16
- associated to the email address that you chose during the
17
- registration process. You can use the same email to recover the
18
- key if you happen to lose it sometime. We encourage you to check
19
- the rest of the settings page and configure the plugin to your
20
- own needs.
21
- </p>
22
  </div>
23
 
24
- <a href="%%SUCURI.URL.Dashboard%%" class="button button-primary">Dashboard</a>
25
- <a href="%%SUCURI.URL.Settings%%" class="button button-primary">Settings</a>
26
  </div>
27
  </div>
3
  <div class="sucuriscan-pull-left sucuriscan-sitelogo">&nbsp;</div>
4
 
5
  <div class="sucuriscan-pull-right">
6
+ <p>@@SUCURI.APIKeyGenerated@@</p>
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-success">
9
+ <p>@@SUCURI.APIKeyContinueSetup@@</p>
 
 
 
 
 
 
 
10
  </div>
11
 
12
+ <a href="%%SUCURI.URL.Dashboard%%" class="button button-primary">@@SUCURI.Dashboard@@</a>
13
+ <a href="%%SUCURI.URL.Settings%%" class="button button-primary">@@SUCURI.Settings@@</a>
14
  </div>
15
  </div>
inc/tpl/settings-apiservice-proxy.html.tpl CHANGED
@@ -1,24 +1,15 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">API Communication via Proxy</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- All the HTTP requests used to communicate with the API service are
8
- being sent using the WordPress built-in functions, so (almost) all
9
- its official features are inherited, this is useful if you need to
10
- pass these HTTP requests through a proxy. According to the
11
- <a href="https://developer.wordpress.org/reference/classes/wp_http_proxy/"
12
- target="_blank" rel="noopener">official documentation</a> you have to add some
13
- constants to the main configuration file: <em>WP_PROXY_HOST,
14
- WP_PROXY_PORT, WP_PROXY_USERNAME, WP_PROXY_PASSWORD</em>.
15
- </p>
16
 
17
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-monospace">
18
- <div>HTTP Proxy Hostname: %%SUCURI.APIProxy.Host%%</div>
19
- <div>HTTP Proxy Port num: %%SUCURI.APIProxy.Port%%</div>
20
- <div>HTTP Proxy Username: %%SUCURI.APIProxy.Username%%</div>
21
- <div>HTTP Proxy Password: <span class="sucuriscan-label-%%SUCURI.APIProxy.PasswordType%%">%%SUCURI.APIProxy.PasswordText%%</span></div>
22
  </div>
23
  </div>
24
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.APIViaProxy@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.APIViaProxyInfo@@</p>
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-monospace">
9
+ <div>@@SUCURI.ProxyHostname@@: %%SUCURI.APIProxy.Host%%</div>
10
+ <div>@@SUCURI.ProxyPort@@: %%SUCURI.APIProxy.Port%%</div>
11
+ <div>@@SUCURI.ProxyUsername@@: %%SUCURI.APIProxy.Username%%</div>
12
+ <div>@@SUCURI.ProxyPassword@@: <span class="sucuriscan-label-%%SUCURI.APIProxy.PasswordType%%">%%SUCURI.APIProxy.PasswordText%%</span></div>
13
  </div>
14
  </div>
15
  </div>
inc/tpl/settings-apiservice-status.html.tpl CHANGED
@@ -1,40 +1,16 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">API Service Communication</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Once the API key is generate the plugin will communicate with a remote API
8
- service that will act as a safe data storage for the audit logs generated when
9
- the website triggers certain events that the plugin monitors. If the website is
10
- hacked the attacker will not have access to these logs and that way you can
11
- investigate what was modified <em>(for malware infaction)</em> and/or how the
12
- malicious person was able to gain access to the website.
13
- </p>
14
-
15
- <div class="sucuriscan-inline-alert-info sucuriscan-%%SUCURI.ApiStatus.WarningVisibility%%">
16
- <p>
17
- The latency of the HTTP requests may slow down the website depending on the
18
- location of the server that is hosting it. Additionally, if the API goes down
19
- the plugin will throw warnings that may affect your workflow, in this case you
20
- may want to stop the communication with the API service to keep the latency at
21
- zero and be able to continue working in the website without interruptions.
22
- </p>
23
- </div>
24
 
25
  <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.ApiStatus.ErrorVisibility%%">
26
- <p>
27
- Disabling the API service communication will stop the event monitoring, consider
28
- to enable the <a href="%%SUCURI.URL.Settings%%#general">Log Exporter</a> to
29
- keep the monitoring working while the HTTP requests are ignored, otherwise an
30
- attacker may execute an action that will not be registered in the security logs
31
- and you will not have a way to investigate the attack in the future.
32
- </p>
33
  </div>
34
 
35
  <div class="sucuriscan-hstatus sucuriscan-hstatus-%%SUCURI.ApiStatus.StatusNum%%">
36
- <span>API Service Communication is %%SUCURI.ApiStatus.Status%%</span>
37
- &mdash;
38
  <span class="sucuriscan-monospace">%%SUCURI.ApiStatus.ServiceURL%%</span>
39
  <form action="%%SUCURI.URL.Settings%%#apiservice" method="post">
40
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.APICommunication@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.APICommunicationInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.ApiStatus.ErrorVisibility%%">
9
+ <p>@@SUCURI.APICommunicationDisabled@@</p>
 
 
 
 
 
 
10
  </div>
11
 
12
  <div class="sucuriscan-hstatus sucuriscan-hstatus-%%SUCURI.ApiStatus.StatusNum%%">
13
+ <span>@@SUCURI.APICommunication@@ &mdash; %%SUCURI.ApiStatus.Status%% &mdash;</span>
 
14
  <span class="sucuriscan-monospace">%%SUCURI.ApiStatus.ServiceURL%%</span>
15
  <form action="%%SUCURI.URL.Settings%%#apiservice" method="post">
16
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
inc/tpl/settings-apiservice-timeout.html.tpl CHANGED
@@ -1,39 +1,20 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">API Request Timeout</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- The plugin sends the data associated to the events triggered by WordPress when
8
- it considers the action is suspicious, it sends this information via HTTP requests
9
- using the HTTP transport protocol available in the system and the <a target="_blank"
10
- href="https://developer.wordpress.org/reference/functions/wp_remote_post/" rel="noopener">built-in
11
- functions</a> provided by WordPress, then it waits for the response.
12
- </p>
13
-
14
- <div class="sucuriscan-inline-alert-info">
15
- <p>
16
- You can set up to %%SUCURI.MaxRequestTimeout%% seconds for the timeout, more than that is not allowed.
17
- </p>
18
- </div>
19
 
20
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
21
- <span>Wait <b>%%SUCURI.RequestTimeout%%</b> before timeout</span>
22
  </div>
23
 
24
- <p>
25
- If you start experiencing issues related with the timeout of the requests
26
- you may consider to increase the number of seconds to wait for the response.
27
- You may also want to check with your hosting provider to see if there is
28
- something in the server blocking the connection.
29
- </p>
30
-
31
  <form action="%%SUCURI.URL.Settings%%#apiservice" method="post">
32
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
33
  <fieldset class="sucuriscan-clearfix">
34
- <label>HTTP Request Timeout (in secs)</label>
35
  <input type="text" name="sucuriscan_request_timeout" />
36
- <button type="submit" class="button button-primary">Proceed</button>
37
  </fieldset>
38
  </form>
39
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.APITimeout@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.APITimeoutInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
9
+ <span>@@SUCURI.APITimeoutValue@@</span>
10
  </div>
11
 
 
 
 
 
 
 
 
12
  <form action="%%SUCURI.URL.Settings%%#apiservice" method="post">
13
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
14
  <fieldset class="sucuriscan-clearfix">
15
+ <label>@@SUCURI.APITimeoutLabel@@</label>
16
  <input type="text" name="sucuriscan_request_timeout" />
17
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
18
  </fieldset>
19
  </form>
20
  </div>
inc/tpl/settings-general-apikey.html.tpl CHANGED
@@ -4,65 +4,36 @@
4
  %%%SUCURI.ModalForApiKeyRecovery%%%
5
 
6
  <div class="sucuriscan-panel">
7
- <h3 class="sucuriscan-title">Plugin API Key</h3>
8
 
9
  <div class="inside">
10
- <p>
11
- Most of the tools in this plugin can be used without a specific configuration,
12
- but the core features <strong>require an API key</strong> to communicate with
13
- the Sucuri services. The key is generated using your administrator e-mail and
14
- the domain of this site, this will allow you to have access to our free
15
- monitoring tool and other extra features.
16
- </p>
17
 
18
  <div class="sucuriscan-inline-alert-info">
19
- <p>
20
-
21
- Generating an API key implies that you agree to send the information collected
22
- by the plugin to the Sucuri API service which is a remote server where the
23
- information for the audit logs is stored, this is to prevent malicious users to
24
- delete the logs during an attack which may affect an investigation if you
25
- suspect that your website was hacked. We also use this information to display <a
26
- href="https://sucuri.net/security-reports/brute-force/" target="_blank">statistics
27
- </a> and try to use the data in an anonymous way as we are concerned about your
28
- privacy too. Please do not generate an API key if you do not agree with this,
29
- you can keep using the plugin without it anyway.
30
- </p>
31
  </div>
32
 
33
  <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.InvalidDomainVisibility%%">
34
- <p>
35
- Your domain <code>%%SUCURI.CleanDomain%%</code> does not seems to have a DNS
36
- <code>A</code> record so it will be considered as <em>invalid</em> by the API
37
- interface when you request the generation of a new key. Adding <code>www</code>
38
- at the beginning of the domain name may fix this issue. If you do not understand
39
- what is this then send an email to our support team requesting the key.
40
- </p>
41
  </div>
42
 
43
  <div class="sucuriscan-%%SUCURI.APIKey.RecoverVisibility%%">
44
  <div class="sucuriscan-hstatus sucuriscan-hstatus-0">
45
- <div class="sucuriscan-monospace">Plugin API Key: %%SUCURI.APIKey%%</div>
46
  <form action="%%SUCURI.URL.Settings%%" method="post">
47
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
48
- <button type="submit" name="sucuriscan_recover_key" class="button button-primary">Recover Via E-mail</button>
49
  </form>
50
  </div>
51
 
52
- <p>
53
- If you don't have access to the e-mail address used to generate the
54
- API key, but have a copy of the key at hand you can <a target="_self"
55
- href="%%SUCURI.URL.Settings%%&recover">click this link</a> to activate
56
- the plugin manually. Be aware that if the key is invalid the plugin will
57
- delete it afterwards.
58
- </p>
59
  </div>
60
 
61
  <div class="sucuriscan-hstatus sucuriscan-hstatus-1 sucuriscan-%%SUCURI.APIKey.RemoveVisibility%%">
62
- <div class="sucuriscan-monospace">Plugin API Key: %%SUCURI.APIKey%%</div>
63
  <form action="%%SUCURI.URL.Settings%%" method="post">
64
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
65
- <button type="submit" name="sucuriscan_remove_api_key" class="button button-primary">Remove</button>
66
  </form>
67
  </div>
68
  </div>
4
  %%%SUCURI.ModalForApiKeyRecovery%%%
5
 
6
  <div class="sucuriscan-panel">
7
+ <h3 class="sucuriscan-title">@@SUCURI.APIKey@@</h3>
8
 
9
  <div class="inside">
10
+ <p>@@SUCURI.APIKeyInfo@@</p>
 
 
 
 
 
 
11
 
12
  <div class="sucuriscan-inline-alert-info">
13
+ <p>@@SUCURI.APIKeyTerms@@</p>
 
 
 
 
 
 
 
 
 
 
 
14
  </div>
15
 
16
  <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.InvalidDomainVisibility%%">
17
+ <p>@@SUCURI.APIKeyInvalidDomain@@</p>
 
 
 
 
 
 
18
  </div>
19
 
20
  <div class="sucuriscan-%%SUCURI.APIKey.RecoverVisibility%%">
21
  <div class="sucuriscan-hstatus sucuriscan-hstatus-0">
22
+ <div class="sucuriscan-monospace">@@SUCURI.APIKey@@: %%SUCURI.APIKey%%</div>
23
  <form action="%%SUCURI.URL.Settings%%" method="post">
24
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
25
+ <button type="submit" name="sucuriscan_recover_key" class="button button-primary">@@SUCURI.APIKeyRecoverButton@@</button>
26
  </form>
27
  </div>
28
 
29
+ <p>@@SUCURI.APIKeyRecoveryCondition@@</p>
 
 
 
 
 
 
30
  </div>
31
 
32
  <div class="sucuriscan-hstatus sucuriscan-hstatus-1 sucuriscan-%%SUCURI.APIKey.RemoveVisibility%%">
33
+ <div class="sucuriscan-monospace">@@SUCURI.APIKey@@: %%SUCURI.APIKey%%</div>
34
  <form action="%%SUCURI.URL.Settings%%" method="post">
35
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
36
+ <button type="submit" name="sucuriscan_remove_api_key" class="button button-primary">@@SUCURI.Delete@@</button>
37
  </form>
38
  </div>
39
  </div>
inc/tpl/settings-general-auditlogstats.html.tpl CHANGED
@@ -1,29 +1,16 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Audit Log Statistics</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Enabling this option allows you to have a quick view of the range of
8
- the activity of your users and/or the attacks directed against your
9
- website. By default, the plugin uses the latest entries in the audit
10
- logs and uses that information to draw bar and pie charts in the
11
- dashboard.
12
- </p>
13
-
14
- <p>
15
- The statistic are generated with a limited number of logs to reduce
16
- the memory consumption of the parser. You can increase the limit at
17
- your own discretion considering the amount of memory and maximum
18
- execution time that your PHP installation is allowed to use.
19
- </p>
20
 
21
  <form action="%%SUCURI.URL.Settings%%" method="post">
22
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
23
  <fieldset class="sucuriscan-clearfix">
24
- <label>Audit Logs Limit:</label>
25
  <input type="text" name="sucuriscan_logs4report" value="%%SUCURI.AuditLogStats.Limit%%" placeholder="e.g. 500" />
26
- <button type="submit" class="button button-primary">Save</button>
27
  </fieldset>
28
  </form>
29
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.LogsReport@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.LogsReportDescription@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
10
  <fieldset class="sucuriscan-clearfix">
11
+ <label>@@SUCURI.LogsReport@@:</label>
12
  <input type="text" name="sucuriscan_logs4report" value="%%SUCURI.AuditLogStats.Limit%%" placeholder="e.g. 500" />
13
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
14
  </fieldset>
15
  </form>
16
  </div>
inc/tpl/settings-general-commentmonitor.html.tpl CHANGED
@@ -1,28 +1,12 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">User Comment Monitor</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- User comments are the main source of spam in WordPress websites, this option
8
- enables the monitoring of data sent via the comment forms loaded in every page
9
- and post. Remember that the plugin sends this information to the Sucuri servers
10
- so if you do not agree with this you must keep this option disabled. Among the
11
- data included in the report for each comment there are identifiers of the post
12
- and user account <em>(usually null for guest comments)</em>, the IP address of
13
- the author, the email address of the author, the user-agent of the web browser
14
- used by the author to create the comment, the current date, the status which
15
- usually falls under the category of not approved, and the message itself.
16
- </p>
17
-
18
- <p>
19
- We also use this information in an anonymous way to generate <a target="_blank"
20
- href="https://sucuri.net/security-reports/brute-force/">statistics</a> of usage
21
- that help us improve our service.
22
- </p>
23
 
24
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
25
- <span>User Comment Monitor is %%SUCURI.CommentMonitorStatus%%</span>
26
 
27
  <form action="%%SUCURI.URL.Settings%%" method="post">
28
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.CommentMonitor@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.CommentMonitorInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
9
+ <span>@@SUCURI.CommentMonitor@@ &mdash; %%SUCURI.CommentMonitorStatus%%</span>
10
 
11
  <form action="%%SUCURI.URL.Settings%%" method="post">
12
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
inc/tpl/settings-general-cronjobs.html.tpl CHANGED
@@ -1,24 +1,9 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Scheduled Tasks (%%SUCURI.Cronjobs.Total%% tasks)</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- <strong>Scheduled Tasks</strong> are rules registered in your database by a
8
- plugin, theme, or the base system itself; they are used to automatically execute
9
- actions defined in the code every certain amount of time. A good use of these
10
- rules is to generate backup files of your site, execute a security scanner, or
11
- remove unused elements like drafts.
12
- </p>
13
-
14
- <div class="sucuriscan-inline-alert-error">
15
- <p>
16
- Note that there are some scheduled tasks <em>(registered by the base
17
- system)</em> that can not be removed permanently using this tool, tasks such as
18
- the <strong>addon update</strong> and <strong>version checker</strong> are
19
- required by the site to work correctly.
20
- </p>
21
- </div>
22
 
23
  <form action="%%SUCURI.URL.Settings%%#general" method="post">
24
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
@@ -30,10 +15,10 @@
30
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
31
  <input id="cb-select-all-1" type="checkbox">
32
  </td>
33
- <th>Task</th>
34
- <th>Schedule</th>
35
- <th>Next due</th>
36
- <th>Arguments</th>
37
  </tr>
38
  </thead>
39
 
@@ -43,11 +28,11 @@
43
  </table>
44
 
45
  <fieldset class="sucuriscan-clearfix">
46
- <label>Choose Action:</label>
47
  <select name="sucuriscan_cronjob_action">
48
  %%%SUCURI.Cronjob.Schedules%%%
49
  </select>
50
- <button type="submit" class="button button-primary">Send action</button>
51
  </fieldset>
52
  </form>
53
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.Cronjobs@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.CronjobsInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%#general" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
15
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
16
  <input id="cb-select-all-1" type="checkbox">
17
  </td>
18
+ <th>@@SUCURI.Name@@</th>
19
+ <th>@@SUCURI.Schedule@@</th>
20
+ <th>@@SUCURI.NextDue@@</th>
21
+ <th>@@SUCURI.Arguments@@</th>
22
  </tr>
23
  </thead>
24
 
28
  </table>
29
 
30
  <fieldset class="sucuriscan-clearfix">
31
+ <label>@@SUCURI.Action@@:</label>
32
  <select name="sucuriscan_cronjob_action">
33
  %%%SUCURI.Cronjob.Schedules%%%
34
  </select>
35
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
36
  </fieldset>
37
  </form>
38
  </div>
inc/tpl/settings-general-datastorage.html.tpl CHANGED
@@ -1,68 +1,40 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Data Storage Path</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- This is the directory where the plugin will store the security logs, the list of
8
- files marked as fixed in the core integrity tool, the cache for the malware
9
- scanner and 3rd-party plugin metadata. The directory is blocked from public
10
- visibility if <strong>and only if</strong> the site is being hosted by the
11
- Apache web server. Additionally, every PHP file has an exit point in its header
12
- to prevent the content to be printed.
13
- </p>
14
 
15
- <div class="sucuriscan-inline-alert-info">
16
- <p>
17
- The plugin requires write permissions in this directory as well
18
- as the files contained in it. If you prefer to keep these files
19
- in a non-public directory <em>(one level up the document root)
20
- </em> please define a constant in the <em>"wp-config.php"</em>
21
- file named <em>"SUCURI_DATA_STORAGE"</em> with the absolute path
22
- to the new directory.
23
- </p>
24
- </div>
25
 
26
- <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
27
- <span class="sucuriscan-monospace">%%SUCURI.Storage.Path%%</span>
28
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
  <p>
31
- As of version 1.7.18 the plugin started using a plain text file named
32
- <em>"sucuri-settings.php"</em> to store its settings instead of the
33
- database, this was both a security measure and a mechanism to simplify
34
- the management of the settings for multisite installations. Options
35
- created in the database by previous versions of the plugin will be
36
- migrated to the settings file if it is writable, otherwise they will
37
- remain in the database until the user grants write permissions.
38
  </p>
39
-
40
- <form action="%%SUCURI.URL.Settings%%#general" method="post">
41
- <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
42
- <input type="hidden" name="sucuriscan_reset_storage" value="1" />
43
-
44
- <table class="wp-list-table widefat sucuriscan-table">
45
- <thead>
46
- <tr>
47
- <td id="cb" class="manage-column column-cb check-column">
48
- <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
49
- <input id="cb-select-all-1" type="checkbox">
50
- </td>
51
- <th class="manage-column">File</th>
52
- <th class="manage-column">Size</th>
53
- <th class="manage-column">Existence</th>
54
- <th class="manage-column">Write Permission</th>
55
- </tr>
56
- </thead>
57
-
58
- <tbody>
59
- %%%SUCURI.Storage.Files%%%
60
- </tbody>
61
- </table>
62
-
63
- <p>
64
- <button type="submit" class="button button-primary">Reset Files</button>
65
- </p>
66
- </form>
67
- </div>
68
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.DataStorage@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.DataStorageInfo@@</p>
7
+ </div>
 
 
 
 
 
 
8
 
9
+ <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
10
+ <span class="sucuriscan-monospace">%%SUCURI.Storage.Path%%</span>
11
+ </div>
 
 
 
 
 
 
 
12
 
13
+ <form action="%%SUCURI.URL.Settings%%#general" method="post">
14
+ <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
15
+ <input type="hidden" name="sucuriscan_reset_storage" value="1" />
16
+
17
+ <table class="wp-list-table widefat sucuriscan-table">
18
+ <thead>
19
+ <tr>
20
+ <td id="cb" class="manage-column column-cb check-column">
21
+ <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
22
+ <input id="cb-select-all-1" type="checkbox">
23
+ </td>
24
+ <th class="manage-column">@@SUCURI.FilePath@@</th>
25
+ <th class="manage-column">@@SUCURI.FileSize@@</th>
26
+ <th class="manage-column">@@SUCURI.Status@@</th>
27
+ <th class="manage-column">@@SUCURI.Writable@@</th>
28
+ </tr>
29
+ </thead>
30
+
31
+ <tbody>
32
+ %%%SUCURI.Storage.Files%%%
33
+ </tbody>
34
+ </table>
35
 
36
  <p>
37
+ <button type="submit" class="button button-primary">@@SUCURI.Delete@@</button>
 
 
 
 
 
 
38
  </p>
39
+ </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  </div>
inc/tpl/settings-general-importexport.html.tpl CHANGED
@@ -1,38 +1,24 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Import &amp; Export Settings</h3>
4
 
5
  <div class="inside">
6
  <form action="%%SUCURI.URL.Settings%%" method="post">
7
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
8
 
9
- <p>
10
- Copy the JSON-encoded data from the box below, go to your other
11
- websites and click the <em>"Import"</em> button in the settings
12
- page. The plugin will start using the same settings from this
13
- website. Notice that some options are omitted as they contain values
14
- specific to this website.
15
- </p>
16
 
17
  <textarea name="sucuriscan_settings" class="sucuriscan-full-textarea sucuriscan-monospace">%%SUCURI.Export%%</textarea>
18
 
19
- <p>
20
- To import the settings from another website into this one, replace
21
- the JSON-encoded data in the box above with the JSON-encoded data
22
- exported from the other website, then click the button
23
- <em>"Import"</em>. Notice that some options will not be imported to
24
- reduce the security risk of writing arbitrary data into the disk.
25
- </p>
26
-
27
  <p>
28
  <label>
29
  <input type="hidden" name="sucuriscan_process_form" value="0" />
30
  <input type="checkbox" name="sucuriscan_process_form" value="1" />
31
- <span>I understand that this operation can not be reverted.</span>
32
  </label>
33
  </p>
34
 
35
- <button type="submit" name="sucuriscan_import" class="button button-primary">Import</button>
36
  </form>
37
  </div>
38
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.ImportExport@@</h3>
4
 
5
  <div class="inside">
6
  <form action="%%SUCURI.URL.Settings%%" method="post">
7
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
8
 
9
+ <p>@@SUCURI.ImportExportInfo@@</p>
 
 
 
 
 
 
10
 
11
  <textarea name="sucuriscan_settings" class="sucuriscan-full-textarea sucuriscan-monospace">%%SUCURI.Export%%</textarea>
12
 
 
 
 
 
 
 
 
 
13
  <p>
14
  <label>
15
  <input type="hidden" name="sucuriscan_process_form" value="0" />
16
  <input type="checkbox" name="sucuriscan_process_form" value="1" />
17
+ <span>@@SUCURI.UnderstandTheRisk@@</span>
18
  </label>
19
  </p>
20
 
21
+ <button type="submit" name="sucuriscan_import" class="button button-primary">@@SUCURI.Submit@@</button>
22
  </form>
23
  </div>
24
  </div>
inc/tpl/settings-general-ipdiscoverer.html.tpl CHANGED
@@ -1,28 +1,12 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">IP Address Discoverer</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- IP address discoverer will use DNS lookups to automatically detect if
8
- the website is behind the <a href="https://sucuri.net/website-firewall/"
9
- target="_blank">Sucuri Firewall</a> in which case will modify the global
10
- server variable <em>Remote-Addr</em> to set the real IP of the website's
11
- visitors. This check runs on every WordPress init action and that is
12
- why it may slow down your website as some hosting providers rely on
13
- slow DNS servers which makes the operation take more time than it
14
- should.
15
-
16
- </p>
17
-
18
- <div class="sucuriscan-inline-alert-error">
19
- <p>
20
- <b>IMPORTANT:</b> This option <em>(if enabled)</em> may slow down your website.
21
- </p>
22
- </div>
23
 
24
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
25
- <span>IP Address Discoverer is %%SUCURI.DnsLookupsStatus%%</span>
26
 
27
  <form action="%%SUCURI.URL.Settings%%" method="post">
28
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
@@ -31,21 +15,11 @@
31
  </form>
32
  </div>
33
 
34
- <p>
35
- Once the feature is enabled you may choose the HTTP header that will be used by
36
- default to retrieve the real IP address of each HTTP request, generally you do
37
- not need to set this but in rare cases your hosting provider may have a load
38
- balancer that can interfere in the process, in which case you will have to
39
- explicitly specify the main HTTP header. Note that if you select a HTTP header
40
- that is not being set by the server the plugin will fallback to the default
41
- <em>Remote-Addr</em>.
42
- </p>
43
-
44
  <form action="%%SUCURI.URL.Settings%%" method="post">
45
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
46
 
47
  <fieldset class="sucuriscan-clearfix">
48
- <label>Main IP HTTP Header:</label>
49
  <select name="sucuriscan_addr_header">
50
  %%%SUCURI.AddrHeaderOptions%%%
51
  </select>
@@ -53,12 +27,12 @@
53
  </fieldset>
54
 
55
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-monospace">
56
- <div>Sucuri Firewall is %%SUCURI.IsUsingFirewall%%</div>
57
- <div>Website URL: %%SUCURI.WebsiteURL%%</div>
58
  <div>Top Level Domain: %%SUCURI.TopLevelDomain%%</div>
59
- <div>Website Hostname: %%SUCURI.WebsiteHostName%%</div>
60
- <div>Website Host Address: %%SUCURI.WebsiteHostAddress%%</div>
61
- <div>IP Address: %%SUCURI.RemoteAddress%% (%%SUCURI.RemoteAddressHeader%%)</div>
62
  </div>
63
  </form>
64
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.IPDiscoverer@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.IPDiscovererInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
9
+ <span>@@SUCURI.IPDiscoverer@@ &mdash; %%SUCURI.DnsLookupsStatus%%</span>
10
 
11
  <form action="%%SUCURI.URL.Settings%%" method="post">
12
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
15
  </form>
16
  </div>
17
 
 
 
 
 
 
 
 
 
 
 
18
  <form action="%%SUCURI.URL.Settings%%" method="post">
19
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
20
 
21
  <fieldset class="sucuriscan-clearfix">
22
+ <label>@@SUCURI.HTTPHeader@@:</label>
23
  <select name="sucuriscan_addr_header">
24
  %%%SUCURI.AddrHeaderOptions%%%
25
  </select>
27
  </fieldset>
28
 
29
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-monospace">
30
+ <div>Sucuri Firewall &mdash; %%SUCURI.IsUsingFirewall%%</div>
31
+ <div>@@SUCURI.Website@@: %%SUCURI.WebsiteURL%%</div>
32
  <div>Top Level Domain: %%SUCURI.TopLevelDomain%%</div>
33
+ <div>@@SUCURI.Hostname@@: %%SUCURI.WebsiteHostName%%</div>
34
+ <div>@@SUCURI.RemoteAddr@@ (@@SUCURI.Hostname@@): %%SUCURI.WebsiteHostAddress%%</div>
35
+ <div>@@SUCURI.RemoteAddr@@ (@@SUCURI.Username@@): %%SUCURI.RemoteAddress%% (%%SUCURI.RemoteAddressHeader%%)</div>
36
  </div>
37
  </form>
38
  </div>
inc/tpl/settings-general-resetoptions.html.tpl CHANGED
@@ -1,16 +1,9 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Reset Security Logs, Hardening and Settings</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- This action will trigger the deactivation / uninstallation process
8
- of the plugin. All local security logs, hardening and settings will
9
- be deleted. Notice that the security logs stored in the API service
10
- will not be deleted, this is to prevent tampering from a malicious
11
- user. You can request a new API key if you want to start from
12
- scratch.
13
- </p>
14
 
15
  <form action="%%SUCURI.URL.Settings%%" method="post">
16
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
@@ -18,10 +11,10 @@
18
  <label>
19
  <input type="hidden" name="sucuriscan_process_form" value="0" />
20
  <input type="checkbox" name="sucuriscan_process_form" value="1" />
21
- <span>I understand that this operation can not be reverted.</span>
22
  </label>
23
  </p>
24
- <button type="submit" name="sucuriscan_reset_options" class="button button-primary">Reset Everything</button>
25
  </form>
26
  </div>
27
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.Uninstall@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.UninstallInfo@@</p>
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
11
  <label>
12
  <input type="hidden" name="sucuriscan_process_form" value="0" />
13
  <input type="checkbox" name="sucuriscan_process_form" value="1" />
14
+ <span>@@SUCURI.UnderstandTheRisk@@</span>
15
  </label>
16
  </p>
17
+ <button type="submit" name="sucuriscan_reset_options" class="button button-primary">@@SUCURI.Submit@@</button>
18
  </form>
19
  </div>
20
  </div>
inc/tpl/settings-general-reverseproxy.html.tpl CHANGED
@@ -1,39 +1,12 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Reverse Proxy and IP Address</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- The event monitor uses the API address of the origin of the request to track the
8
- actions, the plugin uses two methods to retrieve this: the main method uses the
9
- global server variable <em>Remote-Addr</em> available in most modern web
10
- servers, an alternative method uses custom HTTP headers <em>(which are unsafe by
11
- default)</em>. You should not worry about this option unless you know what a
12
- reverse proxy is.
13
- </p>
14
-
15
- <p>
16
- Services like the <a href="https://sucuri.net/website-firewall/"
17
- target="_blank">Sucuri Firewall</a> &mdash; once active &mdash; forces
18
- the network traffic to pass through them to filter any security threat
19
- that may affect the original server. A side effect of this is that the
20
- real IP address is no longer available in the global server variable
21
- <em>REMOTE-ADDR</em> but in a custom HTTP header with a name provided
22
- by the service.
23
- </p>
24
-
25
- <div class="sucuriscan-inline-alert-info">
26
- <p>
27
- When this option is enabled the plugin will go through a list of common HTTP
28
- headers to retrieve the real IP address of the origin of the requests. Note
29
- that this information can be spoofed and malicious people may use this to
30
- hide their real IP during an attack. You must not enable this option unless
31
- you are completely sure that your site is behind a proxy/firewall.
32
- </p>
33
- </div>
34
 
35
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
36
- <span>Reverse Proxy Support is %%SUCURI.ReverseProxyStatus%%</span>
37
 
38
  <form action="%%SUCURI.URL.Settings%%" method="post">
39
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.ReverseProxy@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.ReverseProxyInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2">
9
+ <span>@@SUCURI.ReverseProxy@@ &mdash; %%SUCURI.ReverseProxyStatus%%</span>
10
 
11
  <form action="%%SUCURI.URL.Settings%%" method="post">
12
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
inc/tpl/settings-general-selfhosting.html.tpl CHANGED
@@ -1,17 +1,12 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Log Exporter</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- This option allows you to export the WordPress audit logs to a local log file
8
- that can be read by a SIEM or any log analysis software <em>(we recommend OSSEC)
9
- </em>. That will give visibility from within WordPress to complement your log
10
- monitoring infrastructure.
11
- </p>
12
 
13
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-%%SUCURI.SelfHosting.DisabledVisibility%%">
14
- <span>Log Exporter is %%SUCURI.SelfHosting.Status%%</span>
15
  </div>
16
 
17
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-monitor-fpath sucuriscan-%%SUCURI.SelfHosting.FpathVisibility%%">
@@ -23,32 +18,12 @@
23
  </form>
24
  </div>
25
 
26
- <p>
27
- Specify the absolute location of the file <em>(including the extension)</em>
28
- that you want to use to store a copy of the events that are being monitored by
29
- the plugin. The file must exists and be writable by the PHP interpreter. Note
30
- that the events that are being triggered when this option is disabled will not
31
- be copied to this file even if you have enabled this feature before, you must
32
- consider this when you give access to other administrator users to change the
33
- settings of your website.
34
- </p>
35
-
36
- <div class="sucuriscan-inline-alert-error">
37
- <p>
38
- Do not use a public location to store the logs, you will end up leaking
39
- sensitive information about your website and the activity of your users. If you
40
- decide to use a file located in the public directory for any particular reason
41
- we recommend you to name it with a random-unique string so malicious users can
42
- not easily access it.
43
- </p>
44
- </div>
45
-
46
  <form action="%%SUCURI.URL.Settings%%#general" method="post">
47
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
48
  <fieldset class="sucuriscan-clearfix">
49
- <label>Absolute File Path:</label>
50
  <input type="text" name="sucuriscan_selfhosting_fpath" />
51
- <button type="submit" class="button button-primary">Save</button>
52
  </fieldset>
53
  </form>
54
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.SelfHosting@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.SelfHostingInfo@@</p>
 
 
 
 
 
7
 
8
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-%%SUCURI.SelfHosting.DisabledVisibility%%">
9
+ <span>@@SUCURI.SelfHosting@@ &mdash; %%SUCURI.SelfHosting.Status%%</span>
10
  </div>
11
 
12
  <div class="sucuriscan-hstatus sucuriscan-hstatus-2 sucuriscan-monitor-fpath sucuriscan-%%SUCURI.SelfHosting.FpathVisibility%%">
18
  </form>
19
  </div>
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  <form action="%%SUCURI.URL.Settings%%#general" method="post">
22
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
23
  <fieldset class="sucuriscan-clearfix">
24
+ <label>@@SUCURI.FilePath@@:</label>
25
  <input type="text" name="sucuriscan_selfhosting_fpath" />
26
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
27
  </fieldset>
28
  </form>
29
  </div>
inc/tpl/settings-hardening-whitelist-phpfiles.html.tpl CHANGED
@@ -1,50 +1,21 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Whitelist Blocked PHP Files</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- After you apply the hardening in either the includes, content, and/or upload
8
- directories the plugin will add a rule in the access control file to deny access
9
- to any PHP file located in these folders, this is a good precaution in case that
10
- an attacker is able to upload a shell script; with a few exceptions the
11
- <em>"index.php"</em> is the only one that should be publicly accessible, however
12
- many theme/plugin developers decide to use these folders to process some
13
- operations, in this case applying the hardening <strong>may break</strong> their
14
- functionality.
15
- </p>
16
-
17
- <div class="sucuriscan-inline-alert-info">
18
- <p>
19
- Note that whitelisted files are global inside the selected directory, this means
20
- that if you whitelist a file named <em>"thumbnail.php"</em> it will match every
21
- file with the same name in all the sub-folders. If you want something more
22
- specific read the <a href="https://httpd.apache.org/docs/2.4/mod/core.html"
23
- target="_blank" rel="noopener">official documentation</a>.
24
- </p>
25
- </div>
26
-
27
- <div class="sucuriscan-inline-alert-error">
28
- <p>
29
- Be warned that whitelisting a PHP file with vulnerabilities will open security
30
- holes in your website that can be exploited by malicious users. If you do not
31
- fully understand the purpose of this form and/or do not know what whitelisting
32
- a PHP file means then ask for support in the <a target="_blank"
33
- href="https://wordpress.org/support/plugin/sucuri-scanner" rel="noopener">forums</a>.
34
- </p>
35
- </div>
36
 
37
  <form action="%%SUCURI.URL.Settings%%#hardening" method="post">
38
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
39
  <fieldset class="sucuriscan-clearfix">
40
- <label>Whitelist PHP Filename:</label>
41
  <input type="text" name="sucuriscan_hardening_whitelist" placeholder="e.g. wp-tinymce.php" />
42
  <select name="sucuriscan_hardening_folder">
43
  <option value="wp-includes">wp-includes</option>
44
  <option value="wp-content">wp-content</option>
45
  <option value="wp-content/uploads">wp-content/uploads</option>
46
  </select>
47
- <button type="submit" class="button button-primary">Proceed</button>
48
  </fieldset>
49
  </form>
50
 
@@ -59,9 +30,9 @@
59
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
60
  <input id="cb-select-all-1" type="checkbox">
61
  </td>
62
- <th class="manage-column">Filename</th>
63
- <th class="manage-column">Base Directory</th>
64
- <th class="manage-column">Regular Expression</th>
65
  </thead>
66
 
67
  <tbody>
@@ -69,13 +40,13 @@
69
 
70
  <tr class="sucuriscan-%%SUCURI.HardeningWhitelist.NoItemsVisibility%%">
71
  <td colspan="4">
72
- <em>List is empty.</em>
73
  </td>
74
  </tr>
75
  </tbody>
76
  </table>
77
 
78
- <button type="submit" class="button button-primary">Delete</button>
79
  </form>
80
  </div>
81
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.WhitelistScript@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.WhitelistScriptInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%#hardening" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
10
  <fieldset class="sucuriscan-clearfix">
11
+ <label>@@SUCURI.FilePath@@:</label>
12
  <input type="text" name="sucuriscan_hardening_whitelist" placeholder="e.g. wp-tinymce.php" />
13
  <select name="sucuriscan_hardening_folder">
14
  <option value="wp-includes">wp-includes</option>
15
  <option value="wp-content">wp-content</option>
16
  <option value="wp-content/uploads">wp-content/uploads</option>
17
  </select>
18
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
19
  </fieldset>
20
  </form>
21
 
30
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
31
  <input id="cb-select-all-1" type="checkbox">
32
  </td>
33
+ <th class="manage-column">@@SUCURI.FilePath@@</th>
34
+ <th class="manage-column">@@SUCURI.Directory@@</th>
35
+ <th class="manage-column">@@SUCURI.Pattern@@</th>
36
  </thead>
37
 
38
  <tbody>
40
 
41
  <tr class="sucuriscan-%%SUCURI.HardeningWhitelist.NoItemsVisibility%%">
42
  <td colspan="4">
43
+ <em>@@SUCURI.NoData@@</em>
44
  </td>
45
  </tr>
46
  </tbody>
47
  </table>
48
 
49
+ <button type="submit" class="button button-primary">@@SUCURI.Delete@@</button>
50
  </form>
51
  </div>
52
  </div>
inc/tpl/settings-posthack-available-updates-alert.html.tpl CHANGED
@@ -1,19 +1,13 @@
1
 
2
- <p>
3
- WordPress has a big user base in the public Internet, this brings interest to
4
- malicious people to find vulnerabilities in the code code, 3rd-party extensions,
5
- and themes that other companies develop. You should keep every piece of code
6
- installed in your website update to prevent attacks as soon as disclosed
7
- vulnerabilities are patched.
8
- </p>
9
 
10
  <table border="1" cellspacing="1" cellpadding="5">
11
  <thead>
12
  <tr>
13
- <th>Extension</th>
14
- <th>Installed</th>
15
- <th>Available</th>
16
- <th>Tested With</th>
17
  <th>&nbsp;</th>
18
  </tr>
19
  </thead>
@@ -21,17 +15,4 @@
21
  <tbody>
22
  %%%SUCURI.AvailableUpdates.Content%%%
23
  </tbody>
24
-
25
- <tfoot>
26
- <tr>
27
- <td colspan="5">
28
- <p>
29
- Update all extensions from your website's <a target="_blank"
30
- href="%%SUCURI.URL.Dashboard%%">admin panel</a>, and/or disable
31
- the email alerts for available updates from the <a target="_blank"
32
- href="%%SUCURI.URL.Settings%%#alerts">settings</a> page.
33
- </p>
34
- </td>
35
- </tr>
36
- </tfoot>
37
  </table>
1
 
2
+ <p>@@SUCURI.AvailableUpdatesInfo@@</p>
 
 
 
 
 
 
3
 
4
  <table border="1" cellspacing="1" cellpadding="5">
5
  <thead>
6
  <tr>
7
+ <th>@@SUCURI.Name@@</th>
8
+ <th>@@SUCURI.Version@@</th>
9
+ <th>@@SUCURI.Update@@</th>
10
+ <th>@@SUCURI.TestedWith@@</th>
11
  <th>&nbsp;</th>
12
  </tr>
13
  </thead>
15
  <tbody>
16
  %%%SUCURI.AvailableUpdates.Content%%%
17
  </tbody>
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  </table>
inc/tpl/settings-posthack-available-updates.html.tpl CHANGED
@@ -1,6 +1,6 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Available Plugin and Theme Updates</h3>
4
 
5
  <script type="text/javascript">
6
  /* global jQuery */
@@ -17,21 +17,15 @@
17
  </script>
18
 
19
  <div class="inside">
20
- <p>
21
- WordPress has a big user base in the public Internet, this brings
22
- interest to malicious people to find vulnerabilities in the code,
23
- 3rd-party extensions, and themes that other companies develop. You
24
- should keep every piece of code installed in your website update
25
- to prevent attacks as soon as disclosed vulnerabilities are patched.
26
- </p>
27
 
28
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-available-updates-table">
29
  <thead>
30
  <tr>
31
- <th class="manage-column">Extension</th>
32
- <th class="manage-column">Installed</th>
33
- <th class="manage-column">Available</th>
34
- <th class="manage-column">Tested With</th>
35
  <th class="manage-column">&nbsp;</th>
36
  </tr>
37
  </thead>
@@ -39,7 +33,7 @@
39
  <tbody>
40
  <tr>
41
  <td colspan="5">
42
- <span>Loading <em>(may take several seconds)</em>...</span>
43
  </td>
44
  </tr>
45
  </tbody>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.AvailableUpdates@@</h3>
4
 
5
  <script type="text/javascript">
6
  /* global jQuery */
17
  </script>
18
 
19
  <div class="inside">
20
+ <p>@@SUCURI.AvailableUpdatesInfo@@</p>
 
 
 
 
 
 
21
 
22
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-available-updates-table">
23
  <thead>
24
  <tr>
25
+ <th class="manage-column">@@SUCURI.Name@@</th>
26
+ <th class="manage-column">@@SUCURI.Version@@</th>
27
+ <th class="manage-column">@@SUCURI.Update@@</th>
28
+ <th class="manage-column">@@SUCURI.TestedWith@@</th>
29
  <th class="manage-column">&nbsp;</th>
30
  </tr>
31
  </thead>
33
  <tbody>
34
  <tr>
35
  <td colspan="5">
36
+ <span>@@SUCURI.Loading@@</span>
37
  </td>
38
  </tr>
39
  </tbody>
inc/tpl/settings-posthack-available-updates.snippet.tpl CHANGED
@@ -12,5 +12,5 @@
12
 
13
  <td>%%SUCURI.Update.TestedWith%%</td>
14
 
15
- <td><a href="%%SUCURI.Update.ArchiveUrl%%" target="_blank">download</a></td>
16
  </tr>
12
 
13
  <td>%%SUCURI.Update.TestedWith%%</td>
14
 
15
+ <td><a href="%%SUCURI.Update.ArchiveUrl%%" target="_blank">@@SUCURI.Download@@</a></td>
16
  </tr>
inc/tpl/settings-posthack-reset-password-alert.html.tpl CHANGED
@@ -1,6 +1,2 @@
1
 
2
- WordPress has generated a new (random) password for your account <strong>%%SUCURI.ResetPassword.UserName%%</strong> at <a target="_blank" href="http://%%SUCURI.ResetPassword.Website%%">%%SUCURI.ResetPassword.Website%%</a>.<br>
3
-
4
- The change has been requested by one of the admins in this website for security reasons.<br>
5
-
6
- Your new password is &mdash; <span style="font-family:Menlo, Monaco, monospace, serif;font-weight:700">%%%SUCURI.ResetPassword.Password%%%</span> &mdash; please change it as soon as possible.<br>
1
 
2
+ @@SUCURI.PasswordChangeAlert@@
 
 
 
 
inc/tpl/settings-posthack-reset-password.html.tpl CHANGED
@@ -1,6 +1,6 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Reset User Password</h3>
4
 
5
  <script type="text/javascript">
6
  /* global jQuery */
@@ -13,7 +13,7 @@
13
 
14
  $('#sucuriscan-userid-' + user_id)
15
  .find('.sucuriscan-response')
16
- .html('(Loading...)');
17
 
18
  $.post('%%SUCURI.AjaxURL.Dashboard%%', {
19
  action: 'sucuriscan_ajax',
@@ -31,21 +31,7 @@
31
  </script>
32
 
33
  <div class="inside">
34
- <p>
35
- You can generate a new random password for the user accounts that
36
- you select from the list. An email with the new password will be
37
- sent to the email address of each chosen users.
38
- </p>
39
-
40
- <div class="sucuriscan-inline-alert-error">
41
- <p>
42
- If you choose to change the password of your own user, then your
43
- current session will expire immediately. You will need to log
44
- into the admin panel with the new password that will be sent to
45
- your email. If you are unsure of this, do not select your
46
- account from the list.
47
- </p>
48
- </div>
49
 
50
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-reset-password-table">
51
  <thead>
@@ -54,10 +40,10 @@
54
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
55
  <input id="cb-select-all-1" type="checkbox">
56
  </td>
57
- <th class="manage-column">User</th>
58
- <th class="manage-column">Email address</th>
59
- <th class="manage-column">Registered</th>
60
- <th class="manage-column">Roles</th>
61
  </tr>
62
  </thead>
63
 
@@ -75,6 +61,6 @@
75
  </table>
76
 
77
  <button type="button" id="sucuriscan-reset-password-button"
78
- class="button button-primary">Reset User Password</button>
79
  </div>
80
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.PasswordChange@@</h3>
4
 
5
  <script type="text/javascript">
6
  /* global jQuery */
13
 
14
  $('#sucuriscan-userid-' + user_id)
15
  .find('.sucuriscan-response')
16
+ .html('(@@SUCURI.Loading@@)');
17
 
18
  $.post('%%SUCURI.AjaxURL.Dashboard%%', {
19
  action: 'sucuriscan_ajax',
31
  </script>
32
 
33
  <div class="inside">
34
+ <p>@@SUCURI.PasswordChangeInfo@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-reset-password-table">
37
  <thead>
40
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
41
  <input id="cb-select-all-1" type="checkbox">
42
  </td>
43
+ <th class="manage-column">@@SUCURI.Username@@</th>
44
+ <th class="manage-column">@@SUCURI.Email@@</th>
45
+ <th class="manage-column">@@SUCURI.Registered@@</th>
46
+ <th class="manage-column">@@SUCURI.Roles@@</th>
47
  </tr>
48
  </thead>
49
 
61
  </table>
62
 
63
  <button type="button" id="sucuriscan-reset-password-button"
64
+ class="button button-primary">@@SUCURI.Submit@@</button>
65
  </div>
66
  </div>
inc/tpl/settings-posthack-reset-plugins.html.tpl CHANGED
@@ -1,6 +1,6 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Reset Installed Plugins</h3>
4
 
5
  <script type="text/javascript">
6
  /* global jQuery */
@@ -22,7 +22,7 @@
22
 
23
  $('#sucuriscan-plugin-' + unique)
24
  .find('.sucuriscan-reset-plugin-response')
25
- .html('Loading...');
26
 
27
  $.post('%%SUCURI.AjaxURL.Dashboard%%', {
28
  action: 'sucuriscan_ajax',
@@ -40,33 +40,14 @@
40
  </script>
41
 
42
  <div class="inside">
43
- <p>
44
- In case that you suspect of an infection in your site, or even after
45
- you got rid of a malicious code, it would be better if you reinstall
46
- all the plugins installed in your site, including the ones you are
47
- not using. Notice that premium plugins will not be reinstalled to
48
- prevent backward compatibility issues and problems with licenses.
49
- </p>
50
 
51
  <div class="sucuriscan-inline-alert-info">
52
- <p>
53
- The information shown here is cache for
54
- %%SUCURI.ResetPlugin.CacheLifeTime%% seconds, this is necessary
55
- to reduce the quantity of HTTP requests sent to the WordPress
56
- servers and the bandwidth of your site. Currently there is no
57
- option to recreate this cache so you have to wait until it
58
- resets itself.
59
- </p>
60
  </div>
61
 
62
  <div class="sucuriscan-inline-alert-error">
63
- <p>
64
- <b>WARNING!</b> This procedure can break your website. The reset
65
- will not affect the database nor the settings of each plugin but
66
- depending on how they were written the reset action might break
67
- them. Be sure to create a backup of the plugins directory before
68
- the execution of this tool.
69
- </p>
70
  </div>
71
 
72
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-reset-plugins-table">
@@ -76,22 +57,22 @@
76
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
77
  <input id="cb-select-all-1" type="checkbox">
78
  </td>
79
- <th class="manage-column">Plugin</th>
80
- <th class="manage-column">Version</th>
81
- <th class="manage-column">Type</th>
82
- <th class="manage-column">Status</th>
83
  </tr>
84
  </thead>
85
 
86
  <tbody>
87
  <tr>
88
  <td colspan="5">
89
- <span>Loading <em>(may take several seconds)</em>...</span>
90
  </td>
91
  </tr>
92
  </tbody>
93
  </table>
94
 
95
- <button type="button" id="sucuriscan_reset_plugins" class="button button-primary">Proceed</button>
96
  </div>
97
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.PluginReinstall@@</h3>
4
 
5
  <script type="text/javascript">
6
  /* global jQuery */
22
 
23
  $('#sucuriscan-plugin-' + unique)
24
  .find('.sucuriscan-reset-plugin-response')
25
+ .html('@@SUCURI.Loading@@');
26
 
27
  $.post('%%SUCURI.AjaxURL.Dashboard%%', {
28
  action: 'sucuriscan_ajax',
40
  </script>
41
 
42
  <div class="inside">
43
+ <p>@@SUCURI.PluginReinstallInfo@@</p>
 
 
 
 
 
 
44
 
45
  <div class="sucuriscan-inline-alert-info">
46
+ <p>@@SUCURI.PluginReinstallCache@@</p>
 
 
 
 
 
 
 
47
  </div>
48
 
49
  <div class="sucuriscan-inline-alert-error">
50
+ <p>@@SUCURI.PluginReinstallWarning@@</p>
 
 
 
 
 
 
51
  </div>
52
 
53
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-reset-plugins-table">
57
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
58
  <input id="cb-select-all-1" type="checkbox">
59
  </td>
60
+ <th class="manage-column">@@SUCURI.Name@@</th>
61
+ <th class="manage-column">@@SUCURI.Version@@</th>
62
+ <th class="manage-column">@@SUCURI.Type@@</th>
63
+ <th class="manage-column">@@SUCURI.Status@@</th>
64
  </tr>
65
  </thead>
66
 
67
  <tbody>
68
  <tr>
69
  <td colspan="5">
70
+ <span>@@SUCURI.Loading@@</span>
71
  </td>
72
  </tr>
73
  </tbody>
74
  </table>
75
 
76
+ <button type="button" id="sucuriscan_reset_plugins" class="button button-primary">@@SUCURI.Submit@@</button>
77
  </div>
78
  </div>
inc/tpl/settings-posthack-security-keys.html.tpl CHANGED
@@ -1,20 +1,12 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Update Security Keys</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- The secret or security keys are a list of constants added to your site to ensure
8
- better encryption of information stored in the user's cookies. A secret key
9
- makes your site harder to hack and access by adding random elements to the
10
- password. You do not have to remember the keys, just write a random,
11
- complicated, and long string in the <code>wp-config.php</code> file. You can
12
- change these keys at any point in time to invalidate all existing cookies,
13
- forcing all users to login again.
14
- </p>
15
 
16
  <div class="sucuriscan-inline-alert-error">
17
- <p>Your session will expire immediately after the security keys are changed.</p>
18
  </div>
19
 
20
  <div class="sucuriscan_wpconfig_keys_updated sucuriscan-monospace sucuriscan-%%SUCURI.WPConfigUpdate.Visibility%%">
@@ -24,9 +16,9 @@
24
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-security-keys-table">
25
  <thead>
26
  <tr>
27
- <th>Status</th>
28
- <th>Constant</th>
29
- <th>Value</th>
30
  </tr>
31
  </thead>
32
 
@@ -43,11 +35,11 @@
43
  <label>
44
  <input type="hidden" name="sucuriscan_process_form" value="0" />
45
  <input type="checkbox" name="sucuriscan_process_form" value="1" />
46
- <span>I understand that this operation can not be reverted.</span>
47
  </label>
48
  </p>
49
 
50
- <input type="submit" value="Generate New Security Keys" class="button button-primary" />
51
  </form>
52
  </div>
53
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.SecretKeys@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.SecretKeysInfo@@</p>
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-error">
9
+ <p>@@SUCURI.SecretKeysExpiration@@</p>
10
  </div>
11
 
12
  <div class="sucuriscan_wpconfig_keys_updated sucuriscan-monospace sucuriscan-%%SUCURI.WPConfigUpdate.Visibility%%">
16
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-security-keys-table">
17
  <thead>
18
  <tr>
19
+ <th>@@SUCURI.Status@@</th>
20
+ <th>@@SUCURI.Name@@</th>
21
+ <th>@@SUCURI.Value@@</th>
22
  </tr>
23
  </thead>
24
 
35
  <label>
36
  <input type="hidden" name="sucuriscan_process_form" value="0" />
37
  <input type="checkbox" name="sucuriscan_process_form" value="1" />
38
+ <span>@@SUCURI.UnderstandTheRisk@@</span>
39
  </label>
40
  </p>
41
 
42
+ <input type="submit" value="@@SUCURI.SecretKeysGenerate@@" class="button button-primary" />
43
  </form>
44
  </div>
45
  </div>
inc/tpl/settings-scanner-ignore-folders.html.tpl CHANGED
@@ -1,23 +1,16 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Ignore Files And Folders During The Scans</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Use this tool to select the files and/or folders that are too heavy
8
- for the scanner to process. These are usually folders with images,
9
- media files like videos and audios, backups and &mdash; in general
10
- &mdash; anything that is not code-related. Ignoring these files or
11
- folders will reduce the memory consumption of the PHP script.
12
- </p>
13
 
14
  <script type="text/javascript">
15
  /* global jQuery */
16
  /* jshint camelcase: false */
17
  jQuery(function ($) {
18
  $('.sucuriscan-ignorescanning tbody').html(
19
- '<tr><td colspan="3"><span>Loading <em>(may take' +
20
- ' several seconds)</em>...</span></td></tr>'
21
  );
22
  $.post('%%SUCURI.AjaxURL.Dashboard%%', {
23
  action: 'sucuriscan_ajax',
@@ -34,9 +27,9 @@
34
  <input type="hidden" name="sucuriscan_ignorescanning_action" value="ignore" />
35
 
36
  <fieldset class="sucuriscan-clearfix">
37
- <label>Ignore One Single File:</label>
38
  <input type="text" name="sucuriscan_ignorescanning_file" placeholder="e.g. /private/cert.crt" />
39
- <button type="submit" class="button button-primary">Proceed</button>
40
  </fieldset>
41
  </form>
42
 
@@ -51,8 +44,8 @@
51
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
52
  <input id="cb-select-all-1" type="checkbox">
53
  </td>
54
- <th class="manage-column">Directory or File Path</th>
55
- <th class="manage-column">Status</th>
56
  </thead>
57
 
58
  <tbody>
@@ -62,13 +55,13 @@
62
  <div class="sucuriscan-recipient-form">
63
  <label>
64
  <select name="sucuriscan_ignorescanning_action">
65
- <option value="">Choose Action</option>
66
- <option value="ignore">Ignore Selected Files And Folders</option>
67
- <option value="unignore">Scan Selected Files And Folders</option>
68
  </select>
69
  </label>
70
 
71
- <button type="submit" class="button button-primary">Proceed</button>
72
  </div>
73
  </form>
74
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.IgnoreFiles@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.IgnoreFilesInfo@@</p>
 
 
 
 
 
 
7
 
8
  <script type="text/javascript">
9
  /* global jQuery */
10
  /* jshint camelcase: false */
11
  jQuery(function ($) {
12
  $('.sucuriscan-ignorescanning tbody').html(
13
+ '<tr><td colspan="3"><span>@@SUCURI.Loading@@</span></td></tr>'
 
14
  );
15
  $.post('%%SUCURI.AjaxURL.Dashboard%%', {
16
  action: 'sucuriscan_ajax',
27
  <input type="hidden" name="sucuriscan_ignorescanning_action" value="ignore" />
28
 
29
  <fieldset class="sucuriscan-clearfix">
30
+ <label>@@SUCURI.IgnoreFilesSingle@@:</label>
31
  <input type="text" name="sucuriscan_ignorescanning_file" placeholder="e.g. /private/cert.crt" />
32
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
33
  </fieldset>
34
  </form>
35
 
44
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
45
  <input id="cb-select-all-1" type="checkbox">
46
  </td>
47
+ <th class="manage-column">@@SUCURI.FilePath@@</th>
48
+ <th class="manage-column">@@SUCURI.Status@@</th>
49
  </thead>
50
 
51
  <tbody>
55
  <div class="sucuriscan-recipient-form">
56
  <label>
57
  <select name="sucuriscan_ignorescanning_action">
58
+ <option value="">@@SUCURI.Action@@</option>
59
+ <option value="ignore">@@SUCURI.Ignore@@</option>
60
+ <option value="unignore">@@SUCURI.Unignore@@</option>
61
  </select>
62
  </label>
63
 
64
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
65
  </div>
66
  </form>
67
  </div>
inc/tpl/settings-scanner-integrity-cache.html.tpl CHANGED
@@ -1,19 +1,9 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">WordPress Integrity (False/Positives)</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Since the scanner doesn't reads the files during the execution of the
8
- integrity check, it is possible to find false/positives. The scanner
9
- compares a hash generated from the file content but not the content
10
- in itself. If you include, for example, a new empty line in any of
11
- the core WordPress files the scanner will flag that file even if the
12
- modification is harmless. If a file is marked as <em>"added"</em> and
13
- after a manual check of its content you verify that the file is legit,
14
- you can mark it as fixed and the scanner will skip that file the next
15
- time it runs.
16
- </p>
17
 
18
  <form action="%%SUCURI.URL.Settings%%#scanner" method="post">
19
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
@@ -26,9 +16,9 @@
26
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
27
  <input id="cb-select-all-1" type="checkbox">
28
  </td>
29
- <th>Reason</th>
30
- <th>Ignored At</th>
31
- <th>Line</th>
32
  </tr>
33
  </thead>
34
 
@@ -37,14 +27,14 @@
37
 
38
  <tr class="sucuriscan-%%SUCURI.NoFilesVisibility%%">
39
  <td colspan="4">
40
- <em>No files are being ignored.</em>
41
  </td>
42
  </tr>
43
  </tbody>
44
  </table>
45
 
46
  <p>
47
- <button type="submit" class="button button-primary">Stop Ignoring the Selected Files</button>
48
  </p>
49
  </form>
50
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.FalsePositives@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.FalsePositivesInfo@@</p>
 
 
 
 
 
 
 
 
 
 
7
 
8
  <form action="%%SUCURI.URL.Settings%%#scanner" method="post">
9
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
16
  <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
17
  <input id="cb-select-all-1" type="checkbox">
18
  </td>
19
+ <th>@@SUCURI.Reason@@</th>
20
+ <th>@@SUCURI.IgnoredAt@@</th>
21
+ <th>@@SUCURI.FilePath@@</th>
22
  </tr>
23
  </thead>
24
 
27
 
28
  <tr class="sucuriscan-%%SUCURI.NoFilesVisibility%%">
29
  <td colspan="4">
30
+ <em>@@SUCURI.NoData@@</em>
31
  </td>
32
  </tr>
33
  </tbody>
34
  </table>
35
 
36
  <p>
37
+ <button type="submit" class="button button-primary">@@SUCURI.FalsePositivesUnignore@@</button>
38
  </p>
39
  </form>
40
  </div>
inc/tpl/settings-scanner-integrity-diff-utility.html.tpl CHANGED
@@ -1,28 +1,12 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">WordPress Integrity (Diff Utility)</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- Since the scanner doesn't reads the files during the execution of the
8
- integrity check, it is possible to find false/positives. The scanner
9
- compares a hash generated from the file content but not the content
10
- in itself. If you include, for example, a new empty line in any of
11
- the core WordPress files the scanner will flag that file even if the
12
- modification is harmless.
13
- </p>
14
-
15
- <p>
16
- However, if your server allows the execution of system commands, you
17
- can configure the plugin to use the <a href="https://en.wikipedia.org/wiki/Diff_utility"
18
- target="_blank" rel="noopener">Unix Diff Utility</a> to compare the actual content
19
- of the file installed in the website and the original file provided
20
- by WordPress. This will show the differences between both files and
21
- then you can act upon the information provided.
22
- </p>
23
 
24
  <div class="sucuriscan-hstatus sucuriscan-hstatus-%%SUCURI.DiffUtility.StatusNum%%">
25
- <span>WordPress Integrity using the Unix Diff Utility is %%SUCURI.DiffUtility.Status%%</span>
26
 
27
  <form action="%%SUCURI.URL.Settings%%#scanner" method="post">
28
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.DiffUtility@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.DiffUtilityDescription@@</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-hstatus sucuriscan-hstatus-%%SUCURI.DiffUtility.StatusNum%%">
9
+ <span>@@SUCURI.DiffUtility@@ &mdash; %%SUCURI.DiffUtility.Status%%</span>
10
 
11
  <form action="%%SUCURI.URL.Settings%%#scanner" method="post">
12
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
inc/tpl/settings-scanner-integrity-language.html.tpl CHANGED
@@ -1,26 +1,12 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">WordPress Integrity (Language)</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- The information necessary to check the WordPress integrity uses data
8
- obtained from the <a href="http://codex.wordpress.org/WordPress.org_API"
9
- target="_blank" rel="noopener">WordPress API</a>. It compares this data with the
10
- content of the files installed in your website. By default the API
11
- returns this data for the English version of WordPress. If your
12
- website is using a non-English version of the code you will have to
13
- specify the language to reduce the amount of false/positives.
14
- </p>
15
 
16
  <div class="sucuriscan-inline-alert-info">
17
- <p>
18
- <b>NOTE:</b> Not all the languages are supported. If you notice
19
- a high amount of false/positives please consider to switch the
20
- option back to English and then mark the files that you consider
21
- are clean as such, they will be ignored by the scanner the next
22
- time it runs.
23
- </p>
24
  </div>
25
 
26
  <form action="%%SUCURI.URL.Settings%%#scanner" method="post">
@@ -30,7 +16,7 @@
30
  <select name="sucuriscan_set_language">
31
  %%%SUCURI.Integrity.LanguageDropdown%%%
32
  </select>
33
- <button type="submit" class="button button-primary">Proceed</button>
34
  <span><em>(WordPress Locale %%SUCURI.Integrity.WordPressLocale%%)</em></span>
35
  </fieldset>
36
  </form>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.IntegrityLanguageTitle@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.IntegrityInfo@@</p>
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-info">
9
+ <p>@@SUCURI.IntegrityNote@@</p>
 
 
 
 
 
 
10
  </div>
11
 
12
  <form action="%%SUCURI.URL.Settings%%#scanner" method="post">
16
  <select name="sucuriscan_set_language">
17
  %%%SUCURI.Integrity.LanguageDropdown%%%
18
  </select>
19
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
20
  <span><em>(WordPress Locale %%SUCURI.Integrity.WordPressLocale%%)</em></span>
21
  </fieldset>
22
  </form>
inc/tpl/settings-scanner-options.html.tpl CHANGED
@@ -1,41 +1,23 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Scanner Settings</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- The plugin scans your entire website looking for changes which are
8
- later reported via the API in the audit logs page. This scanner runs
9
- twice-daily by default but you can change the frequency to meet your
10
- own requirements. Notice that scanning your project files too frequently
11
- will affect the performance of your website. Be sure to have enough
12
- server resources before changing this option. The memory limit and
13
- maximum execution time are two of the PHP options that your server
14
- will set to stop your website from consuming too much resources.
15
- </p>
16
 
17
  <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.NoSPL.Visibility%%">
18
- <p>
19
- The scanner uses the <a href="http://php.net/manual/en/class.splfileobject.php"
20
- target="_blank" rel="noopener">PHP SPL library</a> and the <a target="_blank"
21
- href="http://php.net/manual/en/class.filesystemiterator.php" rel="noopener">
22
- Filesystem Iterator</a> class to scan the directory tree where
23
- your website is located in the server. This library is only
24
- available on PHP 5 >= 5.3.0 &mdash; OR &mdash; PHP 7; if you have
25
- an older version of PHP the plugin will not work as expected.
26
- Please ask your hosting provider to advice you on this matter.
27
- </p>
28
  </div>
29
 
30
  <form action="%%SUCURI.URL.Settings%%#scanner" method="post">
31
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
32
 
33
  <fieldset class="sucuriscan-clearfix">
34
- <label>Scanning Frequency</label>
35
  <select name="sucuriscan_scan_frequency">
36
  %%%SUCURI.ScanningFrequencyOptions%%%
37
  </select>
38
- <button type="submit" class="button button-primary">Change</button>
39
  </fieldset>
40
  </form>
41
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.ScannerTitle@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.ScannerDescription@@</p>
 
 
 
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.NoSPL.Visibility%%">
9
+ <p>@@SUCURI.ScannerWithoutSPL@@</p>
 
 
 
 
 
 
 
 
 
10
  </div>
11
 
12
  <form action="%%SUCURI.URL.Settings%%#scanner" method="post">
13
  <input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
14
 
15
  <fieldset class="sucuriscan-clearfix">
16
+ <label>@@SUCURI.ScannerFrequency@@</label>
17
  <select name="sucuriscan_scan_frequency">
18
  %%%SUCURI.ScanningFrequencyOptions%%%
19
  </select>
20
+ <button type="submit" class="button button-primary">@@SUCURI.Submit@@</button>
21
  </fieldset>
22
  </form>
23
  </div>
inc/tpl/settings-webinfo-details.html.tpl CHANGED
@@ -1,6 +1,6 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Website Environment Variables</h3>
4
 
5
  <div class="inside">
6
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-server-info">
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.EnvVariables@@</h3>
4
 
5
  <div class="inside">
6
  <table class="wp-list-table widefat sucuriscan-table sucuriscan-server-info">
inc/tpl/settings-webinfo-htaccess.html.tpl CHANGED
@@ -1,39 +1,26 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">Access File Integrity</h3>
4
 
5
  <div class="inside">
6
- <p>
7
- The <code>.htaccess</code> is a distributed configuration file, and is how the
8
- Apache web server handles configuration changes on a per-directory basis.
9
- WordPress uses this file to manipulate how Apache serves files from its root
10
- directory and subdirectories thereof; most notably, it modifies this file to be
11
- able to handle pretty permalinks.
12
- </p>
13
 
14
  <div class="sucuriscan-inline-alert-success sucuriscan-%%SUCURI.HTAccess.FoundVisible%%">
15
- <p>HTAccess file found in this path <code>%%SUCURI.HTAccess.Fpath%%</code></p>
16
  </div>
17
 
18
  <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.HTAccess.NotFoundVisible%%">
19
- <p>Your website has no <code>.htaccess</code> file or it was not found in the default location.</p>
20
  </div>
21
 
22
  <div class="sucuriscan-inline-alert-info sucuriscan-%%SUCURI.HTAccess.StandardVisible%%">
23
- <p>
24
- The main <code>.htaccess</code> file in your site has the standard rules for a
25
- WordPress installation. You can customize it to improve the performance and
26
- change the behaviour of the redirections for pages and posts in your site. To
27
- get more information visit the official documentation at <a target="_blank" rel="noopener"
28
- href="https://codex.wordpress.org/Using_Permalinks#Creating_and_editing_.28.htaccess.29">
29
- Codex WordPress - Creating and editing (.htaccess)</a>
30
- </p>
31
  </div>
32
 
33
  <textarea readonly class="sucuriscan-full-textarea sucuriscan-monospace %%SUCURI.HTAccess.TextareaVisible%%">%%SUCURI.HTAccess.Content%%</textarea>
34
 
35
  <p>
36
- <small>Source <a href="https://codex.wordpress.org/htaccess" target="_blank" rel="noopener">Codex WordPress HTAccess</a></small>
37
  </p>
38
  </div>
39
  </div>
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.HTAccessTitle@@</h3>
4
 
5
  <div class="inside">
6
+ <p>@@SUCURI.HTAccessInfo@@</p>
 
 
 
 
 
 
7
 
8
  <div class="sucuriscan-inline-alert-success sucuriscan-%%SUCURI.HTAccess.FoundVisible%%">
9
+ <p>@@SUCURI.HTAccessFound@@</p>
10
  </div>
11
 
12
  <div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.HTAccess.NotFoundVisible%%">
13
+ <p>@@SUCURI.HTAccessNotFound@@</p>
14
  </div>
15
 
16
  <div class="sucuriscan-inline-alert-info sucuriscan-%%SUCURI.HTAccess.StandardVisible%%">
17
+ <p>@@SUCURI.HTAccessStandard@@</p>
 
 
 
 
 
 
 
18
  </div>
19
 
20
  <textarea readonly class="sucuriscan-full-textarea sucuriscan-monospace %%SUCURI.HTAccess.TextareaVisible%%">%%SUCURI.HTAccess.Content%%</textarea>
21
 
22
  <p>
23
+ <small>&mdash; <a href="https://codex.wordpress.org/htaccess" target="_blank" rel="noopener">Codex WordPress HTAccess</a></small>
24
  </p>
25
  </div>
26
  </div>
inc/tpl/settings-webinfo-wpconfig.html.tpl CHANGED
@@ -1,13 +1,13 @@
1
 
2
  <div class="sucuriscan-panel">
3
- <h3 class="sucuriscan-title">WordPress Configuration Variables</h3>
4
 
5
  <div class="inside">
6
  <table class="wp-list-table widefat sucuriscan-table">
7
  <thead>
8
  <tr>
9
- <th>Variable</th>
10
- <th>Value</th>
11
  </tr>
12
  </thead>
13
 
1
 
2
  <div class="sucuriscan-panel">
3
+ <h3 class="sucuriscan-title">@@SUCURI.ConfigVariables@@</h3>
4
 
5
  <div class="inside">
6
  <table class="wp-list-table widefat sucuriscan-table">
7
  <thead>
8
  <tr>
9
+ <th>@@SUCURI.Name@@</th>
10
+ <th>@@SUCURI.Value@@</th>
11
  </tr>
12
  </thead>
13
 
inc/tpl/settings.html.tpl CHANGED
@@ -1,13 +1,13 @@
1
 
2
  <div class="sucuriscan-tabs">
3
  <ul class="sucuriscan-clearfix sucuriscan-tabs-buttons">
4
- <li><a href="%%SUCURI.URL.Settings%%#general">General</a></li>
5
- <li><a href="%%SUCURI.URL.Settings%%#scanner">Scanner</a></li>
6
- <li><a href="%%SUCURI.URL.Settings%%#hardening">Hardening</a></li>
7
- <li><a href="%%SUCURI.URL.Settings%%#posthack">Post-Hack</a></li>
8
- <li><a href="%%SUCURI.URL.Settings%%#alerts">Alerts</a></li>
9
- <li><a href="%%SUCURI.URL.Settings%%#apiservice">API Service</a></li>
10
- <li><a href="%%SUCURI.URL.Settings%%#webinfo">Website Info</a></li>
11
  </ul>
12
 
13
  <div class="sucuriscan-tabs-containers">
1
 
2
  <div class="sucuriscan-tabs">
3
  <ul class="sucuriscan-clearfix sucuriscan-tabs-buttons">
4
+ <li><a href="%%SUCURI.URL.Settings%%#general">@@SUCURI.General@@</a></li>
5
+ <li><a href="%%SUCURI.URL.Settings%%#scanner">@@SUCURI.Scanner@@</a></li>
6
+ <li><a href="%%SUCURI.URL.Settings%%#hardening">@@SUCURI.Hardening@@</a></li>
7
+ <li><a href="%%SUCURI.URL.Settings%%#posthack">@@SUCURI.PostHack@@</a></li>
8
+ <li><a href="%%SUCURI.URL.Settings%%#alerts">@@SUCURI.Alerts@@</a></li>
9
+ <li><a href="%%SUCURI.URL.Settings%%#apiservice">@@SUCURI.APICommunication@@</a></li>
10
+ <li><a href="%%SUCURI.URL.Settings%%#webinfo">@@SUCURI.WebsiteInfo@@</a></li>
11
  </ul>
12
 
13
  <div class="sucuriscan-tabs-containers">
inc/tpl/sitecheck-malware.html.tpl CHANGED
@@ -17,12 +17,6 @@
17
  </ul>
18
 
19
  <div class="sucuriscan-sitecheck-footnote">
20
- <p>
21
- If our free scanner did not detect any issue, you may have a
22
- more complicated and hidden problem. You can <a target="_blank"
23
- href="https://sucuri.net/website-security-platform/signup">sign
24
- up with Sucuri</a> for a complete and in-depth scan + cleanup
25
- (not included in the free checks).
26
- </p>
27
  </div>
28
  </div>
17
  </ul>
18
 
19
  <div class="sucuriscan-sitecheck-footnote">
20
+ <p>@@SUCURI.SiteCheckNoResults@@</p>
 
 
 
 
 
 
21
  </div>
22
  </div>
inc/tpl/sitecheck-malware.snippet.tpl CHANGED
@@ -4,5 +4,5 @@
4
 
5
  <p>%%SUCURI.Malware.AlertMessage%% <a href="%%SUCURI.Malware.InfectedURL%%" target="_blank">%%SUCURI.Malware.InfectedURL%%</a></p>
6
 
7
- <p><em class="sucuriscan-tooltip" content="%%SUCURI.Malware.MalwarePayload%%">(Hover to see the Payload)</em></p>
8
  </li>
4
 
5
  <p>%%SUCURI.Malware.AlertMessage%% <a href="%%SUCURI.Malware.InfectedURL%%" target="_blank">%%SUCURI.Malware.InfectedURL%%</a></p>
6
 
7
+ <p><em class="sucuriscan-tooltip" content="%%SUCURI.Malware.MalwarePayload%%">(@@SUCURI.HoverForPayload@@)</em></p>
8
  </li>
inc/tpl/sitecheck-recommendations.html.tpl CHANGED
@@ -1,6 +1,6 @@
1
 
2
  <div class="sucuriscan-panel sucuriscan-sitecheck-list sucuriscan-sitecheck-recommendations sucuriscan-%%SUCURI.Recommendations.Visibility%%">
3
- <h3 class="sucuriscan-tag-title sucuriscan-tag-blue">Recomendations</h3>
4
 
5
  <ul>
6
  %%%SUCURI.Recommendations.Content%%%
1
 
2
  <div class="sucuriscan-panel sucuriscan-sitecheck-list sucuriscan-sitecheck-recommendations sucuriscan-%%SUCURI.Recommendations.Visibility%%">
3
+ <h3 class="sucuriscan-tag-title sucuriscan-tag-blue">@@SUCURI.Recomendations@@</h3>
4
 
5
  <ul>
6
  %%%SUCURI.Recommendations.Content%%%
languages/sucuri-scanner-en_US.mo CHANGED
Binary file
languages/sucuri-scanner-en_US.po CHANGED
@@ -26,6 +26,15 @@ msgstr "Last Logins"
26
  msgid "Settings"
27
  msgstr "Settings"
28
 
 
 
 
 
 
 
 
 
 
29
  msgid "GenerateAPIKey"
30
  msgstr "Generate API Key"
31
 
@@ -47,6 +56,12 @@ msgstr "Do you want to get vulnerability disclosures? Subscribe to our newslette
47
  msgid "EnableAPIServiceAgain"
48
  msgstr "API service communication is disabled, if you just updated the plugin this might be a good opportunity to test this feature once again with the new code. Enable it again from the \"API Service\" panel located in the settings page."
49
 
 
 
 
 
 
 
50
  msgid "InvalidAPIKey"
51
  msgstr "Invalid API key format"
52
 
@@ -89,9 +104,18 @@ msgstr "Disable"
89
  msgid "Disabled"
90
  msgstr "Disabled"
91
 
 
 
 
 
 
 
92
  msgid "Ignored"
93
  msgstr "Ignored"
94
 
 
 
 
95
  msgid "Done"
96
  msgstr "Done"
97
 
@@ -101,9 +125,15 @@ msgstr "Error"
101
  msgid "Good"
102
  msgstr "good"
103
 
 
 
 
104
  msgid "NotSet"
105
  msgstr "(not set)"
106
 
 
 
 
107
  msgid "NotRandomized"
108
  msgstr "not randomized"
109
 
@@ -116,6 +146,21 @@ msgstr "File parent directory is not writable."
116
  msgid "DoesNotExist"
117
  msgstr "Does Not Exist"
118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  msgid "Exists"
120
  msgstr "Exists"
121
 
@@ -128,12 +173,27 @@ msgstr "Today"
128
  msgid "NoLogs"
129
  msgstr "There are no logs."
130
 
 
 
 
131
  msgid "SelfHostingEnabled"
132
  msgstr "The log exporter feature has been enabled and the data file was successfully set."
133
 
134
  msgid "SelfHostingDisabled"
135
  msgstr "The log exporter feature has been disabled"
136
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  msgid "UnsupportedWordPress"
138
  msgstr "WordPress version is not supported."
139
 
@@ -326,6 +386,33 @@ msgstr "Password"
326
  msgid "RemoteAddr"
327
  msgstr "IP Address"
328
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
  msgid "AttemptTimestamp"
330
  msgstr "Attempt Timestamp"
331
 
@@ -335,6 +422,9 @@ msgstr "Attempt Date/Time"
335
  msgid "ConfirmOperation"
336
  msgstr "You need to confirm that you understand the risk of this operation."
337
 
 
 
 
338
  msgid "NonSupportedAction"
339
  msgstr "Requested action is not supported."
340
 
@@ -362,6 +452,9 @@ msgstr "The plugin has no permission to restore this file because it was modifie
362
  msgid "ErrorIntegrityRemoved"
363
  msgstr "The plugin has no permission to restore this file because its directory is owned by a different system user who has more privileges than your account. Please use FTP to restore it."
364
 
 
 
 
365
  msgid "AlertSettingsUpdated"
366
  msgstr "The alert settings have been updated"
367
 
@@ -497,6 +590,15 @@ msgstr "Access control file is not writable"
497
  msgid "DiffUtility"
498
  msgstr "WordPress Integrity Diff Utility"
499
 
 
 
 
 
 
 
 
 
 
500
  msgid "AccountsWereBlocked"
501
  msgstr "Selected user accounts were blocked"
502
 
@@ -512,9 +614,24 @@ msgstr "Last-logins data file is not writable: <code>%1$s</code>"
512
  msgid "UserInfo"
513
  msgstr "User: %1$s (%2$s)"
514
 
 
 
 
515
  msgid "ReverseProxyStatus"
516
  msgstr "Reverse proxy support was set to <b>%1$s</b>"
517
 
 
 
 
 
 
 
 
 
 
 
 
 
518
  msgid "HTTPHeaderStatus"
519
  msgstr "HTTP header was set to <code>%1$s</code>"
520
 
@@ -524,6 +641,24 @@ msgstr "HTTP header is not allowed"
524
  msgid "RequiresModernPHP"
525
  msgstr "The plugin requires PHP 5 >= 5.3.0 - OR - PHP 7"
526
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  msgid "Loading"
528
  msgstr "Loading..."
529
 
@@ -545,6 +680,33 @@ msgstr "Links: %1$d"
545
  msgid "ScriptsNum"
546
  msgstr "Scripts: %1$d"
547
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
548
  msgid "ConfigNotFound"
549
  msgstr "WordPress configuration file was not found."
550
 
@@ -626,6 +788,12 @@ msgstr "File should not be publicly accessible."
626
  msgid "AvoidFileOverride"
627
  msgstr "File already exists and will not be overwritten."
628
 
 
 
 
 
 
 
629
  msgid "CronjobRunNow"
630
  msgstr "Execute Now (in +10 seconds)"
631
 
@@ -644,18 +812,30 @@ msgstr "No scheduled tasks were selected from the list."
644
  msgid "DNSLookupStatus"
645
  msgstr "The status of the DNS lookups for the reverse proxy detection has been changed"
646
 
647
- msgid "CommentMonitorStatus"
648
- msgstr "The status of the comment monitor has been changed"
649
-
650
- msgid "AuditLogReportLimit"
651
- msgstr "The number of logs that will be used to generate the audit report has been changed"
652
-
653
  msgid "IncorrectEncoding"
654
  msgstr "Data is incorrectly encoded"
655
 
656
  msgid "ImportCount"
657
  msgstr "%1$d out of %2$d option have been successfully imported"
658
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
659
  msgid "ApplyHardening"
660
  msgstr "Apply Hardening"
661
 
@@ -809,9 +989,6 @@ msgstr "Your hosting provider has blocked the execution of external commands."
809
  msgid "IntegrityLanguage"
810
  msgstr "The language for the core integrity checks has been changed"
811
 
812
- msgid "SecretKeysUpdated"
813
- msgstr "Secret keys updated successfully (summary of the operation bellow)."
814
-
815
  msgid "NotInstalled"
816
  msgstr "not installed"
817
 
@@ -853,3 +1030,459 @@ msgstr "Blacklisted"
853
 
854
  msgid "NotBlacklisted"
855
  msgstr "Not Blacklisted"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  msgid "Settings"
27
  msgstr "Settings"
28
 
29
+ msgid "AuditLogs"
30
+ msgstr "Audit Logs"
31
+
32
+ msgid "Statistics"
33
+ msgstr "Statistics"
34
+
35
+ msgid "ClearCache"
36
+ msgstr "Clear Cache"
37
+
38
  msgid "GenerateAPIKey"
39
  msgstr "Generate API Key"
40
 
56
  msgid "EnableAPIServiceAgain"
57
  msgstr "API service communication is disabled, if you just updated the plugin this might be a good opportunity to test this feature once again with the new code. Enable it again from the \"API Service\" panel located in the settings page."
58
 
59
+ msgid "Save"
60
+ msgstr "Save"
61
+
62
+ msgid "Delete"
63
+ msgstr "Delete"
64
+
65
  msgid "InvalidAPIKey"
66
  msgstr "Invalid API key format"
67
 
104
  msgid "Disabled"
105
  msgstr "Disabled"
106
 
107
+ msgid "Ignore"
108
+ msgstr "Ignore"
109
+
110
+ msgid "Unignore"
111
+ msgstr "Unignore"
112
+
113
  msgid "Ignored"
114
  msgstr "Ignored"
115
 
116
+ msgid "Submit"
117
+ msgstr "Submit"
118
+
119
  msgid "Done"
120
  msgstr "Done"
121
 
125
  msgid "Good"
126
  msgstr "good"
127
 
128
+ msgid "Edit"
129
+ msgstr "Edit"
130
+
131
  msgid "NotSet"
132
  msgstr "(not set)"
133
 
134
+ msgid "Download"
135
+ msgstr "Download"
136
+
137
  msgid "NotRandomized"
138
  msgstr "not randomized"
139
 
146
  msgid "DoesNotExist"
147
  msgstr "Does Not Exist"
148
 
149
+ msgid "Email"
150
+ msgstr "E-mail"
151
+
152
+ msgid "Website"
153
+ msgstr "Website"
154
+
155
+ msgid "Message"
156
+ msgstr "Message"
157
+
158
+ msgid "Information"
159
+ msgstr "Information"
160
+
161
+ msgid "Event"
162
+ msgstr "Event"
163
+
164
  msgid "Exists"
165
  msgstr "Exists"
166
 
173
  msgid "NoLogs"
174
  msgstr "There are no logs."
175
 
176
+ msgid "SelfHosting"
177
+ msgstr "Log Exporter"
178
+
179
  msgid "SelfHostingEnabled"
180
  msgstr "The log exporter feature has been enabled and the data file was successfully set."
181
 
182
  msgid "SelfHostingDisabled"
183
  msgstr "The log exporter feature has been disabled"
184
 
185
+ msgid "SelfHostingInfo"
186
+ msgstr "This option allows you to export the WordPress audit logs to a local log file that can be read by a SIEM or any log analysis software <em>(we recommend OSSEC)</em>. That will give visibility from within WordPress to complement your log monitoring infrastructure."
187
+
188
+ msgid "SelfHostingFallback"
189
+ msgstr "You don't have a valid API key to communicate with the remote API service. However, the self-hosting monitor is enabled, the plugin will read the logs from that file and display the data here. Notice that only the latest logs will be processed to keep a low memory footprint. Consider to generate a free API key to get a better coverage of the activity in your website."
190
+
191
+ msgid "AuditLogsCache"
192
+ msgstr "This data is cached for %%SUCURI.AuditLogs.Lifetime%% seconds"
193
+
194
+ msgid "Refresh"
195
+ msgstr "Refresh"
196
+
197
  msgid "UnsupportedWordPress"
198
  msgstr "WordPress version is not supported."
199
 
386
  msgid "RemoteAddr"
387
  msgstr "IP Address"
388
 
389
+ msgid "Hostname"
390
+ msgstr "Hostname"
391
+
392
+ msgid "Browser"
393
+ msgstr "Web Browser"
394
+
395
+ msgid "Datetime"
396
+ msgstr "Date/Time"
397
+
398
+ msgid "Block"
399
+ msgstr "Block"
400
+
401
+ msgid "Unblock"
402
+ msgstr "Unblock"
403
+
404
+ msgid "BlockedAt"
405
+ msgstr "Blocked At"
406
+
407
+ msgid "FirstAttempt"
408
+ msgstr "First Attempt"
409
+
410
+ msgid "LastAttempt"
411
+ msgstr "Last Attempt"
412
+
413
+ msgid "LastActivity"
414
+ msgstr "Last Activity"
415
+
416
  msgid "AttemptTimestamp"
417
  msgstr "Attempt Timestamp"
418
 
422
  msgid "ConfirmOperation"
423
  msgstr "You need to confirm that you understand the risk of this operation."
424
 
425
+ msgid "UnderstandTheRisk"
426
+ msgstr "I understand that this operation can not be reverted."
427
+
428
  msgid "NonSupportedAction"
429
  msgstr "Requested action is not supported."
430
 
452
  msgid "ErrorIntegrityRemoved"
453
  msgstr "The plugin has no permission to restore this file because its directory is owned by a different system user who has more privileges than your account. Please use FTP to restore it."
454
 
455
+ msgid "SecurityAlerts"
456
+ msgstr "Security Alerts"
457
+
458
  msgid "AlertSettingsUpdated"
459
  msgstr "The alert settings have been updated"
460
 
590
  msgid "DiffUtility"
591
  msgstr "WordPress Integrity Diff Utility"
592
 
593
+ msgid "DiffUtilityDescription"
594
+ msgstr "If your server allows the execution of system commands, you can configure the plugin to use the <a href=\"https://en.wikipedia.org/wiki/Diff_utility\" target=\"_blank\" rel=\"noopener\">Unix Diff Utility</a> to compare the actual content of the file installed in the website and the original file provided by WordPress. This will show the differences between both files and then you can act upon the information provided."
595
+
596
+ msgid "DiffUtilityInfo"
597
+ msgstr "The Unix Diff Utility is enabled. You can click the files marked as modified <em>(the ones with the purple flag)</em> to see the differences detected by the scanner. If you consider the differences to be harmless you can mark the file as fixed, otherwise it is adviced to restore the original content immediately."
598
+
599
+ msgid "DiffUtilityInstructions"
600
+ msgstr "Lines with a <b>minus</b> sign as the prefix <em>(here in red)</em> show the original code. Lines with a <b>plus</b> sign as the prefix <em>(here in green)</em> show the modified code. You can read more about the DIFF format from the WikiPedia article about the <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Diff_utility\" rel=\"noopener\">Unix Diff Utility</a>."
601
+
602
  msgid "AccountsWereBlocked"
603
  msgstr "Selected user accounts were blocked"
604
 
614
  msgid "UserInfo"
615
  msgstr "User: %1$s (%2$s)"
616
 
617
+ msgid "ReverseProxy"
618
+ msgstr "Reverse Proxy"
619
+
620
  msgid "ReverseProxyStatus"
621
  msgstr "Reverse proxy support was set to <b>%1$s</b>"
622
 
623
+ msgid "ReverseProxyInfo"
624
+ msgstr "The event monitor uses the API address of the origin of the request to track the actions, the plugin uses two methods to retrieve this: the main method uses the global server variable <em>Remote-Addr</em> available in most modern web servers, an alternative method uses custom HTTP headers <em>(which are unsafe by default)</em>. You should not worry about this option unless you know what a reverse proxy is. Services like the <a href=\"https://sucuri.net/website-firewall/\" target=\"_blank\">Sucuri Firewall</a> &mdash; once active &mdash; forces the network traffic to pass through them to filter any security threat that may affect the original server. A side effect of this is that the real IP address is no longer available in the global server variable <em>REMOTE-ADDR</em> but in a custom HTTP header with a name provided by the service."
625
+
626
+ msgid "IPDiscoverer"
627
+ msgstr "IP Address Discoverer"
628
+
629
+ msgid "IPDiscovererInfo"
630
+ msgstr "IP address discoverer will use DNS lookups to automatically detect if the website is behind the <a href=\"https://sucuri.net/website-firewall/\" target=\"_blank\">Sucuri Firewall</a> in which case will modify the global server variable <em>Remote-Addr</em> to set the real IP of the website's visitors. This check runs on every WordPress init action and that is why it may slow down your website as some hosting providers rely on slow DNS servers which makes the operation take more time than it should."
631
+
632
+ msgid "HTTPHeader"
633
+ msgstr "HTTP Header"
634
+
635
  msgid "HTTPHeaderStatus"
636
  msgstr "HTTP header was set to <code>%1$s</code>"
637
 
641
  msgid "RequiresModernPHP"
642
  msgstr "The plugin requires PHP 5 >= 5.3.0 - OR - PHP 7"
643
 
644
+ msgid "General"
645
+ msgstr "General"
646
+
647
+ msgid "Scanner"
648
+ msgstr "Scanner"
649
+
650
+ msgid "Hardening"
651
+ msgstr "Hardening"
652
+
653
+ msgid "PostHack"
654
+ msgstr "Post-Hack"
655
+
656
+ msgid "Alerts"
657
+ msgstr "Alerts"
658
+
659
+ msgid "WebsiteInfo"
660
+ msgstr "Website Info"
661
+
662
  msgid "Loading"
663
  msgstr "Loading..."
664
 
680
  msgid "ScriptsNum"
681
  msgstr "Scripts: %1$d"
682
 
683
+ msgid "Type"
684
+ msgstr "Type"
685
+
686
+ msgid "Name"
687
+ msgstr "Name"
688
+
689
+ msgid "Value"
690
+ msgstr "Value"
691
+
692
+ msgid "Version"
693
+ msgstr "Version"
694
+
695
+ msgid "NextDue"
696
+ msgstr "Next Due"
697
+
698
+ msgid "Schedule"
699
+ msgstr "Schedule"
700
+
701
+ msgid "Arguments"
702
+ msgstr "Arguments"
703
+
704
+ msgid "EnvVariables"
705
+ msgstr "Environment Variables"
706
+
707
+ msgid "ConfigVariables"
708
+ msgstr "Configuration Variables"
709
+
710
  msgid "ConfigNotFound"
711
  msgstr "WordPress configuration file was not found."
712
 
788
  msgid "AvoidFileOverride"
789
  msgstr "File already exists and will not be overwritten."
790
 
791
+ msgid "Cronjobs"
792
+ msgstr "Scheduled Tasks"
793
+
794
+ msgid "CronjobsInfo"
795
+ msgstr "<b>Scheduled Tasks</b> are rules registered in your database by a plugin, theme, or the base system itself; they are used to automatically execute actions defined in the code every certain amount of time. A good use of these rules is to generate backup files of your site, execute a security scanner, or remove unused elements like drafts."
796
+
797
  msgid "CronjobRunNow"
798
  msgstr "Execute Now (in +10 seconds)"
799
 
812
  msgid "DNSLookupStatus"
813
  msgstr "The status of the DNS lookups for the reverse proxy detection has been changed"
814
 
 
 
 
 
 
 
815
  msgid "IncorrectEncoding"
816
  msgstr "Data is incorrectly encoded"
817
 
818
  msgid "ImportCount"
819
  msgstr "%1$d out of %2$d option have been successfully imported"
820
 
821
+ msgid "APIKey"
822
+ msgstr "API Key"
823
+
824
+ msgid "APIKeyInfo"
825
+ msgstr "Most of the tools in this plugin can be used without a specific configuration, but the core features <b>require an API key</b> to communicate with the Sucuri services. The key is generated using your administrator e-mail and the domain of this site, this will allow you to have access to our free monitoring tool and other extra features."
826
+
827
+ msgid "APIKeyTerms"
828
+ msgstr "Generating an API key implies that you agree to send the information collected by the plugin to the Sucuri API service which is a remote server where the information for the audit logs is stored, this is to prevent malicious users to delete the logs during an attack which may affect an investigation if you suspect that your website was hacked. We also use this information to display <a href=\"https://sucuri.net/security-reports/brute-force/\" target=\"_blank\">statistics</a> and try to use the data in an anonymous way as we are concerned about your privacy too. Please do not generate an API key if you do not agree with this, you can keep using the plugin without it anyway."
829
+
830
+ msgid "APIKeyInvalidDomain"
831
+ msgstr "Your domain <code>%%SUCURI.CleanDomain%%</code> does not seems to have a DNS <code>A</code> record so it will be considered as <em>invalid</em> by the API interface when you request the generation of a new key. Adding <code>www</code> at the beginning of the domain name may fix this issue. If you do not understand what is this then send an email to our support team requesting the key."
832
+
833
+ msgid "APIKeyRecoverButton"
834
+ msgstr "Recover Via E-mail"
835
+
836
+ msgid "APIKeyRecoveryCondition"
837
+ msgstr "If you don't have access to the e-mail address used to generate the API key, but have a copy of the key at hand you can <a target=\"_self\" href=\"%%SUCURI.URL.Settings%%&recover\">click this link</a> to activate the plugin manually. Be aware that if the key is invalid the plugin will delete it afterwards."
838
+
839
  msgid "ApplyHardening"
840
  msgstr "Apply Hardening"
841
 
989
  msgid "IntegrityLanguage"
990
  msgstr "The language for the core integrity checks has been changed"
991
 
 
 
 
992
  msgid "NotInstalled"
993
  msgstr "not installed"
994
 
1030
 
1031
  msgid "NotBlacklisted"
1032
  msgstr "Not Blacklisted"
1033
+
1034
+ msgid "APIKeyExplanation"
1035
+ msgstr "An API key is required to activate some additional tools available in this plugin. The keys are free and you can virtually generate an unlimited number of them as long as the domain name and email address are unique. The key is used to authenticate the HTTP requests sent by the plugin to a public API service managed by Sucuri Inc. Do not generate the key if you disagree with this."
1036
+
1037
+ msgid "APIKeyHelp"
1038
+ msgstr "If you experience issues generating the API key you can request one sending the domain name and email address that you want to use to <a href=\"mailto:info@sucuri.net\">info@sucuri.net</a>. Note generating a key for a website that is not facing the Internet is not possible because the API service needs to validate that the domain name exists, however, if you want to test the plugin in a development environment please contact us so we can generate the key manually."
1039
+
1040
+ msgid "APIKeyGenerated"
1041
+ msgstr "Congratulations! The rest of the features available in the plugin have been enabled. This product is designed to supplement existing security products. It's not a silver bullet for your security needs, but it'll give you greater security awareness and better posture, all with the intent of reducing risk."
1042
+
1043
+ msgid "APIKeyContinueSetup"
1044
+ msgstr "Your website has been granted a new API key and it was associated to the email address that you chose during the registration process. You can use the same email to recover the key if you happen to lose it sometime. We encourage you to check the rest of the settings page and configure the plugin to your own needs."
1045
+
1046
+ msgid "APIKeyRecoveryExplanation"
1047
+ msgstr "If this operation was successful you will receive a message in the email used during the registration of the API key <em>(usually the email of the main admin user)</em>. This message contains the key in plain text, copy and paste the key in the form field below. The plugin will verify the authenticity of the key sending an initial HTTP request to the API service, if this fails the key will be removed automatically and you will have to start the process all over again."
1048
+
1049
+ msgid "APIKeyRecoveryPossibleFailures"
1050
+ msgstr "There are cases where this operation may fail, an example would be when the email address is not associated with the domain anymore, this happens when the base URL changes <em>(from www to none or viceversa)</em>. If you are having issues recovering the key please send an email explaining the situation to <a href=\"mailto:info@sucuri.net\">info@sucuri.net</a>"
1051
+
1052
+ msgid "DNSLookups"
1053
+ msgstr "DNS Lookups"
1054
+
1055
+ msgid "DNSLookupsLabel"
1056
+ msgstr "Enable DNS Lookups On Startup"
1057
+
1058
+ msgid "DNSLookupsText"
1059
+ msgstr "Check the box if your website is behind a known firewall service, this guarantees that the IP address of your visitors will be detected correctly for the security logs. You can change this later from the settings."
1060
+
1061
+ msgid "IntegrityTitle"
1062
+ msgstr "WordPress Integrity"
1063
+
1064
+ msgid "IntegrityDescription"
1065
+ msgstr "We inspect your WordPress installation and look for modifications on the core files as provided by WordPress.org. Files located in the root directory, wp-admin and wp-includes will be compared against the files distributed with v%%SUCURI.WordPressVersion%%; all files with inconsistencies will be listed here. Any changes might indicate a hack."
1066
+
1067
+ msgid "ReviewFalsePositives"
1068
+ msgstr "Review False/Positives"
1069
+
1070
+ msgid "IntegrityGoodTitle"
1071
+ msgstr "All Core WordPress Files Are Correct"
1072
+
1073
+ msgid "IntegrityGoodDescription"
1074
+ msgstr "We have not identified additional files, deleted files, or relevant changes to the core files in your WordPress installation. If you are experiencing other malware issues, please use a <a target=\"_blank\" href=\"https://sucuri.net/website-security/malware-removal\">Server Side Scanner</a>."
1075
+
1076
+ msgid "IntegrityBadTitle"
1077
+ msgstr "Core WordPress Files Were Modified"
1078
+
1079
+ msgid "IntegrityBadDescription"
1080
+ msgstr "We identified that some of your WordPress core files were modified. That might indicate a hack or a broken file on your installation. If you are experiencing other malware issues, please use a <a href=\"https://sucuri.net/website-security/malware-removal\" target=\"_blank\">Server Side Scanner</a>."
1081
+
1082
+ msgid "MarkFixedDescription"
1083
+ msgstr "Marking one or more files as fixed will force the plugin to ignore them during the next scan, very useful when you find false positives. Additionally you can restore the original content of the core files that appear as modified or deleted, this will tell the plugin to download a copy of the original files from the official <a href=\"https://core.svn.wordpress.org/tags/\" target=\"_blank\" rel=\"noopener\">WordPress repository</a>. Deleting a file is an irreversible action, be careful."
1084
+
1085
+ msgid "Action"
1086
+ msgstr "Action"
1087
+
1088
+ msgid "Status"
1089
+ msgstr "Status"
1090
+
1091
+ msgid "FileSize"
1092
+ msgstr "File Size"
1093
+
1094
+ msgid "ModifiedAt"
1095
+ msgstr "Modified At"
1096
+
1097
+ msgid "Pattern"
1098
+ msgstr "Pattern"
1099
+
1100
+ msgid "FilePath"
1101
+ msgstr "File Path"
1102
+
1103
+ msgid "Directory"
1104
+ msgstr "Directory"
1105
+
1106
+ msgid "MarkFixed"
1107
+ msgstr "Mark as Fixed"
1108
+
1109
+ msgid "RestoreFile"
1110
+ msgstr "Restore File"
1111
+
1112
+ msgid "DeleteFile"
1113
+ msgstr "Delete File"
1114
+
1115
+ msgid "HoverForPayload"
1116
+ msgstr "Hover to see the Payload"
1117
+
1118
+ msgid "LogsPerEvent"
1119
+ msgstr "Audit Logs per Event"
1120
+
1121
+ msgid "LogsForLogins"
1122
+ msgstr "Successful/Failed Logins"
1123
+
1124
+ msgid "LogsPerUser"
1125
+ msgstr "Audit Logs per User"
1126
+
1127
+ msgid "LogsPerIP"
1128
+ msgstr "Audit Logs per IP Address"
1129
+
1130
+ msgid "Search"
1131
+ msgstr "Search"
1132
+
1133
+ msgid "FirewallSettingsTitle"
1134
+ msgstr "Firewall Settings"
1135
+
1136
+ msgid "FirewallSettingsInfo"
1137
+ msgstr "A powerful Web Application Firewall and <b>Intrusion Detection System</b> for any WordPress user and many other platforms. This page will help you to configure and monitor your site through the <b>Sucuri Firewall</b>. Once enabled, our firewall will act as a shield, protecting your site from attacks and preventing malware infections and reinfections. It will block SQL injection attempts, brute force attacks, XSS, RFI, backdoors and many other threats against your site."
1138
+
1139
+ msgid "FirewallKey"
1140
+ msgstr "Firewall API Key"
1141
+
1142
+ msgid "FirewallAddKey"
1143
+ msgstr "Add your <a href=\"https://waf.sucuri.net/?settings&panel=api\" target=\"_blank\">Firewall API key</a> in the form below to start communicating with the firewall API service."
1144
+
1145
+ msgid "FirewallFootNote"
1146
+ msgstr "<em>[1]</em> More information about the <a href=\"https://sucuri.net/website-firewall/\" target=\"_blank\">Sucuri Firewall</a>, features and pricing.<br><em>[2]</em> Instructions and videos in the official <a href=\"https://kb.sucuri.net/firewall\" target=\"_blank\">Knowledge Base</a> site.<br><em>[3]</em> <a href=\"https://login.sucuri.net/signup2/create?CloudProxy\" target=\"_blank\">Sign up</a> for a new account and start protecting your site."
1147
+
1148
+ msgid "FirewallLogsTitle"
1149
+ msgstr "Firewall Audit Logs"
1150
+
1151
+ msgid "FirewallLogsInfo"
1152
+ msgstr "The firewall logs every request involved in an attack and separates them from the legitimate requests. You can analyze the data from the latest entries in the logs using this tool and take action either enabling the advanced features of the IDS <em>(Intrusion Detection System)</em> from the <a target=\"_blank\" href=\"https://waf.sucuri.net/?settings\">Firewall Dashboard</a> and/or blocking IP addresses and URL paths directly from the <a href=\"https://waf.sucuri.net/?audit\" target=\"_blank\">Firewall Audit Trails</a> page."
1153
+
1154
+ msgid "FirewallLogsNote"
1155
+ msgstr "Note that non-blocked requests are hidden from the logs, this is intentional."
1156
+
1157
+ msgid "FirewallCacheTitle"
1158
+ msgstr "Clear Cache"
1159
+
1160
+ msgid "FirewallCacheButton"
1161
+ msgstr "Clear Cache"
1162
+
1163
+ msgid "FirewallCacheInfo"
1164
+ msgstr "The firewall offers multiple options to configure the cache level applied to your website. You can either enable the full cache which is the recommended setting, or you can set the cache level to minimal which will keep the pages static for a couple of minutes, or force the usage of the website headers <em>(only for advanced users)</em>, or in extreme cases where you do not need the cache you can simply disable it. Find more information about it in the <a target=\"_blank\" href=\"https://kb.sucuri.net/firewall/Performance/caching-options\">Sucuri Knowledge Base</a> website."
1165
+
1166
+ msgid "FirewallCacheNote"
1167
+ msgstr "Note that the firewall has <a href=\"https://kb.sucuri.net/firewall/Performance/cache-exceptions\" target=\"_blank\">special caching rules</a> for Images, CSS, PDF, TXT, JavaScript, media files and a few more extensions that are stored on our <a href=\"https://en.wikipedia.org/wiki/Edge_device\" target=\"_blank\" rel=\"noopener\">edge</a>. The only way to flush the cache for these files is by clearing the firewall's cache completely <em>(for the whole website)</em>. Due to our caching of JavaScript and CSS files, often, as is best practice, the use of versioning during development will ensure updates going live as expected. This is done by adding a query string such as <code>?ver=1.2.3</code> and incrementing on each update."
1168
+
1169
+ msgid "FirewallCacheWiki"
1170
+ msgstr "A web cache (or HTTP cache) is an information technology for the temporary storage (caching) of web documents, such as HTML pages and images, to reduce bandwidth usage, server load, and perceived lag. A web cache system stores copies of documents passing through it; subsequent requests may be satisfied from the cache if certain conditions are met. A web cache system can refer either to an appliance, or to a computer program. &mdash; <a href=\"https://en.wikipedia.org/wiki/Web_cache\" target=\"_blank\" rel=\"noopener\">WikiPedia - Web Cache</a>"
1171
+
1172
+ msgid "LoginsAdmins"
1173
+ msgstr "Successful Logins (admins)"
1174
+
1175
+ msgid "LoginsAdminsInfo"
1176
+ msgstr "Here you can see a list of all the successful logins of accounts with admin privileges."
1177
+
1178
+ msgid "Registration"
1179
+ msgstr "Registration"
1180
+
1181
+ msgid "NewestLogins"
1182
+ msgstr "Newest To Oldest"
1183
+
1184
+ msgid "Admins"
1185
+ msgstr "Admins"
1186
+
1187
+ msgid "AllUsers"
1188
+ msgstr "All Users"
1189
+
1190
+ msgid "LoginsAll"
1191
+ msgstr "Successful Logins (all)"
1192
+
1193
+ msgid "LoginsAllInfo"
1194
+ msgstr "Here you can see a list of all the successful user logins."
1195
+
1196
+ msgid "BlockedUsers"
1197
+ msgstr "Blocked Users"
1198
+
1199
+ msgid "BlockedUsersInfo"
1200
+ msgstr "Any attempt to authenticate an user account using the functions provided by WordPress will be intercepted and analyzed by the plugin, if the username coincides with any of the users in this list, the authentication process will be immediately stopped. These attemps will not be logged and no email alerts will be sent."
1201
+
1202
+ msgid "BlockedUsersNote"
1203
+ msgstr "Take in consideration that this is not a 100% bulletproof mechanism to block unwanted user authentications from malicious users. Depending on the configuration of your website, installed plugins, installed themes, and even the version of WordPress there might still be weak points that automated tools can take advantage of to brute force the user accounts registered in your website. <a target=\"_blank\" href=\"https://sucuri.net/website-firewall/?wp=bu\">Install a firewall</a> to have full protection and mitigate this and a myriad of other attacks."
1204
+
1205
+ msgid "BlockedUsersByIP"
1206
+ msgstr "Blocking users per IP address is a feature provided by the <a href=\"https://sucuri.net/website-firewall/\" target=\"_blank\">Sucuri Firewall</a>; to avoid the duplication of code and reduce the amount of false/positives this feature will never be implemented in this plugin."
1207
+
1208
+ msgid "FailedLogins"
1209
+ msgstr "Failed logins"
1210
+
1211
+ msgid "FailedLoginsInfo"
1212
+ msgstr "This information will be used to determine if your site is being victim of <a href=\"https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing\" target=\"_blank\">Password Guessing Brute Force Attacks</a>. These logs will be accumulated and the plugin will send a report via email if there are more than <code>%%SUCURI.FailedLogins.MaxFailedLogins%%</code> failed login attempts during the same hour, you can change this number from <a href=\"%%SUCURI.URL.Settings%%#alerts\">here</a>. <b>NOTE:</b> Some <em>\"Two-Factor Authentication\"</em> plugins do not follow the same rules that WordPress have to report failed login attempts, so you may not see all the attempts in this panel if you have one of these plugins installed."
1213
+
1214
+ msgid "LoggedInUsers"
1215
+ msgstr "Logged-in Users"
1216
+
1217
+ msgid "LoggedInUsersInfo"
1218
+ msgstr "Here you can see a list of the users that are currently logged-in."
1219
+
1220
+ msgid "Recomendations"
1221
+ msgstr "Recomendations"
1222
+
1223
+ msgid "SiteCheckNoResults"
1224
+ msgstr "If our free scanner did not detect any issue, you may have a more complicated and hidden problem. You can <a target=\"_blank\" href=\"https://sucuri.net/website-security-platform/signup\">sign up with Sucuri</a> for a complete and in-depth scan + cleanup (not included in the free checks)."
1225
+
1226
+ msgid "PasswordAttack"
1227
+ msgstr "Password Guessing Brute Force Attacks"
1228
+
1229
+ msgid "PasswordAttackAfter"
1230
+ msgstr "Consider Brute-Force Attack After"
1231
+
1232
+ msgid "PasswordAttackInfo"
1233
+ msgstr "<a href=\"https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing\" target=\"_blank\">Password guessing brute force attacks</a> are very common against web sites and web servers. They are one of the most common vectors used to compromise web sites. The process is very simple and the attackers basically try multiple combinations of usernames and passwords until they find one that works. Once they get in, they can compromise the web site with malware, spam , phishing or anything else they want."
1234
+
1235
+ msgid "PostTypeAlerts"
1236
+ msgstr "Post-Type Alerts"
1237
+
1238
+ msgid "IgnoredAt"
1239
+ msgstr "Ignored At"
1240
+
1241
+ msgid "PostType"
1242
+ msgstr "Post-Type"
1243
+
1244
+ msgid "PostTypeAlertsDisabled"
1245
+ msgstr "It seems that you disabled the email alerts for <b>new site content</b>, this panel is intended to provide a way to ignore specific events in your site and with that the alerts reported to your email. Since you have deactivated the <b>new site content</b> alerts, this panel will be disabled too."
1246
+
1247
+ msgid "PostTypeAlertsInfo"
1248
+ msgstr "This is a list of registered <a href=\"https://codex.wordpress.org/Post_Types\" target=\"_blank\" rel=\"noopener\">Post Types</a>. You will receive an email alert when a custom page or post associated to any of these types is created or updated. Some of these are created by WordPress but the majority are created by 3rd-party plugins and themes to extend functionality from WordPress. If you don't want to receive alerts for certain posts you can stop them from here."
1249
+
1250
+ msgid "PostTypeAlertsInvisible"
1251
+ msgstr "If you are receiving alerts for post types that are not listed here it may be because the theme or plugin that is making these changes is registering the custom post-type on runtime, in this case our plugin will not be able to detect these changes and consequently you will not be able to ignore those alerts. However, if you know the unique identifier of the post-type you can type it in the form bellow and our plugin will do its best to skip the alerts associated to that."
1252
+
1253
+ msgid "PostTypeAlertsStop"
1254
+ msgstr "Stop Alerts For This Post-Type"
1255
+
1256
+ msgid "AlertsPerHour"
1257
+ msgstr "Alerts Per Hour"
1258
+
1259
+ msgid "AlertsPerHourMaximum"
1260
+ msgstr "Maximum Alerts Per Hour"
1261
+
1262
+ msgid "AlertsPerHourInfo"
1263
+ msgstr "Configure the maximum number of email alerts per hour. If the number is exceeded and the plugin detects more events during the same hour, it will still log the events into the audit logs but will not send the email alerts. Be careful with this as you will miss important information."
1264
+
1265
+ msgid "TestAlerts"
1266
+ msgstr "Test Alerts"
1267
+
1268
+ msgid "AlertsRecipient"
1269
+ msgstr "Alerts Recipient"
1270
+
1271
+ msgid "AlertsRecipientInfo"
1272
+ msgstr "By default, the plugin will send the email alerts to the primary admin account, the same account created during the installation of WordPress in your web server. You can add more people to the list, they will receive a copy of the same security alerts."
1273
+
1274
+ msgid "CustomFormat"
1275
+ msgstr "Custom Format"
1276
+
1277
+ msgid "AlertsSubject"
1278
+ msgstr "Alert Subject"
1279
+
1280
+ msgid "AlertsSubjectInfo"
1281
+ msgstr "Format of the subject for the email alerts, by default the plugin will use the website name and the event identifier that is being reported, you can use this panel to include the IP address of the user that triggered the event and some additional data. You can create filters in your email client creating a custom email subject using the pseudo-tags shown below."
1282
+
1283
+ msgid "TrustedIPs"
1284
+ msgstr "Trusted IP Addresses"
1285
+
1286
+ msgid "CIDRFormat"
1287
+ msgstr "CIDR Format"
1288
+
1289
+ msgid "IPAddedAt"
1290
+ msgstr "IP Added At"
1291
+
1292
+ msgid "TrustedIPsInfo"
1293
+ msgstr "If you are working in a LAN <em>(Local Area Network)</em> you may want to include the IP addresses of all the nodes in the subnet, this will force the plugin to stop sending email alerts about actions executed from trusted IP addresses. Use the CIDR <em>(Classless Inter Domain Routing)</em> format to specify ranges of IP addresses <em>(only 8, 16, and 24)</em>."
1294
+
1295
+ msgid "APIViaProxy"
1296
+ msgstr "API Communication via Proxy"
1297
+
1298
+ msgid "APIViaProxyInfo"
1299
+ msgstr "All the HTTP requests used to communicate with the API service are being sent using the WordPress built-in functions, so (almost) all its official features are inherited, this is useful if you need to pass these HTTP requests through a proxy. According to the <a href=\"https://developer.wordpress.org/reference/classes/wp_http_proxy/\" target=\"_blank\" rel=\"noopener\">official documentation</a> you have to add some constants to the main configuration file: <em>WP_PROXY_HOST, WP_PROXY_PORT, WP_PROXY_USERNAME, WP_PROXY_PASSWORD</em>."
1300
+
1301
+ msgid "ProxyHostname"
1302
+ msgstr "HTTP Proxy Hostname"
1303
+
1304
+ msgid "ProxyPort"
1305
+ msgstr "HTTP Proxy Port num"
1306
+
1307
+ msgid "ProxyUsername"
1308
+ msgstr "HTTP Proxy Username"
1309
+
1310
+ msgid "ProxyPassword"
1311
+ msgstr "HTTP Proxy Password"
1312
+
1313
+ msgid "APICommunication"
1314
+ msgstr "API Service Communication"
1315
+
1316
+ msgid "APICommunicationInfo"
1317
+ msgstr "Once the API key is generate the plugin will communicate with a remote API service that will act as a safe data storage for the audit logs generated when the website triggers certain events that the plugin monitors. If the website is hacked the attacker will not have access to these logs and that way you can investigate what was modified <em>(for malware infaction)</em> and/or how the malicious person was able to gain access to the website."
1318
+
1319
+ msgid "APICommunicationDisabled"
1320
+ msgstr "Disabling the API service communication will stop the event monitoring, consider to enable the <a href=\"%%SUCURI.URL.Settings%%#general\">Log Exporter</a> to keep the monitoring working while the HTTP requests are ignored, otherwise an attacker may execute an action that will not be registered in the security logs and you will not have a way to investigate the attack in the future."
1321
+
1322
+ msgid "APITimeout"
1323
+ msgstr "API Request Timeout"
1324
+
1325
+ msgid "APITimeoutLabel"
1326
+ msgstr "API Request Timeout (in seconds)"
1327
+
1328
+ msgid "APITimeoutValue"
1329
+ msgstr "Wait <b>%%SUCURI.RequestTimeout%%</b> before timeout"
1330
+
1331
+ msgid "APITimeoutInfo"
1332
+ msgstr "The plugin sends the data associated to the events triggered by WordPress when it considers the action is suspicious, it sends this information via HTTP requests using the HTTP transport protocol available in the system and the <a target=\"_blank\" href=\"https://developer.wordpress.org/reference/functions/wp_remote_post/\" rel=\"noopener\">built-in functions</a> provided by WordPress, then it waits for the response. If you start experiencing issues related with the timeout of the requests you may consider to increase the number of seconds to wait for the response. You may also want to check with your hosting provider to see if there is something in the server blocking the connection."
1333
+
1334
+ msgid "HTAccessTitle"
1335
+ msgstr "Access File Integrity"
1336
+
1337
+ msgid "HTAccessInfo"
1338
+ msgstr "The <code>.htaccess</code> is a distributed configuration file, and is how the Apache web server handles configuration changes on a per-directory basis. WordPress uses this file to manipulate how Apache serves files from its root directory and subdirectories thereof; most notably, it modifies this file to be able to handle pretty permalinks."
1339
+
1340
+ msgid "HTAccessFound"
1341
+ msgstr "HTAccess file found in this path <code>%%SUCURI.HTAccess.Fpath%%</code>"
1342
+
1343
+ msgid "HTAccessNotFound"
1344
+ msgstr "Your website has no <code>.htaccess</code> file or it was not found in the default location."
1345
+
1346
+ msgid "HTAccessStandard"
1347
+ msgstr "The main <code>.htaccess</code> file in your site has the standard rules for a WordPress installation. You can customize it to improve the performance and change the behaviour of the redirections for pages and posts in your site. To get more information visit the official documentation at <a target=\"_blank\" rel=\"noopener\" href=\"https://codex.wordpress.org/Using_Permalinks#Creating_and_editing_.28.htaccess.29\"> Codex WordPress - Creating and editing (.htaccess)</a>"
1348
+
1349
+ msgid "ScannerTitle"
1350
+ msgstr "Scanner Settings"
1351
+
1352
+ msgid "ScannerFrequency"
1353
+ msgstr "Scanning Frequency"
1354
+
1355
+ msgid "ScannerDescription"
1356
+ msgstr "The plugin scans your entire website looking for changes which are later reported via the API in the audit logs page. This scanner runs twice-daily by default but you can change the frequency to meet your own requirements. Notice that scanning your project files too frequently will affect the performance of your website. Be sure to have enough server resources before changing this option. The memory limit and maximum execution time are two of the PHP options that your server will set to stop your website from consuming too much resources."
1357
+
1358
+ msgid "ScannerWithoutSPL"
1359
+ msgstr "The scanner uses the <a href=\"http://php.net/manual/en/class.splfileobject.php\" target=\"_blank\" rel=\"noopener\">PHP SPL library</a> and the <a target=\"_blank\" href=\"http://php.net/manual/en/class.filesystemiterator.php\" rel=\"noopener\">Filesystem Iterator</a> class to scan the directory tree where your website is located in the server. This library is only available on PHP 5 >= 5.3.0 &mdash; OR &mdash; PHP 7; if you have an older version of PHP the plugin will not work as expected. Please ask your hosting provider to advice you on this matter."
1360
+
1361
+ msgid "IntegrityLanguageTitle"
1362
+ msgstr "WordPress Integrity (Language)"
1363
+
1364
+ msgid "IntegrityInfo"
1365
+ msgstr "The information necessary to check the WordPress integrity uses data obtained from the <a href=\"http://codex.wordpress.org/WordPress.org_API\" target=\"_blank\" rel=\"noopener\">WordPress API</a>. It compares this data with the content of the files installed in your website. By default the API returns this data for the English version of WordPress. If your website is using a non-English version of the code you will have to specify the language to reduce the amount of false/positives."
1366
+
1367
+ msgid "IntegrityNote"
1368
+ msgstr "<b>NOTE:</b> Not all the languages are supported. If you notice a high amount of false/positives please consider to switch the option back to English and then mark the files that you consider are clean as such, they will be ignored by the scanner the next time it runs."
1369
+
1370
+ msgid "Reason"
1371
+ msgstr "Reason"
1372
+
1373
+ msgid "FalsePositives"
1374
+ msgstr "WordPress Integrity (False/Positives)"
1375
+
1376
+ msgid "FalsePositivesUnignore"
1377
+ msgstr "Stop Ignoring the Selected Files"
1378
+
1379
+ msgid "FalsePositivesInfo"
1380
+ msgstr "Since the scanner doesn't reads the files during the execution of the integrity check, it is possible to find false/positives. Files listed here have been marked as false/positives and will be ignored by the scanner in subsequent scans."
1381
+
1382
+ msgid "IgnoreFiles"
1383
+ msgstr "Ignore Files And Folders During The Scans"
1384
+
1385
+ msgid "IgnoreFilesSingle"
1386
+ msgstr "Ignore One Single File"
1387
+
1388
+ msgid "IgnoreFilesInfo"
1389
+ msgstr "Use this tool to select the files and/or folders that are too heavy for the scanner to process. These are usually folders with images, media files like videos and audios, backups and &mdash; in general &mdash; anything that is not code-related. Ignoring these files or folders will reduce the memory consumption of the PHP script."
1390
+
1391
+ msgid "SecretKeys"
1392
+ msgstr "Update Secret Keys"
1393
+
1394
+ msgid "SecretKeysUpdated"
1395
+ msgstr "Secret keys updated successfully (summary of the operation bellow)."
1396
+
1397
+ msgid "SecretKeysGenerate"
1398
+ msgstr "Generate New Security Keys"
1399
+
1400
+ msgid "SecretKeysExpiration"
1401
+ msgstr "Your session will expire immediately after the security keys are changed."
1402
+
1403
+ msgid "SecretKeysInfo"
1404
+ msgstr "The secret or security keys are a list of constants added to your site to ensure better encryption of information stored in the user's cookies. A secret key makes your site harder to hack and access by adding random elements to the password. You do not have to remember the keys, just write a random, complicated, and long string in the <code>wp-config.php</code> file. You can change these keys at any point in time to invalidate all existing cookies, forcing all users to login again."
1405
+
1406
+ msgid "PluginReinstall"
1407
+ msgstr "Reset Installed Plugins"
1408
+
1409
+ msgid "PluginReinstallInfo"
1410
+ msgstr "In case that you suspect of an infection in your site, or even after you got rid of a malicious code, it would be better if you reinstall all the plugins installed in your site, including the ones you are not using. Notice that premium plugins will not be reinstalled to prevent backward compatibility issues and problems with licenses."
1411
+
1412
+ msgid "PluginReinstallCache"
1413
+ msgstr "The information shown here is cache for %%SUCURI.ResetPlugin.CacheLifeTime%% seconds, this is necessary to reduce the quantity of HTTP requests sent to the WordPress servers and the bandwidth of your site. Currently there is no option to recreate this cache so you have to wait until it resets itself."
1414
+
1415
+ msgid "PluginReinstallWarning"
1416
+ msgstr "<b>WARNING!</b> This procedure can break your website. The reset will not affect the database nor the settings of each plugin but depending on how they were written the reset action might break them. Be sure to create a backup of the plugins directory before the execution of this tool."
1417
+
1418
+ msgid "Roles"
1419
+ msgstr "Roles"
1420
+
1421
+ msgid "Registered"
1422
+ msgstr "Registered"
1423
+
1424
+ msgid "PasswordChange"
1425
+ msgstr "Reset User Password"
1426
+
1427
+ msgid "PasswordChangeInfo"
1428
+ msgstr "You can generate a new random password for the user accounts that you select from the list. An email with the new password will be sent to the email address of each chosen users. If you choose to change the password of your own user, then your current session will expire immediately. You will need to log into the admin panel with the new password that will be sent to your email."
1429
+
1430
+ msgid "PasswordChangeAlert"
1431
+ msgstr "WordPress has generated a new (random) password for your account <b>%%SUCURI.ResetPassword.UserName%%</b> at <a target=\"_blank\" href=\"http://%%SUCURI.ResetPassword.Website%%\">%%SUCURI.ResetPassword.Website%%</a>. The change has been requested by one of the admins in this website for security reasons. Your new password is &mdash; <span style=\"font-family:Menlo, Monaco, monospace, serif;font-weight:700\">%%%SUCURI.ResetPassword.Password%%%</span> &mdash; please change it as soon as possible."
1432
+
1433
+ msgid "Update"
1434
+ msgstr "Update"
1435
+
1436
+ msgid "TestedWith"
1437
+ msgstr "Tested With"
1438
+
1439
+ msgid "AvailableUpdates"
1440
+ msgstr "Available Plugin and Theme Updates"
1441
+
1442
+ msgid "AvailableUpdatesInfo"
1443
+ msgstr "WordPress has a big user base in the public Internet, this brings interest to malicious people to find vulnerabilities in the code, 3rd-party extensions, and themes that other companies develop. You should keep every piece of code installed in your website update to prevent attacks as soon as disclosed vulnerabilities are patched."
1444
+
1445
+ msgid "WhitelistScript"
1446
+ msgstr "Whitelist Blocked PHP Files"
1447
+
1448
+ msgid "WhitelistScriptInfo"
1449
+ msgstr "After you apply the hardening in either the includes, content, and/or upload directories the plugin will add a rule in the access control file to deny access to any PHP file located in these folders, this is a good precaution in case that an attacker is able to upload a shell script; with a few exceptions the <em>\"index.php\"</em> is the only one that should be publicly accessible, however many theme/plugin developers decide to use these folders to process some operations, in this case applying the hardening <strong>may break</strong> their functionality."
1450
+
1451
+ msgid "Uninstall"
1452
+ msgstr "Reset Security Logs, Hardening and Settings"
1453
+
1454
+ msgid "UninstallInfo"
1455
+ msgstr "This action will trigger the deactivation / uninstallation process of the plugin. All local security logs, hardening and settings will be deleted. Notice that the security logs stored in the API service will not be deleted, this is to prevent tampering from a malicious user. You can request a new API key if you want to start from scratch."
1456
+
1457
+ msgid "ImportExport"
1458
+ msgstr "Import &amp; Export Settings"
1459
+
1460
+ msgid "ImportExportInfo"
1461
+ msgstr "Copy the JSON-encoded data from the box below, go to your other websites and click the <em>\"Import\"</em> button in the settings page. The plugin will start using the same settings from this website. Notice that some options are omitted as they contain values specific to this website. To import the settings from another website into this one, replace the JSON-encoded data in the box below with the JSON-encoded data exported from the other website, then click the button <em>\"Import\"</em>. Notice that some options will not be imported to reduce the security risk of writing arbitrary data into the disk."
1462
+
1463
+ msgid "DataStorage"
1464
+ msgstr "Data Storage"
1465
+
1466
+ msgid "DataStorageInfo"
1467
+ msgstr "This is the directory where the plugin will store the security logs, the list of files marked as fixed in the core integrity tool, the cache for the malware scanner and 3rd-party plugin metadata. The plugin requires write permissions in this directory as well as the files contained in it. If you prefer to keep these files in a non-public directory <em>(one level up the document root) </em> please define a constant in the <em>\"wp-config.php\"</em> file named <em>\"SUCURI_DATA_STORAGE\"</em> with the absolute path to the new directory."
1468
+
1469
+ msgid "CommentMonitor"
1470
+ msgstr "Comment Monitor"
1471
+
1472
+ msgid "CommentMonitorStatus"
1473
+ msgstr "The status of the comment monitor has been changed"
1474
+
1475
+ msgid "CommentMonitorInfo"
1476
+ msgstr "User comments are the main source of spam in WordPress websites, this option enables the monitoring of data sent via the comment forms loaded in every page and post. We also use this information in an anonymous way to generate <a target=\"_blank\" href=\"https://sucuri.net/security-reports/brute-force/\">statistics</a> of usage that help us improve our service."
1477
+
1478
+ msgid "LogsReport"
1479
+ msgstr "Audit Log Statistics"
1480
+
1481
+ msgid "LogsReportLimit"
1482
+ msgstr "The number of logs that will be used to generate the audit report has been changed"
1483
+
1484
+ msgid "LogsReportInfo"
1485
+ msgstr "The data used to generate these charts comes from the last <b>%%SUCURI.AuditReport.Logs4Report%% audit logs</b>, you can configure this number from the plugin settings page."
1486
+
1487
+ msgid "LogsReportDescription"
1488
+ msgstr "Enabling this option allows you to have a quick view of the range of the activity of your users and/or the attacks directed against your website. By default, the plugin uses the latest entries in the audit logs and uses that information to draw bar and pie charts in the dashboard. The statistic are generated with a limited number of logs to reduce the memory consumption of the parser. You can increase the limit at your own discretion considering the amount of memory and maximum execution time that your PHP installation is allowed to use."
languages/sucuri-scanner-es_ES.mo ADDED
Binary file
languages/sucuri-scanner-es_ES.po ADDED
@@ -0,0 +1,1488 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Content-Transfer-Encoding: 8bit\n"
4
+ "Content-Type: text/plain; charset=UTF-8\n"
5
+ "Language-Team: https://sucuri.net/\n"
6
+ "Language: es_ES\n"
7
+ "Last-Translator: Sucuri Inc. <info@sucuri.net>\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
10
+ "PO-Revision-Date: \n"
11
+ "POT-Creation-Date: 2017-06-01 09:00-0700\n"
12
+ "Project-Id-Version: Sucuri Scanner\n"
13
+
14
+ msgid "Review"
15
+ msgstr "Review"
16
+
17
+ msgid "Dashboard"
18
+ msgstr "Inicio"
19
+
20
+ msgid "Firewall"
21
+ msgstr "Firewall (WAF)"
22
+
23
+ msgid "LastLogins"
24
+ msgstr "Autenticaciones"
25
+
26
+ msgid "Settings"
27
+ msgstr "Ajustes"
28
+
29
+ msgid "AuditLogs"
30
+ msgstr "Registros"
31
+
32
+ msgid "Statistics"
33
+ msgstr "Estadísticas"
34
+
35
+ msgid "ClearCache"
36
+ msgstr "Limpiar Cache"
37
+
38
+ msgid "GenerateAPIKey"
39
+ msgstr "Generar Llave"
40
+
41
+ msgid "APIKeyRecovery"
42
+ msgstr "Recuperacion de Llave"
43
+
44
+ msgid "Copyright"
45
+ msgstr "&copy; %%SUCURI.Year%% Sucuri Inc. Todos los derechos reservados."
46
+
47
+ msgid "AccessDenied"
48
+ msgstr "Accesso denegado por Sucuri Inc."
49
+
50
+ msgid "NonceFailure"
51
+ msgstr "Error al verificar el código Nonce del formulario, verifique los datos e intente de nuevo."
52
+
53
+ msgid "NewsletterInvitation"
54
+ msgstr "¿Desea recibir información sobre vulnerabilidades descubiertas? Subscríbase a nuestro newsletter <a href=\"http://sucuri.hs-sites.com/subscribe-to-security\" target=\"_blank\" rel=\"noopener\">aquí</a>"
55
+
56
+ msgid "EnableAPIServiceAgain"
57
+ msgstr "La comunicación con la API de Sucuri está deshabilitada, si usted acaba de actualizar el plugin esta podría ser una buena oportunidad para probar esta herramienta una vez más con el nuevo código. Habilite la comunicación con la API desde la página de ajustes."
58
+
59
+ msgid "Save"
60
+ msgstr "Guardar"
61
+
62
+ msgid "Delete"
63
+ msgstr "Eliminar"
64
+
65
+ msgid "InvalidAPIKey"
66
+ msgstr "El formato de la llave es inválido"
67
+
68
+ msgid "ErrorNoInfo"
69
+ msgstr "Error desconocido, no hay más información."
70
+
71
+ msgid "ErrorLogFileNotFound"
72
+ msgstr "; esto generalmente sucede cuando una llave inválida es agregada al plugin, la llave será eliminada automáticamente para reducir la cantidad de errores, si usted quiere recuperarla utilice el botón de recuperación en la página de ajustes, recibirá un correo con las instrucciones de activación: %1$s"
73
+
74
+ msgid "ErrorWrongAPIKey"
75
+ msgstr "; la llave del Firewall es inválida: %1$s"
76
+
77
+ msgid "ErrorSSLCertificate"
78
+ msgstr ". Su sitio web para estar usando una versión desactualizada de la librería OpenSSL o el módulo de CURL ha sido compilado sin soporte para el algoritmo usado para establecer un enlace de comunicación segura con la API. Contácte a su proveedor de hosting para solucionar el problema."
79
+
80
+ msgid "ErrorInvalidEmail"
81
+ msgstr "El correo electrónico tiene un formato inválido o el dominio asociado no tiene asociado un servidor MX."
82
+
83
+ msgid "AlertAPIKeySet"
84
+ msgstr "La llave para la comunicación con la API ha sido generada y registrada."
85
+
86
+ msgid "Yes"
87
+ msgstr "Sí"
88
+
89
+ msgid "No"
90
+ msgstr "No"
91
+
92
+ msgid "Okay"
93
+ msgstr "OK"
94
+
95
+ msgid "Enable"
96
+ msgstr "Activar"
97
+
98
+ msgid "Enabled"
99
+ msgstr "Activado"
100
+
101
+ msgid "Disable"
102
+ msgstr "Desactivar"
103
+
104
+ msgid "Disabled"
105
+ msgstr "Desactivado"
106
+
107
+ msgid "Ignore"
108
+ msgstr "Ignorar"
109
+
110
+ msgid "Unignore"
111
+ msgstr "No Ignorar"
112
+
113
+ msgid "Ignored"
114
+ msgstr "Ignorado"
115
+
116
+ msgid "Done"
117
+ msgstr "Hecho"
118
+
119
+ msgid "Submit"
120
+ msgstr "Proceder"
121
+
122
+ msgid "Error"
123
+ msgstr "Error"
124
+
125
+ msgid "Good"
126
+ msgstr "bien"
127
+
128
+ msgid "Edit"
129
+ msgstr "Editar"
130
+
131
+ msgid "NotSet"
132
+ msgstr "(no existe)"
133
+
134
+ msgid "Download"
135
+ msgstr "Descargar"
136
+
137
+ msgid "NotRandomized"
138
+ msgstr "no es aleatorio"
139
+
140
+ msgid "NotWritable"
141
+ msgstr "No es Modificable"
142
+
143
+ msgid "ParentNotWritable"
144
+ msgstr "El directorio donde el archivo está ubicado no tiene permisos de escritura."
145
+
146
+ msgid "DoesNotExist"
147
+ msgstr "No Existe"
148
+
149
+ msgid "Email"
150
+ msgstr "Correo Electrónico"
151
+
152
+ msgid "Website"
153
+ msgstr "Sitio Web"
154
+
155
+ msgid "Message"
156
+ msgstr "Mensaje"
157
+
158
+ msgid "Information"
159
+ msgstr "Información"
160
+
161
+ msgid "Event"
162
+ msgstr "Evento"
163
+
164
+ msgid "Exists"
165
+ msgstr "Existe"
166
+
167
+ msgid "Writable"
168
+ msgstr "Modificable"
169
+
170
+ msgid "Today"
171
+ msgstr "Hoy"
172
+
173
+ msgid "NoLogs"
174
+ msgstr "No existen registros."
175
+
176
+ msgid "SelfHosting"
177
+ msgstr "Exportador de Registros"
178
+
179
+ msgid "SelfHostingEnabled"
180
+ msgstr "La herramienta para exportar los registros de seguridad ha sido activada"
181
+
182
+ msgid "SelfHostingDisabled"
183
+ msgstr "La herramienta para exportar los registros de seguridad ha sido desactivada"
184
+
185
+ msgid "SelfHostingInfo"
186
+ msgstr "Esta opción le permite guardar una copia de los registros de seguridad en un archivo ubicado en su servidor que puede ser leido por un SIEM o cualquier otro sistema de análisis <em>(le recomendamos OSSEC)</em>. Esto le dará visibilidad de lo que sucede en su sitio web para complementar su infraestructura de monitoreo."
187
+
188
+ msgid "SelfHostingFallback"
189
+ msgstr "Usted no tiene una llave para comunicarse con la API. Sin embargo, la herramienta para exportar los registros de seguridad está activada, el plugin leerá el contenido de este archivo y mostrará esa información aquí. Tenga en cuenta que solo los últimos registros serán procesados para mantener un consumo de memoria bajo. Considere generar una llave para obtener una mayor covertura en la actividad de su sitio web."
190
+
191
+ msgid "AuditLogsCache"
192
+ msgstr "Los registros son guardados por %%SUCURI.AuditLogs.Lifetime%% segundos"
193
+
194
+ msgid "Refresh"
195
+ msgstr "Actualizar"
196
+
197
+ msgid "UnsupportedWordPress"
198
+ msgstr "esta versión de WordPress no tiene soporte."
199
+
200
+ msgid "NoWordPressFile"
201
+ msgstr "El archivo no hace parte de la instalación oficial de WordPress."
202
+
203
+ msgid "CannotCheckMissingFile"
204
+ msgstr "No se pueden revisar archivos que no existen."
205
+
206
+ msgid "ScheduledTask"
207
+ msgstr "%1$s (cada %2$d segundos)"
208
+
209
+ msgid "ScheduledTaskNever"
210
+ msgstr "Nunca (no ejecutar)"
211
+
212
+ msgid "SucuriAlert"
213
+ msgstr "Alerta de Sucuri"
214
+
215
+ msgid "UpdatedEmailSubject"
216
+ msgstr "El asunto para las alertas de seguridad ha sido actualizado"
217
+
218
+ msgid "InvalidEmailSubject"
219
+ msgstr "El asunto para las alertas de seguridad contiene letras inválidas."
220
+
221
+ msgid "EmailSubject.available_updates"
222
+ msgstr "Actualizaciones Disponibles"
223
+
224
+ msgid "EmailSubject.bruteforce_attack"
225
+ msgstr "Ataque de Fuerza Bruta"
226
+
227
+ msgid "EmailSubject.failed_login"
228
+ msgstr "Autenticación Fallida"
229
+
230
+ msgid "EmailSubject.plugin_activated"
231
+ msgstr "Plugin Activado"
232
+
233
+ msgid "EmailSubject.plugin_change"
234
+ msgstr "Plugin Modificado"
235
+
236
+ msgid "EmailSubject.plugin_deactivated"
237
+ msgstr "Plugin Desactivado"
238
+
239
+ msgid "EmailSubject.plugin_deleted"
240
+ msgstr "Plugin Eliminado"
241
+
242
+ msgid "EmailSubject.plugin_installed"
243
+ msgstr "Plugin Instalado"
244
+
245
+ msgid "EmailSubject.plugin_updated"
246
+ msgstr "Plugin Actualizado"
247
+
248
+ msgid "EmailSubject.post_publication"
249
+ msgstr "Publicación"
250
+
251
+ msgid "EmailSubject.scan_checksums"
252
+ msgstr "Escaneo de Checksums"
253
+
254
+ msgid "EmailSubject.settings_updated"
255
+ msgstr "Ajustes Actualizados"
256
+
257
+ msgid "EmailSubject.success_login"
258
+ msgstr "Autenticación Exitosa"
259
+
260
+ msgid "EmailSubject.theme_activated"
261
+ msgstr "Plantilla Activada"
262
+
263
+ msgid "EmailSubject.theme_deleted"
264
+ msgstr "Plantilla Eliminada"
265
+
266
+ msgid "EmailSubject.theme_editor"
267
+ msgstr "Editor de Plantilla"
268
+
269
+ msgid "EmailSubject.theme_installed"
270
+ msgstr "Plantilla Instalada"
271
+
272
+ msgid "EmailSubject.theme_updated"
273
+ msgstr "Plantilla Actualizada"
274
+
275
+ msgid "EmailSubject.user_registration"
276
+ msgstr "Registro de Usuario"
277
+
278
+ msgid "EmailSubject.website_updated"
279
+ msgstr "Sitio Web Actualizado"
280
+
281
+ msgid "EmailSubject.widget_added"
282
+ msgstr "Widget Agregado"
283
+
284
+ msgid "EmailSubject.widget_deleted"
285
+ msgstr "Widget Eliminado"
286
+
287
+ msgid "EmailSubject.post_update"
288
+ msgstr "Publicación Actualizada"
289
+
290
+ msgid "EmailSubject.core_integrity_checks"
291
+ msgstr "Integridad de Archivos de WordPress"
292
+
293
+ msgid "EmailSubject.password_change"
294
+ msgstr "Cambio de Contraseña"
295
+
296
+ msgid "FailedLoginFooter"
297
+ msgstr "<br><br><em>Explanación: Alguien intentó ingresar al sistema de administración de su sitio web. Si usted está recibiendo muchas de estas alertas, es posible que alguien esté utilizando un ataque de fuerza bruta para vulnerar su sitio [1]. Puede desactivar estas alertas desde aquí [2]. También puede considerar la instalación de un Firewall para filtrar el tráfico malicioso y ataques como este [3].</em><br><br>[1] <a href='https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing'>https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing</a><br>[2] <a href='%1$s'>%2$s</a> <br>[3] <a href='https://sucuri.net/website-firewall/?wpalert'>https://sucuri.net/website-firewall/</a><br>"
298
+
299
+ msgid "FirewallAPIKeySet"
300
+ msgstr "La llave del Firewall ha sido guardada"
301
+
302
+ msgid "FirewallAPIKeyUnset"
303
+ msgstr "La llave del Firewall ha sido eliminada"
304
+
305
+ msgid "FirewallAPIKeyInvalid"
306
+ msgstr "La llave del Firewall es inválida"
307
+
308
+ msgid "FirewallAPIKeyMissing"
309
+ msgstr "La llave del Firewall no fué encontrada."
310
+
311
+ msgid "NoData"
312
+ msgstr "No existen datos"
313
+
314
+ msgid "FirewallDoCache"
315
+ msgstr "Activada (recomendada)"
316
+
317
+ msgid "FirewallSiteCache"
318
+ msgstr "Cache usando cabeceras de HTTP"
319
+
320
+ msgid "FirewallNoCache"
321
+ msgstr "Mínima (solo por algunos minutos)"
322
+
323
+ msgid "FirewallNoCacheAtAll"
324
+ msgstr "Desactivada (use con precaución)"
325
+
326
+ msgid "FirewallNotEnabled"
327
+ msgstr "El Firewall no ha sido activado en su sitio o la llave de autenticación es inválida."
328
+
329
+ msgid "FirewallClearCacheFailure"
330
+ msgstr "No se pudo actualizar la cache de su sitio, intente más tarde."
331
+
332
+ msgid "Active"
333
+ msgstr "activo"
334
+
335
+ msgid "NotActive"
336
+ msgstr "inactivo"
337
+
338
+ msgid "Unknown"
339
+ msgstr "desconocido"
340
+
341
+ msgid "Undefined"
342
+ msgstr "Indefinido"
343
+
344
+ msgid "January"
345
+ msgstr "Enero"
346
+
347
+ msgid "February"
348
+ msgstr "Febrero"
349
+
350
+ msgid "March"
351
+ msgstr "Marzo"
352
+
353
+ msgid "April"
354
+ msgstr "Abril"
355
+
356
+ msgid "May"
357
+ msgstr "Mayo"
358
+
359
+ msgid "June"
360
+ msgstr "Junio"
361
+
362
+ msgid "July"
363
+ msgstr "Julio"
364
+
365
+ msgid "August"
366
+ msgstr "Agosto"
367
+
368
+ msgid "September"
369
+ msgstr "Septiembre"
370
+
371
+ msgid "October"
372
+ msgstr "Octubre"
373
+
374
+ msgid "November"
375
+ msgstr "Noviembre"
376
+
377
+ msgid "December"
378
+ msgstr "Deciembre"
379
+
380
+ msgid "Username"
381
+ msgstr "Usuario"
382
+
383
+ msgid "Password"
384
+ msgstr "Contraseña"
385
+
386
+ msgid "RemoteAddr"
387
+ msgstr "Dirección IP"
388
+
389
+ msgid "Hostname"
390
+ msgstr "Servidor"
391
+
392
+ msgid "Browser"
393
+ msgstr "Navegador Web"
394
+
395
+ msgid "Datetime"
396
+ msgstr "Fecha/Hora"
397
+
398
+ msgid "Block"
399
+ msgstr "Bloquear"
400
+
401
+ msgid "Unblock"
402
+ msgstr "Desbloquear"
403
+
404
+ msgid "BlockedAt"
405
+ msgstr "Bloqueado en"
406
+
407
+ msgid "FirstAttempt"
408
+ msgstr "Primer Intento"
409
+
410
+ msgid "LastAttempt"
411
+ msgstr "Último Intento"
412
+
413
+ msgid "LastActivity"
414
+ msgstr "Último Ingreso"
415
+
416
+ msgid "AttemptTimestamp"
417
+ msgstr "Timestamp"
418
+
419
+ msgid "AttemptDatetime"
420
+ msgstr "Fecha/Hora"
421
+
422
+ msgid "ConfirmOperation"
423
+ msgstr "Debe confirmar que entiende el riesgo de esta operación."
424
+
425
+ msgid "UnderstandTheRisk"
426
+ msgstr "Entiendo que esta operación no puede ser revertida."
427
+
428
+ msgid "NonSupportedAction"
429
+ msgstr "La acción ejecutada no está soportada."
430
+
431
+ msgid "NonSupportedLanguage"
432
+ msgstr "El idioma seleccionado no está soportado."
433
+
434
+ msgid "NothingSelected"
435
+ msgstr "Nada ha sido seleccionado de la lista."
436
+
437
+ msgid "ItemsProcessed"
438
+ msgstr "Los items seleccionados han sido procesados."
439
+
440
+ msgid "AllItemsProcessed"
441
+ msgstr "<b>%1$d</b> de <b>%2$d</b> archivos fueron procesados."
442
+
443
+ msgid "SomeItemsProcessed"
444
+ msgstr "Solo <b>%1$d</b> de <b>%2$d</b> archivos fueron procesados."
445
+
446
+ msgid "ErrorIntegrityAdded"
447
+ msgstr "El plugin no tiene permiso para eliminar este archivo porque fué creado por otro usuario del sistema con más privilegios que su cuenta. Conéctese a su sitio a través de FTP para eliminarlo."
448
+
449
+ msgid "ErrorIntegrityModified"
450
+ msgstr "El plugin no tiene permiso para restablecer el contenido de este archivo porque fué modificado por otro usuario del sistema con más privilegios que su cuenta. Conéctese a su sitio a través de FTP para restablecerlo."
451
+
452
+ msgid "ErrorIntegrityRemoved"
453
+ msgstr "El plugin no tiene permiso para restablecer el contenido de este archivo porque el directorio donde está ubicado pertenece a otro usuario del sistema con más privilegios que su cuenta. Conéctese a su sitio a través de FTP para restablecerlo."
454
+
455
+ msgid "SecurityAlerts"
456
+ msgstr "Alertas de Seguridad"
457
+
458
+ msgid "AlertSettingsUpdated"
459
+ msgstr "La configuración para las alertas de seguridad ha sido actualizada"
460
+
461
+ msgid "OptionNotifyPluginChange"
462
+ msgstr "Recibir alertas por cambios en la configuración del plugin de Sucuri"
463
+
464
+ msgid "OptionPrettifyMails"
465
+ msgstr "Recibir alertas en HTML <em>(puede experimentar problemas con su servicio de correo electrónico)</em>"
466
+
467
+ msgid "OptionUseWordPressMail"
468
+ msgstr "Usar funciones nativas de WordPress para enviar las alertas <em>(deseleccione para usar funciones nativas de PHP)</em>"
469
+
470
+ msgid "OptionLastLoginRedirection"
471
+ msgstr "Permitir redirección durante el login para reportar información acerca de la última autenticación exitosa de su cuenta de usuario"
472
+
473
+ msgid "OptionNotifyScanChecksums"
474
+ msgstr "Recibir alertas por diferencias en los archivos originales de WordPress"
475
+
476
+ msgid "OptionNotifyAvailableUpdates"
477
+ msgstr "Recibir alertas con actualizaciones disponibles"
478
+
479
+ msgid "OptionNotifyUserRegistration"
480
+ msgstr "Recibir alertas por registros de nuevas cuentas de usuario"
481
+
482
+ msgid "OptionNotifySuccessLogin"
483
+ msgstr "Recibir alertas por autenticaciones exitosas de usuario"
484
+
485
+ msgid "OptionNotifyFailedLogin"
486
+ msgstr "Recibir alertas por autenticaciones de usuario fallidas <em>(si su sitio está siendo atacado usted recibirá multiples alertas por segundo, deseleccione para reducir el Spam)</em>"
487
+
488
+ msgid "OptionNotifyBruteforceAttack"
489
+ msgstr "Recibir un resumen con todos los intentos de autenticación de usuario fallidos durante la misma hora. El reporte será eliminado del servidor una vez la información sea enviada a su correo"
490
+
491
+ msgid "OptionNotifyPostPublication"
492
+ msgstr "Recibir alertas por cambios en el estado de las publicaciones y páginas <em>(puede configurar qué alertas serán monitoreadas desde el panel \"Ignorar Cambios en Publicaciones\")</em>"
493
+
494
+ msgid "OptionNotifyWebsiteUpdated"
495
+ msgstr "Recibir alertas cuando su sitio web sea actualizado"
496
+
497
+ msgid "OptionNotifySettingsUpdated"
498
+ msgstr "Recibir alertas por cambios en la configuración general de su sitio web"
499
+
500
+ msgid "OptionNotifyThemeEditor"
501
+ msgstr "Recibir alertas cuando un archivo sea modificado a través del editor de Plugins/Plantillas"
502
+
503
+ msgid "OptionNotifyPluginInstalled"
504
+ msgstr "Recibir alertas cuando un <b>plugin sea instalado</b>"
505
+
506
+ msgid "OptionNotifyPluginActivated"
507
+ msgstr "Recibir alertas cuando un <b>plugin sea activado</b>"
508
+
509
+ msgid "OptionNotifyPluginDeactivated"
510
+ msgstr "Recibir alertas cuando un <b>plugin sea desactivado</b>"
511
+
512
+ msgid "OptionNotifyPluginUpdated"
513
+ msgstr "Recibir alertas cuando un <b>plugin sea actualizado</b>"
514
+
515
+ msgid "OptionNotifyPluginDeleted"
516
+ msgstr "Recibir alertas cuando un <b>plugin sea eliminado</b>"
517
+
518
+ msgid "OptionNotifyWidgetAdded"
519
+ msgstr "Recibir alertas cuando un <b>widget sea agregado</b> a su sitio web"
520
+
521
+ msgid "OptionNotifyWidgetDeleted"
522
+ msgstr "Recibir alertas cuando un <b>widget sea eliminado</b> de su sitio web"
523
+
524
+ msgid "OptionNotifyThemeInstalled"
525
+ msgstr "Recibir alertas cuando una <b>plantilla sea instalada</b>"
526
+
527
+ msgid "OptionNotifyThemeActivated"
528
+ msgstr "Recibir alertas cuando una <b>plantilla sea activada</b>"
529
+
530
+ msgid "OptionNotifyThemeUpdated"
531
+ msgstr "Recibir alertas cuando una <b>plantilla sea actualizada</b>"
532
+
533
+ msgid "OptionNotifyThemeDeleted"
534
+ msgstr "Recibir alertas cuando una <b>plantilla sea eliminada</b>"
535
+
536
+ msgid "MaximumAlertsSuccess"
537
+ msgstr "El número máximo de alertas por hora ha sido actualizado"
538
+
539
+ msgid "MaximumAlertsFailure"
540
+ msgstr "Error al actualizar el número máximo de alertas por hora"
541
+
542
+ msgid "OptionPerHour5"
543
+ msgstr "Máximo 5 por hora"
544
+
545
+ msgid "OptionPerHour10"
546
+ msgstr "Máximo 10 por hora"
547
+
548
+ msgid "OptionPerHour20"
549
+ msgstr "Máximo 20 por hora"
550
+
551
+ msgid "OptionPerHour40"
552
+ msgstr "Máximo 40 por hora"
553
+
554
+ msgid "OptionPerHour80"
555
+ msgstr "Máximo 80 por hora"
556
+
557
+ msgid "OptionPerHour160"
558
+ msgstr "Máximo 160 por hora"
559
+
560
+ msgid "BruteForceAlertSuccess"
561
+ msgstr "El plugin asumirá que su sitio web eatá siendo atacado después de %1$s autenticaciones de usuario fallidas durante la misma hora"
562
+
563
+ msgid "BruteForceAlertFailure"
564
+ msgstr "Ese número no está soportado por el plugin, use uno de la lista"
565
+
566
+ msgid "OptionPerHourUnlimited"
567
+ msgstr "Alertas ilimitadas por hora"
568
+
569
+ msgid "OptionFailedLogins30"
570
+ msgstr "30 autenticaciones fallidas por hora"
571
+
572
+ msgid "OptionFailedLogins60"
573
+ msgstr "60 autenticaciones fallidas por hora"
574
+
575
+ msgid "OptionFailedLogins120"
576
+ msgstr "120 autenticaciones fallidas por hora"
577
+
578
+ msgid "OptionFailedLogins240"
579
+ msgstr "240 autenticaciones fallidas por hora"
580
+
581
+ msgid "OptionFailedLogins480"
582
+ msgstr "480 autenticaciones fallidas por hora"
583
+
584
+ msgid "HTAccessIsMissing"
585
+ msgstr "Archivo .htaccess no existe"
586
+
587
+ msgid "HTAccessNotWritable"
588
+ msgstr "Archivo .htaccess no es modificable"
589
+
590
+ msgid "DiffUtility"
591
+ msgstr "Herramienta de Integridad de Archivos"
592
+
593
+ msgid "DiffUtilityDescription"
594
+ msgstr "Si su proveedor de hosting permite la ejecución de comandos del sistema a través de PHP, puede configurar el plugin para usar el comando <a href=\"https://en.wikipedia.org/wiki/Diff_utility\" target=\"_blank\" rel=\"noopener\">Diff de UNIX</a> para comparar el contenido actual de sus archivos con los archivos originales de WordPress. Esta herramienta le permitirá ver las diferencias entre ambos repositorios y actuar dependiendo de la información encontrada."
595
+
596
+ msgid "DiffUtilityInfo"
597
+ msgstr "El comand <b>diff</b> de Unix está activado. Puede hacer clic en los archivos marcados como modificados <em>(señalados con la bandera violeta)</em> para ver las diferencias detectadas por el escaner. Si usted considera que las diferencias no causan daño a su sitio puede marcar el archivo como revisado, de otra forma se le sugiere restaurar el contenido original inmediatamente."
598
+
599
+ msgid "DiffUtilityInstructions"
600
+ msgstr "Las lineas con un signo <b>negativo</b> como prefijo <em>(marcadas en rojo)</em> muestran el código original. Las lineas con un signo <b>positivo</b> como prefijo <em>(marcadas en verde)</em> muestran el código actual. Puede leer más acerca del formato DIFF en el artículo de WikiPedia <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Diff_utility\" rel=\"noopener\">Unix Diff Utility</a>."
601
+
602
+ msgid "AccountsWereBlocked"
603
+ msgstr "Las cuentas de usuario seleccionadas han sido bloqueadas"
604
+
605
+ msgid "AccountsWereUnblocked"
606
+ msgstr "Las cuentas de usuario seleccionadas han sido desbloqueadas"
607
+
608
+ msgid "LastLoginMessage"
609
+ msgstr "El último acceso de su cuenta fué en <b>%1$s</b> desde <b>%2$s</b> <em>(%3$s)</em> <a href='%4$s'>ver todos los registros</a>"
610
+
611
+ msgid "LastLoginsNotWritable"
612
+ msgstr "El archivo para los registros de autenticaciones de usuario no es modificable: <code>%1$s</code>"
613
+
614
+ msgid "UserInfo"
615
+ msgstr "Usuario: %1$s (%2$s)"
616
+
617
+ msgid "ReverseProxy"
618
+ msgstr "Túneles Proxy"
619
+
620
+ msgid "ReverseProxyStatus"
621
+ msgstr "El soporte para túneles proxy ha sido cambiado a <b>%1$s</b>"
622
+
623
+ msgid "ReverseProxyInfo"
624
+ msgstr "El plugin utiliza la dirección IP de cada usuario para registrar los eventos ejecutados, el plugin utiliza dos métodos para obtener esta dirección: el método principal usa una variable global del servidor llamada <em>Remote-Addr</em> disponible en la mayoría de servidores web, un método alternativo usa cabeceras de HTTP personalizadas <em>(que son consideradas inseguras por defecto)</em>. No es necesario que usted se preocupe por esta opción a menos que su sitio web esté detrás de un túnel proxy. Servicios como el <a href=\"https://sucuri.net/website-firewall/\" target=\"_blank\">Firewall de Sucuri</a> &mdash; una vez activo &mdash; forzan el paso del tráfico de red a través de ellos para filtrar amenazas de seguridad que podrían afectar el servidor original. Un efecto secundario del uso de estos servicios es que la dirección IP de los usuarios ya no está disponible entre las variables globales del servidor sino que es enviada a través de una cabecera HTTP personalizada."
625
+
626
+ msgid "IPDiscoverer"
627
+ msgstr "Detección de Direcciones IP"
628
+
629
+ msgid "IPDiscovererInfo"
630
+ msgstr "La detección de direcciones IP hace uso de DNS para detectar si el sitio web está detrás del <a href=\"https://sucuri.net/website-firewall/\" target=\"_blank\">Firewall de Sucuri</a> en cuyo caso modificará las variables globales del servidor para configurar la dirección IP real de cada visitante del sitio. Este proceso es ejecutado con cada proceso de WordPress y es posible que la velocidad de su sitio sea afectada ya que algunos proveedores de hosting utilizan servidores DNS lentos lo que hace que esta operación tome más tiempo de lo que se espera."
631
+
632
+ msgid "HTTPHeader"
633
+ msgstr "Cabecera de HTTP"
634
+
635
+ msgid "HTTPHeaderStatus"
636
+ msgstr "La cabecera de HTTP ha sido cambiada a <code>%1$s</code>"
637
+
638
+ msgid "DisallowedHTTPHeader"
639
+ msgstr "La cabecera de HTTP no es permitida"
640
+
641
+ msgid "RequiresModernPHP"
642
+ msgstr "El plugin requiere de PHP 5 >= 5.3.0 - o - PHP 7"
643
+
644
+ msgid "General"
645
+ msgstr "Generales"
646
+
647
+ msgid "Scanner"
648
+ msgstr "Escáner"
649
+
650
+ msgid "Hardening"
651
+ msgstr "Hardening"
652
+
653
+ msgid "PostHack"
654
+ msgstr "Pos-Ataque"
655
+
656
+ msgid "Alerts"
657
+ msgstr "Alertas"
658
+
659
+ msgid "WebsiteInfo"
660
+ msgstr "Información"
661
+
662
+ msgid "Loading"
663
+ msgstr "Cargando..."
664
+
665
+ msgid "iFrames"
666
+ msgstr "iFrames"
667
+
668
+ msgid "Links"
669
+ msgstr "Vínculos"
670
+
671
+ msgid "Scripts"
672
+ msgstr "Scripts"
673
+
674
+ msgid "iFramesNum"
675
+ msgstr "iFrames: %1$d"
676
+
677
+ msgid "LinksNum"
678
+ msgstr "Vínculos: %1$d"
679
+
680
+ msgid "ScriptsNum"
681
+ msgstr "Scripts: %1$d"
682
+
683
+ msgid "Type"
684
+ msgstr "Tipo"
685
+
686
+ msgid "Name"
687
+ msgstr "Nombre"
688
+
689
+ msgid "Value"
690
+ msgstr "Valor"
691
+
692
+ msgid "Version"
693
+ msgstr "Versión"
694
+
695
+ msgid "NextDue"
696
+ msgstr "Próxima Ejecución"
697
+
698
+ msgid "Schedule"
699
+ msgstr "Frecuencia"
700
+
701
+ msgid "Arguments"
702
+ msgstr "Argumentos"
703
+
704
+ msgid "EnvVariables"
705
+ msgstr "Variables del Servidor"
706
+
707
+ msgid "ConfigVariables"
708
+ msgstr "Variables de Configuración"
709
+
710
+ msgid "ConfigNotFound"
711
+ msgstr "El archivo de configuración de WordPress no fué encontrado."
712
+
713
+ msgid "ConfigNotWritable"
714
+ msgstr "El archivo de configuraciòn de WordPress no es modificable."
715
+
716
+ msgid "LastLoginsResetSuccess"
717
+ msgstr "El archivo para los registros de autenticaciones de usuario ha sido reseteado."
718
+
719
+ msgid "LastLoginsResetFailure"
720
+ msgstr "No se pudo resetear el archivo para los registros de autenticaciones de usuario."
721
+
722
+ msgid "WillReceiveAlerts"
723
+ msgstr "Las alertas de seguridad serán enviadas a: <code>%1$s</code>"
724
+
725
+ msgid "WillNotReceiveAlerts"
726
+ msgstr "Estos correos no recibirán más alertas de seguridad: <code>%1$s</code>"
727
+
728
+ msgid "TestAlertSent"
729
+ msgstr "Un correo de prueba ha sido enviado a su dirección, revise su bandeja de entrada"
730
+
731
+ msgid "InvalidEmail"
732
+ msgstr "Formato de correo electrónico inválido."
733
+
734
+ msgid "TrustedIPDuplicate"
735
+ msgstr "La dirección IP especificada ya ha sido agregada."
736
+
737
+ msgid "TrustedIPAdded"
738
+ msgstr "Eventos sospechosos generados desde esta dirección IP serán ignorados: <code>%1$s</code>"
739
+
740
+ msgid "TrustedIPFailure"
741
+ msgstr "La dirección IP no pudo ser agregada a la lista"
742
+
743
+ msgid "TrustedIPDeleted"
744
+ msgstr "La dirección IP ha sido eliminada de la lista"
745
+
746
+ msgid "OnlyLowerUppercase"
747
+ msgstr "Solo se permiten letras en minúscula y guiones-bajo"
748
+
749
+ msgid "PostTypeIgnore"
750
+ msgstr "Recibir Estas Alertas"
751
+
752
+ msgid "PostTypeUnignore"
753
+ msgstr "No Recibir Estas Alertas"
754
+
755
+ msgid "PostTypeIgnored"
756
+ msgstr "Este tipo de publicaciones serán ignoradas"
757
+
758
+ msgid "PostTypeUnignored"
759
+ msgstr "Este tipo de publicaciones no serán ignoradas"
760
+
761
+ msgid "PostTypeFailure"
762
+ msgstr "Este tipo de publicaciones no es válido o ya han sido ignoradas"
763
+
764
+ msgid "APIServiceChanged"
765
+ msgstr "El estado de comunicación con la API ha sido cambiado"
766
+
767
+ msgid "HTTPTimeoutChange"
768
+ msgstr "El tiempo de espera para las conexiones a través de HTTP ha sido cambiado"
769
+
770
+ msgid "HTTPTimeoutFailure"
771
+ msgstr "El tiempo de espera para las conexiones a través de HTTP es muy alto"
772
+
773
+ msgid "PluginResetSuccess"
774
+ msgstr "Los registros de seguridad, configuraciones y cambios adicionales hechos por el plugin han sido eliminados"
775
+
776
+ msgid "StorageNotWritable"
777
+ msgstr "El plugin no tiene acceso a este directorio: <code>%1$s</code>"
778
+
779
+ msgid "SiteWasRegistered"
780
+ msgstr "Sitio web registrado exitosamente"
781
+
782
+ msgid "NFilesWereDeleted"
783
+ msgstr "%1$d de %2$d archivos han sido eliminados"
784
+
785
+ msgid "AvoidDocumentRoot"
786
+ msgstr "El archivo no puede ser accesible públicamente"
787
+
788
+ msgid "AvoidFileOverride"
789
+ msgstr "El archivo ya existe; no será sobre-escrito"
790
+
791
+ msgid "Cronjobs"
792
+ msgstr "Acciones Automatizadas"
793
+
794
+ msgid "CronjobsInfo"
795
+ msgstr "<b>Acciones Automatizadas</b> son reglas registradas en su base de datos por un plugin, plantilla o WordPress; estas reglas son usadas para ejecutar automáticamente acciones definidas en el código con un intervalo de tiempo definido. Un buen uso de estas reglas es la generación de copias de seguridad, la ejecución de escáneres de seguridad o la remoción de elementos innecesarios de la base de datos como borradores de publicaciones."
796
+
797
+ msgid "CronjobRunNow"
798
+ msgstr "Ejecutar Ahora (en +10 segundos)"
799
+
800
+ msgid "CronjobsWillRunSoon"
801
+ msgstr "%1$d acciones automatizadas serán ejecutadas en los próximos segundos"
802
+
803
+ msgid "CronjobsWereDeleted"
804
+ msgstr "%1$d acciones automatizadas han sido eliminadas"
805
+
806
+ msgid "CronjobsWereReinstalled"
807
+ msgstr "%1$d acciones automatizadas han sido reinstaladas para ser ejecutadas con este intervalo de tiempo: <code>%2$s</code>.'"
808
+
809
+ msgid "CronjobsWereNotSelected"
810
+ msgstr "Ninguna acción automatizada ha sido seleccionada de la lista"
811
+
812
+ msgid "DNSLookupStatus"
813
+ msgstr "El estado las conexiones via DNS para detectar el uso de túneles proxy ha sido cambiado"
814
+
815
+ msgid "IncorrectEncoding"
816
+ msgstr "Los datos han sido codificados incorrectamente"
817
+
818
+ msgid "ImportCount"
819
+ msgstr "%1$d de %2$d opciones han sido importadas exitosamente"
820
+
821
+ msgid "APIKey"
822
+ msgstr "Llave de Autenticación"
823
+
824
+ msgid "APIKeyInfo"
825
+ msgstr "La mayoría de herramientas en este plugin pueden ser usadas sin una configuración específica, pero las herramientas más importantes requieren de una <b>llave de autenticación</b> para establecer un túnel de comunicación segura con los servidores de Sucuri. La llave es generada usando su correo electrónico y el nombre dominio de su sitio web, esto le permitirá tener acceso a la herramienta de monitoreo y opciones extra."
826
+
827
+ msgid "APIKeyTerms"
828
+ msgstr "Tenga en cuenta que generar una llave implica que usted está de acuerdo con enviar la información recolectada por el plugin a los servidores de Sucuri, esto le permite mantener los registros de seguridad fuera del alcance de usuarios maliciosos que podrían intentar eliminarlos para limpiar sus huellas durante un ataque. Nosotros además usamos esta información de forma anónima para generar <a href=\"https://sucuri.net/security-reports/brute-force/\" target=\"_blank\">estadísticas</a>. Por favor, no genere la llave de autenticación si usted está en desacuerdo con esto, usted puede seguir usando el plugin sin la llave."
829
+
830
+ msgid "APIKeyInvalidDomain"
831
+ msgstr "Su sitio web <code>%%SUCURI.CleanDomain%%</code> parece no tener un registro de DNS tipo <code>A</code> así que la API lo considerará inválido durante el proceso de generación su la llave. Agregue <code>www</code> al inicio del dominio para intentar solucionar el problema. Envíe un mensaje a nuestro servicio de soporte si no entiende qué significa esto."
832
+
833
+ msgid "APIKeyRecoverButton"
834
+ msgstr "Recuperar Por Correo Electrónico"
835
+
836
+ msgid "APIKeyRecoveryCondition"
837
+ msgstr "Si usted no tiene acceso al correo electrónico usado para generar la llave pero tiene una copia de la misma a la mano, haga <a target=\"_self\" href=\"%%SUCURI.URL.Settings%%&recover\">clic aquí</a> para activar el plugin manualmente. Tenga en cuenta que si la llave es inválida el plugin la eliminará inmediatamente."
838
+
839
+ msgid "ApplyHardening"
840
+ msgstr "Aplicar Hardening"
841
+
842
+ msgid "RevertHardening"
843
+ msgstr "Revertir Hardening"
844
+
845
+ msgid "HardeningFirewallTitle"
846
+ msgstr "Firewall Para Aplicaciones Web"
847
+
848
+ msgid "HardeningFirewallDescription"
849
+ msgstr "Un WAF (Web Application Firewall) es una capa de protección para su sitio web que bloquea todo tipo de ataques (fuerza bruta, denegación de servicios, inyecciones a base de datos, etc) y le ayuda a permanecer limpio de código malicioso y fuera de listas negras. Esta opción verifica si su sitio web está usando el Firewall de Sucuri como su capa de protección primaria."
850
+
851
+ msgid "HardeningFirewallPurchase"
852
+ msgstr "El Firewall de Sucuri es un servicio premium que puede comprar aquí - <a href='https://goo.gl/qfNkMq' target='_blank'>Sucuri Firewall</a>"
853
+
854
+ msgid "HardeningVersionTitle"
855
+ msgstr "Verificar la Versión de WordPress"
856
+
857
+ msgid "HardeningVersionDescription"
858
+ msgstr "¿Por qué mantener su sitio web actualizado? WordPress es un proyecto de código libre lo que significa que todos los cambios hechos al código son hechos de forma pública, si alguno de esos cambios hace parte de una solución para un problema de seguridad, cualquier persona puede utilizar esta información para atacar su sitio web si este aún no ha aplicado el parche de seguridad."
859
+
860
+ msgid "HardeningPHPVersionTitle"
861
+ msgstr "Verificar la Versión de PHP"
862
+
863
+ msgid "HardeningPHPVersionDescription"
864
+ msgstr "PHP %1$s está instalado."
865
+
866
+ msgid "HardeningPHPVersionLifetime"
867
+ msgstr "Comuníquese con su proveedor de hosting para instalar una version actualizada de PHP - <a href='http://php.net/supported-versions.php' target='_blank' rel='noopener'>Lista de Versiones de PHP Soportadas</a>"
868
+
869
+ msgid "HardeningGeneratorTitle"
870
+ msgstr "Eliminar Versión de WordPress"
871
+
872
+ msgid "HardeningGeneratorDescription"
873
+ msgstr "Esta opción verifica si la versión de WordPress usada en su sitio web está siendo expuesta de forma pública a través del código HTML. Muchos escáneres de vulnerabilidades web utilizan esta información para determinar si su página web tiene vulnerabilidades para luego ser explotadas. Tenga en cuenta que aún sin esta información un escáner inteligente puede detectar la versión de WordPress en uso comparando los Checksums de algunos archivos estáticos distribuidos con cada instalación."
874
+
875
+ msgid "HardeningNginxTitle"
876
+ msgstr "Bloquear Algunos Archivos PHP"
877
+
878
+ msgid "HardeningNginxDescription"
879
+ msgstr "Esta opción bloquea la ejecución de archivos PHP en directorios sensitivos. Sea cuidadoso cuando aplique esta opción ya que algunos plugins y plantillas requieren de acceso público a este directorio para algunas de sus herramientas, por ejemplo, para generar imágenes o guardar información temporalmente. Agrégue los archivos que están siendo bloqueados a la lista blanca de archivos PHP."
880
+
881
+ msgid "HardeningNginxField"
882
+ msgstr "Verificar Hardening"
883
+
884
+ msgid "HardeningNginxSuggestion"
885
+ msgstr "Léa las instrucciones oficiales de WordPress para aprender como restringir el acceso a archivos PHP en directorios sensitivos - <a href='https://codex.wordpress.org/Nginx#Global_restrictions_file' target='_blank' rel='noopener'>Restricciones Globales para Nginx y WordPress</a>"
886
+
887
+ msgid "HardeningUploadsTitle"
888
+ msgstr "Bloquear Archivos PHP en el Directorio de Subidas"
889
+
890
+ msgid "HardeningUploadsDescription"
891
+ msgstr "Esta opción bloquea la ejecución de archivos PHP en directorios sensitivos. Sea cuidadoso cuando aplique esta opción ya que algunos plugins y plantillas requieren de acceso público a este directorio para algunas de sus herramientas, por ejemplo, para generar imágenes o guardar información temporalmente. Agrégue los archivos que están siendo bloqueados a la lista blanca de archivos PHP."
892
+
893
+ msgid "HardeningUploadsApplySuccess"
894
+ msgstr "Hardening aplicado al directorio de subidas"
895
+
896
+ msgid "HardeningUploadsApplyFailure"
897
+ msgstr "Error aplicando hardening en el directorio seleccionado"
898
+
899
+ msgid "HardeningUploadsRevertSuccess"
900
+ msgstr "Hardening revertido en el directorio de subidas"
901
+
902
+ msgid "HardeningUploadsRevertFailure"
903
+ msgstr "El archivo .htaccess no es modificable"
904
+
905
+ msgid "HardeningContentTitle"
906
+ msgstr "Bloquear Archivos PHP en el Directorio de Contenido"
907
+
908
+ msgid "HardeningContentDescription"
909
+ msgstr "Esta opción bloquea la ejecución de archivos PHP en directorios sensitivos. Sea cuidadoso cuando aplique esta opción ya que algunos plugins y plantillas requieren de acceso público a este directorio para algunas de sus herramientas, por ejemplo, para generar imágenes o guardar información temporalmente. Agrégue los archivos que están siendo bloqueados a la lista blanca de archivos PHP."
910
+
911
+ msgid "HardeningContentApplySuccess"
912
+ msgstr "Hardening aplicado al directorio de contenido"
913
+
914
+ msgid "HardeningContentApplyFailure"
915
+ msgstr "Error aplicando hardening en el directorio seleccionado"
916
+
917
+ msgid "HardeningContentRevertSuccess"
918
+ msgstr "Hardening revertido en el directorio de contenido"
919
+
920
+ msgid "HardeningContentRevertFailure"
921
+ msgstr "El archivo .htaccess no es modificable"
922
+
923
+ msgid "HardeningIncludesTitle"
924
+ msgstr "Bloquear Archivos PHP en el Directorio de Inclusiones"
925
+
926
+ msgid "HardeningIncludesDescription"
927
+ msgstr "Esta opción bloquea la ejecución de archivos PHP en directorios sensitivos. Sea cuidadoso cuando aplique esta opción ya que algunos plugins y plantillas requieren de acceso público a este directorio para algunas de sus herramientas, por ejemplo, para generar imágenes o guardar información temporalmente. Agrégue los archivos que están siendo bloqueados a la lista blanca de archivos PHP."
928
+
929
+ msgid "HardeningIncludesApplySuccess"
930
+ msgstr "Hardening aplicado al directory de inclusiones"
931
+
932
+ msgid "HardeningIncludesApplyFailure"
933
+ msgstr "Error aplicando hardening en el directorio de inclusiones"
934
+
935
+ msgid "HardeningIncludesRevertSuccess"
936
+ msgstr "Hardening revertido en el directorio de inclusiones"
937
+
938
+ msgid "HardeningIncludesRevertFailure"
939
+ msgstr "El archivo .htaccess no es modificable"
940
+
941
+ msgid "HardeningReadmeTitle"
942
+ msgstr "Exposición de Información"
943
+
944
+ msgid "HardeningReadmeDescription"
945
+ msgstr "Esta opción verifica si el archivo README todavía existe. La información en este archivo puede ser usada por personas maliciosas para encontrar vulnerabilidades asociadas con la versión de WordPress que usted ha instalado. Tenga en cuenta que este archivo is re-creado cada vez que una actualización es ejecutada."
946
+
947
+ msgid "HardeningReadmeApplySuccess"
948
+ msgstr "Hardening aplicado sobre el archivo README"
949
+
950
+ msgid "HardeningReadmeApplyFailure"
951
+ msgstr "No se puede eliminar el archivo README"
952
+
953
+ msgid "HardeningAdminUserTitle"
954
+ msgstr "Cuenta de Administración Primaria"
955
+
956
+ msgid "HardeningAdminUserDescription"
957
+ msgstr "Esta opción verifica si la cuenta de administración primaria está usando un nombre fácil de adivinar como \"admin\". Esto permite a personas maliciosas identicar fácilmente qué cuenta tiene los privilegios más altos entre todos los usuarios registrados."
958
+
959
+ msgid "HardeningFileEditorTitle"
960
+ msgstr "Editor de Plugins y Plantillas"
961
+
962
+ msgid "HardeningFileEditorDescription"
963
+ msgstr "Esta opción desactiva el editor de plugins y plantillas para prevenir modificaciones innecesarias en el código."
964
+
965
+ msgid "HardeningFileEditorApplySuccess"
966
+ msgstr "Hardening aplicado al editor de plugins y plantillas"
967
+
968
+ msgid "HardeningFileEditorRevertSuccess"
969
+ msgstr "Hardening revertido en el editor de plugins y plantillas"
970
+
971
+ msgid "HardeningFileEditorRevertFailure"
972
+ msgstr "El editor de plugins y plantillas no fue desactivado usando el plugin de Sucuri. Usted debe escanear su sitio web por una constante definida como \"DISALLOW_FILE_EDIT\" cuando la encuentre debe eliminarla o cambiar su valor a \"False\". Tenga en cuenta que cualquier otro plugin o plantilla puede desactivar el editor, así que es imposible determinar el origen de la constante."
973
+
974
+ msgid "PHPWhitelistSuccess"
975
+ msgstr "El archivo ha sido agregado a la lista blanca de archivos PHP"
976
+
977
+ msgid "PHPWhitelistFailure"
978
+ msgstr "El directorio especificado no fue fortalecido por el plugin de Sucuri"
979
+
980
+ msgid "PHPDewhitelistSuccess"
981
+ msgstr "Los archivos seleccionados han sido eliminados de la lista blanca de archivos PHP"
982
+
983
+ msgid "DiffUtilityStatus"
984
+ msgstr "El estado de la herramienta de integridad ha sido cambiado"
985
+
986
+ msgid "DiffUtilityMissing"
987
+ msgstr "Su proveedor de hosting no permite la ejecución de comandos del sistema a través de archivos PHP."
988
+
989
+ msgid "IntegrityLanguage"
990
+ msgstr "El idioma para la herramienta de integridad de archivos de WordPress ha sido cambiado"
991
+
992
+ msgid "NotInstalled"
993
+ msgstr "no instalado"
994
+
995
+ msgid "PremiumPlugin"
996
+ msgstr "Plugin Premium"
997
+
998
+ msgid "MissingLibrary"
999
+ msgstr "NO_INSTALLER"
1000
+
1001
+ msgid "CannotDownload"
1002
+ msgstr "Imposible Descargar"
1003
+
1004
+ msgid "CannotBackup"
1005
+ msgstr "Imposible Hacer Copia de Seguridad"
1006
+
1007
+ msgid "CannotInstall"
1008
+ msgstr "Imposible Instalar"
1009
+
1010
+ msgid "VersionInstalled"
1011
+ msgstr "Instalado v%1$s"
1012
+
1013
+ msgid "NewestWordPress"
1014
+ msgstr "Última Versión"
1015
+
1016
+ msgid "NoUpdates"
1017
+ msgstr "No existen actualizaciones."
1018
+
1019
+ msgid "ScannerFreqStatus"
1020
+ msgstr "La frecuencia para la ejecución del escáner de archivos ha sido cambiada"
1021
+
1022
+ msgid "SiteClean"
1023
+ msgstr "Sitio Limpio"
1024
+
1025
+ msgid "SiteNotClean"
1026
+ msgstr "Sitio Infectado"
1027
+
1028
+ msgid "Blacklisted"
1029
+ msgstr "Lista Negra"
1030
+
1031
+ msgid "NotBlacklisted"
1032
+ msgstr "Sin Lista Negra"
1033
+
1034
+ msgid "APIKeyExplanation"
1035
+ msgstr "Una llave de autenticación es necesaria para activar herramientas adicionales disponibles en el plugin. Las llaves son gratuitas y puede generar un número ilimitado de ellas siempre y cuando el nombre del sitio web y el correo electrónico sean únicos. La llave es usada para autenticar las conexiones a través de HTTP hechas a la API administrada por Sucuri Inc. No genere la llave si usted está en desacuerdo con el envío de información a nuestros servidores."
1036
+
1037
+ msgid "APIKeyHelp"
1038
+ msgstr "Si experimenta problemas con la generación de la llave, puede solicitar una enviando la dirección de su sitio web y el correo electrónico que desea usar para la asociacón a <a href=\"mailto:info@sucuri.net\">info@sucuri.net</a>. Tenga en cuenta que generar una llave para un sitio web que no es público en Internet no es posible ya que la API necesita validar que el nombre del host existe, sin embargo, si usted desea probar el plugin en un ambiente de desarrollo por favor contáctenos para poder generar una llave manualmente."
1039
+
1040
+ msgid "APIKeyGenerated"
1041
+ msgstr "Felicitaciones! Todas las herramientas disponibles en el plugin han sido habilitadas. Este producto está diseñado para suplementar productos de seguridad existentes en su sitio web. El plugin no provee una solución completa a sus necesidades de seguridad, pero le ofrece más herramientas para controlar el funcionamiento de su sitio y tener una mejor postura con respecto a ataques que pueda sufrir en el futuro, todo esto con la intensión de reducir riesgos."
1042
+
1043
+ msgid "APIKeyContinueSetup"
1044
+ msgstr "Sucuri Inc. ha generado una llave única para su sitio web, esta llave fué asociada al correo electrónico que seleccionó anteriormente, correo que puede utilizar para recuperar dicha llave si llega a perderla en el futuro. Le invitamos a revisar el resto de opciones disponibles en la página de ajustes paraque configure el plugin a la medida de su sitio."
1045
+
1046
+ msgid "APIKeyRecoveryExplanation"
1047
+ msgstr "Si esta operación fué exitosa, usted recibirá un mensaje en el correo electrónico que usó durante la generación de la llave <em>(usualmente este correo es el mismo asociado a la cuenta de administración primaria)</em>. Este mensaje contiene una copia de la llave, por favor copie y péguela en el formulario de abajo. El plugin verificará la autenticidad de la misma, si esta verificación falla la llave será eliminada automáticamente y usted deberá iniciar el proceso de recuperación nuevamente."
1048
+
1049
+ msgid "APIKeyRecoveryPossibleFailures"
1050
+ msgstr "Existen casos en los que esta operación puede fallar, un ejemplo sería cuando el correo electrónico ya no está asociado al sitio web, esto sucede cuando la base de la URL cambia <em>(de www a nada y viceversa)</em>. Si está teniendo problemas con el proceso de recuperación de la llave, por favor envíe un mensaje explicando la situación a <a href=\"mailto:info@sucuri.net\">info@sucuri.net</a>"
1051
+
1052
+ msgid "DNSLookups"
1053
+ msgstr "Conexiones DNS"
1054
+
1055
+ msgid "DNSLookupsLabel"
1056
+ msgstr "Activar conexiones DNS al inicio de cada proceso"
1057
+
1058
+ msgid "DNSLookupsText"
1059
+ msgstr "Active esta opción si su sitio web está destrás de un Firewall, esto garantizará que la dirección IP de sus visitantes será detectada correctamente para los registros de seguridad. Usted puede cambiar esto después desde la página de configuraciones del plugin."
1060
+
1061
+ msgid "IntegrityTitle"
1062
+ msgstr "Integridad de la Instalación"
1063
+
1064
+ msgid "IntegrityDescription"
1065
+ msgstr "El plugin inspecciona la instalación de WordPress en busca de modificaciones en los archivos originales disponibles en WordPress.org. Archivos ubicados en la raíz del proyecto, el directorio wp-admin y el directorio wp-includes serán comparados con los archivos distribuidos en la versión v%%SUCURI.WordPressVersion%%; todos los archivos con inconsistencias aparecerán en esta lista. Cualquiera de estos cambios podría indicar un problema de seguridad."
1066
+
1067
+ msgid "ReviewFalsePositives"
1068
+ msgstr "Revisar Falsos/Positivos"
1069
+
1070
+ msgid "IntegrityGoodTitle"
1071
+ msgstr "Todos los Archivos Están Intáctos"
1072
+
1073
+ msgid "IntegrityGoodDescription"
1074
+ msgstr "No hemos detectado archivos adicionales, eliminados or cambios relevantes en los archivos originales de WordPress. Si usted está experimentando otros problemas, por favor use un <a target=\"_blank\" href=\"https://sucuri.net/website-security/malware-removal\">servicio de limpieza de malware</a>."
1075
+
1076
+ msgid "IntegrityBadTitle"
1077
+ msgstr "Archivos de WordPress Modificados"
1078
+
1079
+ msgid "IntegrityBadDescription"
1080
+ msgstr "Hemos identificado que algunos de los archivos de WordPress han sido modificados. Esto podría indicar un ataque o la existencia de un archivo corrupto en su instalación. Si usted está experimentando otros problemas, por favor use un <a target=\"_blank\" href=\"https://sucuri.net/website-security/malware-removal\">servicio de limpieza de malware</a>."
1081
+
1082
+ msgid "MarkFixedDescription"
1083
+ msgstr "Marcar uno o más archivos como revisado forzará al plugin a ignorar dichos archivos durante futuros escaneos, esto es útil cuando un archivo contiene falsos/positivos. Adicionalmente, puede restaurar el contenido original si estos han sido modificados o eliminados, el plugin descargará una copia del código desde el <a href=\"https://core.svn.wordpress.org/tags/\" target=\"_blank\" rel=\"noopener\">repositorio oficial de WordPress</a>. La eliminación de archivos es una operación irreversible, sea cuidadoso."
1084
+
1085
+ msgid "Action"
1086
+ msgstr "Acción"
1087
+
1088
+ msgid "Status"
1089
+ msgstr "Estado"
1090
+
1091
+ msgid "FileSize"
1092
+ msgstr "Tamaño"
1093
+
1094
+ msgid "ModifiedAt"
1095
+ msgstr "Modificado en"
1096
+
1097
+ msgid "Pattern"
1098
+ msgstr "Patrón"
1099
+
1100
+ msgid "FilePath"
1101
+ msgstr "Ubicación del Archivo"
1102
+
1103
+ msgid "Directory"
1104
+ msgstr "Directorio"
1105
+
1106
+ msgid "MarkFixed"
1107
+ msgstr "Marcar como Revisado"
1108
+
1109
+ msgid "RestoreFile"
1110
+ msgstr "Restaurar Archivo"
1111
+
1112
+ msgid "DeleteFile"
1113
+ msgstr "Eliminar Archivo"
1114
+
1115
+ msgid "HoverForPayload"
1116
+ msgstr "Ver Código Malicioso"
1117
+
1118
+ msgid "LogsPerEvent"
1119
+ msgstr "Tipos de Eventos"
1120
+
1121
+ msgid "LogsForLogins"
1122
+ msgstr "Autenticaciones Exitosas/Fallidas"
1123
+
1124
+ msgid "LogsPerUser"
1125
+ msgstr "Registros Por Usuario"
1126
+
1127
+ msgid "LogsPerIP"
1128
+ msgstr "Registros Por Dirección IP"
1129
+
1130
+ msgid "Search"
1131
+ msgstr "Buscar"
1132
+
1133
+ msgid "FirewallSettingsTitle"
1134
+ msgstr "Ajustes del Firewall"
1135
+
1136
+ msgid "FirewallSettingsInfo"
1137
+ msgstr "Un poderoso Firewall para aplicaciones web y <b>Sistema para la Detección de Intrusiones</b> para cualquier usuario de WordPress y cualquier otra plataforma. Esta página le ayudará a configurar y monitorear su sitio web a través del <b>Firewall de Sucuri</b>. Una vez activado, nuestro Firewall actuará como un escudo, protegiendo su sitio de ataques y previniendo infecciones de malware y reinfecciones. El Firewall también bloqueará inyecciones a bases de datos, ataques de fuerza bruta, XSS, RFI, puertas traseras y muchas otras amenazas en contra de su sitio web."
1138
+
1139
+ msgid "FirewallKey"
1140
+ msgstr "Llave del Firewall"
1141
+
1142
+ msgid "FirewallAddKey"
1143
+ msgstr "Agregue la <a href=\"https://waf.sucuri.net/?settings&panel=api\" target=\"_blank\">llave del Firewall</a> en el formulario para iniciar una conexión con la API."
1144
+
1145
+ msgid "FirewallFootNote"
1146
+ msgstr "<em>[1]</em> Más información acerca del <a href=\"https://sucuri.net/website-firewall/\" target=\"_blank\">Firewall de Sucuri</a>, herramientas disponibles y precios.<br><em>[2]</em> Instrucciones y videos en la <a href=\"https://kb.sucuri.net/firewall\" target=\"_blank\">Wiki de Sucuri</a>.<br><em>[3]</em> <a href=\"https://login.sucuri.net/signup2/create?CloudProxy\" target=\"_blank\">Registre</a> una cuenta nueva y empiece a proteger su sitio web."
1147
+
1148
+ msgid "FirewallLogsTitle"
1149
+ msgstr "Registros de Seguridad del Firewall"
1150
+
1151
+ msgid "FirewallLogsInfo"
1152
+ msgstr "El Firewall de Sucuri registra todas las conexiones HTTP involucradas en un ataque y las separa de las conexiones legítimas. Puede usar esta herramienta para analizar la información de las últimas conexiones y tomar acción y sea activando las herramientas avanzadas del IDS <em>(Intrusion Detection System)</em> desde el <a target=\"_blank\" href=\"https://waf.sucuri.net/?settings\">panel de administración del Firewall</a> y/o bloquear las direcciones IP y URL directamente desde la <a href=\"https://waf.sucuri.net/?audit\" target=\"_blank\">página de registros de seguridad del Firewall</a>."
1153
+
1154
+ msgid "FirewallLogsNote"
1155
+ msgstr "Las conexiones que no fueron bloqueadas son omitidas en la lista, esto es intensional."
1156
+
1157
+ msgid "FirewallCacheTitle"
1158
+ msgstr "Cache del Firewall"
1159
+
1160
+ msgid "FirewallCacheButton"
1161
+ msgstr "Limpiar Cache"
1162
+
1163
+ msgid "FirewallCacheInfo"
1164
+ msgstr "El Firewall ofrece multiples opciones para configurar el nivel de cache aplicado a su sitio web. Puede considerar activar la covertura total de la cache <em>(que es lo recomendado)</em>, o puede configurar la cache a un nivel mínimo, o forzar el uso de las cabeceras HTTP <em>(solo para usuarios avanzados)</em>, o en casos extremos donde usted no necesita la cache puede desactivarla completamente. Puede encontrar más información acerca de estas opciones <a target=\"_blank\" href=\"https://kb.sucuri.net/firewall/Performance/caching-options\">aquí</a>."
1165
+
1166
+ msgid "FirewallCacheNote"
1167
+ msgstr "Tenga en cuenta que el Firewall tiene unas <a href=\"https://kb.sucuri.net/firewall/Performance/cache-exceptions\" target=\"_blank\">reglas especiales para la cache</a> de imágenes, archivos CSS, archivos PDF, archivos de texto, código JavaScript, archivos audio visuales y algunas otros formatos de archivo que son guardados en nuestros <a href=\"https://en.wikipedia.org/wiki/Edge_device\" target=\"_blank\" rel=\"noopener\">Edge Devices</a>. La única forma de limpiar la cache de estos archivos es haciendo uso de parámetros aleatorios en la URL, puede agregar un parametro como este <code>?ver=1.2.3</code> e incrementar el número con cada actualización."
1168
+
1169
+ msgid "FirewallCacheWiki"
1170
+ msgstr "La cache web es una tecnología para el almacenamiento temporal (caching) de documentos web, como páginas en HTML e imágenes, para reducir el uso de ancho de banda, la carga del servidor, y retrasos en las descargas. Un sistema de cache web guarda copias de los documentos que pasan a través de él; conexiones subsecuentes pueden devolver el contenido desde la cache si las condiciones lo permiten. &mdash; <a href=\"https://en.wikipedia.org/wiki/Web_cache\" target=\"_blank\" rel=\"noopener\">WikiPedia - Web Cache</a>"
1171
+
1172
+ msgid "LoginsAdmins"
1173
+ msgstr "Autenticaciones Exitosas (admins)"
1174
+
1175
+ msgid "LoginsAdminsInfo"
1176
+ msgstr "Aquí puede encontrar una lista con todas las autenticaciones exitosas de cuentas de usuario con privilegios de administración."
1177
+
1178
+ msgid "Registration"
1179
+ msgstr "Registro"
1180
+
1181
+ msgid "NewestLogins"
1182
+ msgstr "Ordenados de Nuevos a Viejos"
1183
+
1184
+ msgid "Admins"
1185
+ msgstr "Administradores"
1186
+
1187
+ msgid "AllUsers"
1188
+ msgstr "Todos Los Usuarios"
1189
+
1190
+ msgid "LoginsAll"
1191
+ msgstr "Autenticaciones Exitosas (todos)"
1192
+
1193
+ msgid "LoginsAllInfo"
1194
+ msgstr "Aquí puede encontrar una lista con todas las autenticaciones exitosas de todas las cuentas de usuario."
1195
+
1196
+ msgid "BlockedUsers"
1197
+ msgstr "Usuarios Bloqueados"
1198
+
1199
+ msgid "BlockedUsersInfo"
1200
+ msgstr "Todo intento de autenticación que haga uso de las funciones nativas de WordPress será interceptado y analizado por el plugin, si el nombre de usuario coincide con alguno en esta lista la conexión al servidor será inmediatamente detenida. Estos intentos no serán registrados y ninguna alerta de seguridad será enviada."
1201
+
1202
+ msgid "BlockedUsersNote"
1203
+ msgstr "Tenga en cuenta que esta herramienta no intenta proveer una protección completa para bloquear autenticaciones indeseadas de usuarios maliciosos. Dependiendo de la configuración de su sitio web, los plugins o plantillas que sean instalados, o inclusive la versión de WordPress que esté usando, habrán huecos en el sistema que usuarios maliciosos pueden utilizar para evadir estos bloqueos e iniciar un ataque por fuerza bruta. <a target=\"_blank\" href=\"https://sucuri.net/website-firewall/?wp=bu\">Instale un Firewall</a> para tener protección completa y mitigar este y otros ataques en contra de su sitio web."
1204
+
1205
+ msgid "BlockedUsersByIP"
1206
+ msgstr "El bloqueo de usuarios por dirección IP es una opción disponible en el <a href=\"https://sucuri.net/website-firewall/\" target=\"_blank\">Firewall de Sucuri</a>; para evitar la duplicación de código y reducir la cantidad de falsos/positivos esta opción nunca será implementada en este plugin."
1207
+
1208
+ msgid "FailedLogins"
1209
+ msgstr "Autenticaciones Fallidas"
1210
+
1211
+ msgid "FailedLoginsInfo"
1212
+ msgstr "Esta información será usada para determinar si su sitio es víctima de un <a href=\"https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing\" target=\"_blank\">Password Guessing Brute Force Attacks</a>. Estos registros serán acumulados, si más de <code>%%SUCURI.FailedLogins.MaxFailedLogins%%</code> autenticaciones fallidas son registradas durante la misma hora, el plugin enviará un correo electrónico con un resumen del ataque <em>(debe activar esta opción desde la página de ajustes, sección alertas)</em>. <b>NOTE:</b> Algunos plugins que ofrecen la opción de <em>\"Autenticación por Dos-Pasos\"</em> no usan las funciones nativas de WordPress, motivo por el cual algunos intentos de autenticación no podrán ser interceptados ni analizados."
1213
+
1214
+ msgid "LoggedInUsers"
1215
+ msgstr "Usuarios Activos"
1216
+
1217
+ msgid "LoggedInUsersInfo"
1218
+ msgstr "Aquí puede encontrar una lista de usuarios que han iniciado una sesión en los últimos minutos."
1219
+
1220
+ msgid "Recomendations"
1221
+ msgstr "Recomendaciones"
1222
+
1223
+ msgid "SiteCheckNoResults"
1224
+ msgstr "Si nuestro escáner gratuito no ha detectado algún problema, es posible que su sitio tenga un problema más complicado y la infección esté escondida. Puede <a target=\"_blank\" href=\"https://sucuri.net/website-security-platform/signup\">registrar una cuenta con Sucuri</a> para obtener un escaneo más detallado y eventualmente una limpieza absoluta de su sitio web (no incluido con el plan gratuito)."
1225
+
1226
+ msgid "PasswordAttack"
1227
+ msgstr "Ataque De Fuerza Bruta En Contra De Contraseñas"
1228
+
1229
+ msgid "PasswordAttackAfter"
1230
+ msgstr "Considerar Ataque Después De"
1231
+
1232
+ msgid "PasswordAttackInfo"
1233
+ msgstr "Los <a href=\"https://kb.sucuri.net/definitions/attacks/brute-force/password-guessing\" target=\"_blank\">ataques de fuerza bruta en contra de contraseñas</a> son muy comunes en sitios web y páneles de administración. Estos son uno de los vectores más comunes usado para comprometer sitios web. El proceso es muy simple, los atacantes básicamente intentan múltiple combinaciones de usuario y contraseña hasta que encuentran una que funciona. Una vez el acceso al sitio es obtenido, ellos inyectan código malicioso en el código para generar spam, crear páginas fraudulentas, etc."
1234
+
1235
+ msgid "PostTypeAlerts"
1236
+ msgstr "Alerts Para Diferentes Tipos de Publicaciones"
1237
+
1238
+ msgid "IgnoredAt"
1239
+ msgstr "Ignorado en"
1240
+
1241
+ msgid "PostType"
1242
+ msgstr "Tipo de Publicación"
1243
+
1244
+ msgid "PostTypeAlertsDisabled"
1245
+ msgstr "Usted ha desactivado las alertas de seguridad cuando una publicación es creada o modificada, esta herramienta espera que esa opción esté activa para poder filtrar los tipos de publicaciones que no son relevantes para el administrador del sitio."
1246
+
1247
+ msgid "PostTypeAlertsInfo"
1248
+ msgstr "Esta es una lista de <a href=\"https://codex.wordpress.org/Post_Types\" target=\"_blank\" rel=\"noopener\">tipos de publicaciones</a> registradas. Usted recibirá alertas de seguridad cuando una página o publicación sea creada o modificada. Algunos de estos tipos son nativos de WordPress pero la mayoria son creados por plugins y plantillas que usted ha instalado. Si usted no quiere recibir alertas por cambios en uno o más de estos tipos puede usar este panel para desactivarlas."
1249
+
1250
+ msgid "PostTypeAlertsInvisible"
1251
+ msgstr "Si usted está recibiendo alertas por cambios en tipos de publicaciones que no aparecen en la lista, es posible que estas hayan sido creadas dinámicamente por un plugin o plantilla sin usar las funciones nativas de WordPress. Si conoce el identificador único del tipo de publicación puede ingresarlo en el formulario y el plugin de Sucuri hará lo mejor posible para ignorar estas alertas."
1252
+
1253
+ msgid "PostTypeAlertsStop"
1254
+ msgstr "Ignorar Cambios En Este Tipo De Publicaciones"
1255
+
1256
+ msgid "AlertsPerHour"
1257
+ msgstr "Alertas Por Hora"
1258
+
1259
+ msgid "AlertsPerHourMaximum"
1260
+ msgstr "Número Máximo De Alertas Por Hora"
1261
+
1262
+ msgid "AlertsPerHourInfo"
1263
+ msgstr "Utilice esta opción para configurar el número máximo de alertas de seguridad por hora. Si el número es excedido y el plugin detecta mas eventos durante la misma hora, estos serán agregados al registro de seguridad pero no serán enviados por correo electrónico. Tenga cuidado con esta opción ya que puede perder información importante."
1264
+
1265
+ msgid "TestAlerts"
1266
+ msgstr "Probar Alertas"
1267
+
1268
+ msgid "AlertsRecipient"
1269
+ msgstr "Quién Recibirá Alertas"
1270
+
1271
+ msgid "AlertsRecipientInfo"
1272
+ msgstr "Por defecto, el plugin enviará las alertas de seguridad a la cuenta de administración primaria, la misma cuenta que fué creada durante el proceso de instalación de WordPress en su servidor web. Usted puede agregar más direcciones de correo a la lista, ellos recibirán una copia de las mismas alertas de seguridad."
1273
+
1274
+ msgid "CustomFormat"
1275
+ msgstr "Formato Personalizado"
1276
+
1277
+ msgid "AlertsSubject"
1278
+ msgstr "Asunto de la Alerta"
1279
+
1280
+ msgid "AlertsSubjectInfo"
1281
+ msgstr "El formato para el asunto de las alertas de seguridad, por defecto las alertas incluirán el nombre del sitio web y el identificador del evento, usted puede usar este panel para agregar la dirección IP del usuario o cualquier otra información adicional. También puede crear filtros en su cliente de correo electrónico agregando etiquetas personalizadas en el formulario."
1282
+
1283
+ msgid "TrustedIPs"
1284
+ msgstr "Direcciones IP Seguras"
1285
+
1286
+ msgid "CIDRFormat"
1287
+ msgstr "Formato CIDR"
1288
+
1289
+ msgid "IPAddedAt"
1290
+ msgstr "Dirección Agregada en"
1291
+
1292
+ msgid "TrustedIPsInfo"
1293
+ msgstr "Si usted está trabajando en una red de área local, puede querer includir las direcciones IP de todos los nodos de la red en esta lista, esto hará que el plugin ignore todos los eventos originados desde estas direcciones para reducir la cantidad de falsos/positivos. Puede usar el formato CIDR <em>(Classless Inter Domain Routing)</em> para especificar un rango de direcciones IP <em>(solo 8, 16, y 24)</em>."
1294
+
1295
+ msgid "APIViaProxy"
1296
+ msgstr "API a Través de un Proxy"
1297
+
1298
+ msgid "APIViaProxyInfo"
1299
+ msgstr "Todas las conexiones a través de HTTP usadas para comunicarse con la API utilizan las funciones nativas de WordPress, esto significa que usted puede usar el mismo mecanismo sugerido por WordPress para establecer estas conexiones a través de un proxy. De acuerdo a la <a href=\"https://developer.wordpress.org/reference/classes/wp_http_proxy/\" target=\"_blank\" rel=\"noopener\">documentación oficial</a> usted debe agregar estas constantes en el archivo de configuración: <em>WP_PROXY_HOST, WP_PROXY_PORT, WP_PROXY_USERNAME, WP_PROXY_PASSWORD</em>."
1300
+
1301
+ msgid "ProxyHostname"
1302
+ msgstr "Dirección del Servidor Proxy"
1303
+
1304
+ msgid "ProxyPort"
1305
+ msgstr "Número del Puerto del Proxy"
1306
+
1307
+ msgid "ProxyUsername"
1308
+ msgstr "Nombre de Usuario del Proxy"
1309
+
1310
+ msgid "ProxyPassword"
1311
+ msgstr "Contraseña del Proxy"
1312
+
1313
+ msgid "APICommunication"
1314
+ msgstr "Conexión con la API"
1315
+
1316
+ msgid "APICommunicationInfo"
1317
+ msgstr "Una vez la llave para la API haya sido generada, el plugin establecerá una comunicación con un servicio remoto que actuará como una caja fuerte para almacenar los registros de seguridad generados cuando algo sospechoso sucede en su sitio web. Si el sitio es comprometido, el hacker no podrá eliminar los registros de seguridad para encubrir sus huellas, de esta forma usted podrá investigar el ataque y prevenir futuros problemas."
1318
+
1319
+ msgid "APICommunicationDisabled"
1320
+ msgstr "Desactivar la comunicación entre el plugin y la API detendrá el monitor de eventos de seguridad. Considere activar el exportador de registros desde la página general de ajustes para mantener el monitor de eventos funcionando sin enviar datos a la API, de lo contrario, un usuario malicioso podrá ejecutar acciones sin que un administrador se de cuenta de lo que está sucediendo."
1321
+
1322
+ msgid "APITimeout"
1323
+ msgstr "Tiempo de Espera para la API"
1324
+
1325
+ msgid "APITimeoutLabel"
1326
+ msgstr "Tiempo de Espera (en segundos)"
1327
+
1328
+ msgid "APITimeoutValue"
1329
+ msgstr "Esperar <b>%%SUCURI.RequestTimeout%%</b> antes de terminar la conexión"
1330
+
1331
+ msgid "APITimeoutInfo"
1332
+ msgstr "El plugin envía a la API información asociada a los eventos generados por WordPress que sean considerados sospechosos. El envío de estos datos sea hace a través de HTTP usando uno de los protocolos de comunicación disponibles en el sistema y <a target=\"_blank\" href=\"https://developer.wordpress.org/reference/functions/wp_remote_post/\" rel=\"noopener\">funciones nativas de WordPress</a>. Si la conexión o el servicio remoto excede la cantidad de segundos configurados en esta opción, la operación es cancelada. Si usted experimenta problemas de conexión por favor comuníquese con su proveedor de hosting para investigar los bloqueos."
1333
+
1334
+ msgid "HTAccessTitle"
1335
+ msgstr "Integridad del Archivo .htaccess"
1336
+
1337
+ msgid "HTAccessInfo"
1338
+ msgstr "El archivo <code>.htaccess</code> es un archivo de configuración usado por el servidor web Apache para aplicar cambios generales por directorio. WordPress utiliza este archivo para manipular las direcciones de las páginas creadas por los usuarios; más notable, WordPress utiliza este archivo para generar URL amigables."
1339
+
1340
+ msgid "HTAccessFound"
1341
+ msgstr "Archivo encontrado en esta ubicación <code>%%SUCURI.HTAccess.Fpath%%</code>"
1342
+
1343
+ msgid "HTAccessNotFound"
1344
+ msgstr "El sitio web no tiene un archivo <code>.htaccess</code> o no se encuentra en la ubicación esperada."
1345
+
1346
+ msgid "HTAccessStandard"
1347
+ msgstr "El archivo <code>.htaccess</code> principal contiene las reglas estándares de WordPress generadas durante la instalación del sitio web. Usted puede modificar estas reglas para aumentar el rendimiento del servidor o para generar redirecciones a otras páginas. Para obtener más información al respecto visite la página oficial con la documentación en <a target=\"_blank\" rel=\"noopener\" href=\"https://codex.wordpress.org/Using_Permalinks#Creating_and_editing_.28.htaccess.29\"> Codex WordPress - Creating and editing (.htaccess)</a>"
1348
+
1349
+ msgid "ScannerTitle"
1350
+ msgstr "Ajustes para el Escáner"
1351
+
1352
+ msgid "ScannerFrequency"
1353
+ msgstr "Frecuencia de Ejecución"
1354
+
1355
+ msgid "ScannerDescription"
1356
+ msgstr "El plugin escanea su sitio web en busca de cambios que son eventualmente reportados a la API y visualizados a través de los registros de seguridad. Este escáner es ejecutado automáticamente cada doce horas pero usted puede cambiar la frecuencia dependiendo de sus necesidades. Tenga en cuenta que si su sitio contiene una gran cantidad de archivos es posible que el escáner sea bloqueado por su proveedor de hosting si este excede el límite de ejecución que ellos hayan impuesto sobre su cuenta."
1357
+
1358
+ msgid "ScannerWithoutSPL"
1359
+ msgstr "El escáner hace uso de las librerías <a href=\"http://php.net/manual/en/class.splfileobject.php\" target=\"_blank\" rel=\"noopener\">SPL</a> y <a target=\"_blank\" href=\"http://php.net/manual/en/class.filesystemiterator.php\" rel=\"noopener\">Filesystem Iterator</a> de PHP para escanear el árbol de directorios de su sitio web. Esta librería solo está disponible en PHP 5 >= 5.3.0 &mdash; y &mdash; PHP 7; si su servidor hace uso de una versión antigua el plugin no funcionará como se espera. Por favor, contacte a su proveedor de hosting para obtener ayuda al respecto."
1360
+
1361
+ msgid "IntegrityLanguageTitle"
1362
+ msgstr "Integridad de WordPress (Idioma)"
1363
+
1364
+ msgid "IntegrityInfo"
1365
+ msgstr "La información necesaria para verificar la integridad de su instalación de WordPress proviene de la <a href=\"http://codex.wordpress.org/WordPress.org_API\" target=\"_blank\" rel=\"noopener\">API Oficial de WordPress</a>. El plugin compara esta información con los archivos instalados en su sitio web. Por defecto, la API provee una copia de los archivos en Inglés, si usted ha instalado un idioma diferente por favor selecciónelo en esta opción para reducir la cantidad de falsos/positivos que el escáner pueda encontrar."
1366
+
1367
+ msgid "IntegrityNote"
1368
+ msgstr "<b>Nota:</b> No todos los idiomas están soportados por la API de WordPress. Es posible que tenga que usar la versión en Inglés para reducir la cantidad de falsos/positivos arrojados por el escáner durante su ejecución. Como alternativa, puede seleccionar dichos archivos y marcarlos como revisados paraque el escáner los ignore."
1369
+
1370
+ msgid "Reason"
1371
+ msgstr "Motivo"
1372
+
1373
+ msgid "FalsePositives"
1374
+ msgstr "Integridad de WordPress (Falsos/Positivos)"
1375
+
1376
+ msgid "FalsePositivesUnignore"
1377
+ msgstr "No Ignorar Estos Archivos"
1378
+
1379
+ msgid "FalsePositivesInfo"
1380
+ msgstr "El escáner de archivos no lee el contenido de estos sino que compara el Checksum para saber si han sido modificados. Un falso/positivo ocurre cuando la modificación no hace parte de una inyección de código malicioso, estas modificaciones pueden ser consideradas inofencivas. Los archivos en esta lista han sido marcados como falsos/positivos y serán ignorados durante los próximos escaneos del sistema."
1381
+
1382
+ msgid "IgnoreFiles"
1383
+ msgstr "Ignorar Archivos Durante Los Escaneos"
1384
+
1385
+ msgid "IgnoreFilesSingle"
1386
+ msgstr "Ignorar Un Solo Archivo"
1387
+
1388
+ msgid "IgnoreFilesInfo"
1389
+ msgstr "Utilice esta herramienta para seleccionar directorios que contienen muchos archivos o archivos que son muy pesados para ser procesados por el escáner de seguridad. Esto usualmente incluye directorios con imágenes, archivos multimedia y en general cualquier archivo que no tenga código. Ignorar estos archivos mejorará el rendimiento del plugin y mantendrá el consumo de memoria a niveles mínimos."
1390
+
1391
+ msgid "SecretKeys"
1392
+ msgstr "Llaves de Seguridad"
1393
+
1394
+ msgid "SecretKeysUpdated"
1395
+ msgstr "Las llaves de seguridad han sido cambiadas (abajo puede encontrar un resumen de la operación)."
1396
+
1397
+ msgid "SecretKeysGenerate"
1398
+ msgstr "Generar Nuevas Llaves de Seguridad"
1399
+
1400
+ msgid "SecretKeysExpiration"
1401
+ msgstr "Su sesión de usuario expirará inmediatamente cuando las nuevas llaves de seguridad sean generadas."
1402
+
1403
+ msgid "SecretKeysInfo"
1404
+ msgstr "Last llaves secretas o de seguridad son una lista de constantes aleatorias agregadas a su sitio web para mejorar el proceso de encriptación de las cookies para cada usuario. Las llaves hacen que su sitio sea más difícil de vulnerar al agregar elementos aleatorios en las contraseñas. Usted no necesita memorizar estas llaves, ellas serán guardadas en el archivo de configuración de WordPress. Usted puede cambiarlas en cualquier momento para invalidar sesiones de usuario existentes, forzando a todos los usuarios a autenticar sus cuentas nuevamente."
1405
+
1406
+ msgid "PluginReinstall"
1407
+ msgstr "Re-Instalar Plugins"
1408
+
1409
+ msgid "PluginReinstallInfo"
1410
+ msgstr "En el caso de que usted sospeche que su sitio web está infectado con código maliciosos o incluso después de limpiar su sitio, es una buena idea reinstalar todos los plugins y plantillas incluso aquellos que no están activados para asegurar que el código es el original. Tenga en cuenta que plugins y plantillas premium no puede ser reinstaladas por motivos de compatibilidad con sus licensias."
1411
+
1412
+ msgid "PluginReinstallCache"
1413
+ msgstr "La información mostrada aquí es guardada en cache por %%SUCURI.ResetPlugin.CacheLifeTime%% segundos, esto es necesario para reducir el número de conexiones HTTP y subsecuentemente el consumo de ancho de banda de su servidor. Actualmente no existe una opción para limpiar esta cache, usted debe esperar a que el plugin la regenere automáticamente."
1414
+
1415
+ msgid "PluginReinstallWarning"
1416
+ msgstr "<b>ADVERTENCIA!</b> La reinstalación de uno o más plugin puede ocacionar daños irreversibles a su sitio web, proceda con cuidado y asegúrese de mantener una copia de seguridad actualizada del sitio a la mano. Esta herramienta no tendrá ningún efecto sobre la base de datos."
1417
+
1418
+ msgid "Roles"
1419
+ msgstr "Privilegios"
1420
+
1421
+ msgid "Registered"
1422
+ msgstr "Registrado"
1423
+
1424
+ msgid "PasswordChange"
1425
+ msgstr "Cambiar la Contraseña de Usuario"
1426
+
1427
+ msgid "PasswordChangeInfo"
1428
+ msgstr "Usted puede generar una nueva contraseña aleatoria para las cuentas de usuario que seleccione de la lista. Un correo será enviado a cada usuario. Si usted decide cambiar su propia contraseña, su sesión de usuario expirará inmediatamente. Necesitará autenticar su cuenta nuevamente con la nueva contraseña que recibirá en su correo electrónico."
1429
+
1430
+ msgid "PasswordChangeAlert"
1431
+ msgstr "WordPress ha generado una nueva contraseña de forma aleatoria para su cuenta de usuario <b>%%SUCURI.ResetPassword.UserName%%</b> en este sitio web <a target=\"_blank\" href=\"http://%%SUCURI.ResetPassword.Website%%\">%%SUCURI.ResetPassword.Website%%</a>. El cambio ha sido solicitado por uno de los administradores del sitio por motivos de seguridad. Su nueva contraseña es &mdash; <span style=\"font-family:Menlo, Monaco, monospace, serif;font-weight:700\">%%%SUCURI.ResetPassword.Password%%%</span> &mdash; por favor cámbiela lo antes posible."
1432
+
1433
+ msgid "Update"
1434
+ msgstr "Actualización"
1435
+
1436
+ msgid "TestedWith"
1437
+ msgstr "Probado Con"
1438
+
1439
+ msgid "AvailableUpdates"
1440
+ msgstr "Actualizaciones Disponibles"
1441
+
1442
+ msgid "AvailableUpdatesInfo"
1443
+ msgstr "WordPress tiene una acogida muy grande en Internet, esto atrae la atención de personas maliciosas para encontrar vulnerabilidades en el código al igual que en el código de plugins y plantillas que otras empreas desarrollan. Es recomendable mantener plugins y plantillas actualizadas para prevenir ataques tan pronto como vulnerabilidades sean descubiertas."
1444
+
1445
+ msgid "WhitelistScript"
1446
+ msgstr "Desbloquear Archivos PHP"
1447
+
1448
+ msgid "WhitelistScriptInfo"
1449
+ msgstr "Después de aplicar el hardening en los directorios soportados por el plugin, un archivo .htaccess será creado con reglas para bloquear el acceso directo a todos los archivos PHP contenidos en dichos directorios, esta es una buena precaución para evitar la ejecución de código malicioso; con algunas excepciones el archivo <em>\"index.php\"</em> es el único que debería tener acceso público, sin embargo muchos plugins y plantillas requieren de este acceso también, utilice esta herramienta para desbloquearlos."
1450
+
1451
+ msgid "Uninstall"
1452
+ msgstr "Eliminar Registros de Seguridad, Hardening y Configuraciones"
1453
+
1454
+ msgid "UninstallInfo"
1455
+ msgstr "Esta acción iniciará el proceso de desactivación / desinstalación del plugin. Todos los registro de seguridad guardados en el disco local, las reglas de hardening y las configuraciones serán eliminadas. Tenga en cuenta que los registros de seguridad guardados en el servidor de Sucuri no serán eliminados, esto es para prevenir que usuarios maliciosos intenten borrar sus huellas después de ejecutar un ataque en contra del sitio web."
1456
+
1457
+ msgid "ImportExport"
1458
+ msgstr "Importar Y Exportar Ajustes"
1459
+
1460
+ msgid "ImportExportInfo"
1461
+ msgstr "Copie la información codificada en JSON que aparece en la caja de abajo, pague esta información en la misma caja en el sitio web donde desea importar esta configuración. Tenga en cuenta que algunas opciones serán omitidas ya que estas contienen información irrelevante para otros sitios. Para importar la configuración de otro sitio web a este, reemplace el contenido de la caja con los datos codificados en JSON de otro sitio, luego presione el boton para continuar. Tenga en cuenta que algunas opciones no serán importadas para reducir el riesgo de insertar datos arbitrarios en el disco."
1462
+
1463
+ msgid "DataStorage"
1464
+ msgstr "Almacenamiento de Datos"
1465
+
1466
+ msgid "DataStorageInfo"
1467
+ msgstr "Este es el directorio donde el plugin guardará los registros de seguridad, el archivo con las configuraciones, la cache y datos adicionales de otras herramientas. El plugin require de permisos de escritura en este directorio así como en los archivos contenidos allí. Si usted prefiere mantener estos archivos en un directorio diferente al especificado, por favor defina una constante llamada <em>\"SUCURI_DATA_STORAGE\"</em> en el archivo de configuración de WordPress con la ruta absoluta del nuevo directorio."
1468
+
1469
+ msgid "CommentMonitor"
1470
+ msgstr "Monitor de Comentarios"
1471
+
1472
+ msgid "CommentMonitorStatus"
1473
+ msgstr "El estado del monitor de comentarios ha sido cambiado"
1474
+
1475
+ msgid "CommentMonitorInfo"
1476
+ msgstr "Los comentarios de usuario son el origen principal de spam en sitios que usan WordPress, esta opción activa el monitoreo de los datos enviados a través de formularios de comentario disponibles en cada página. Nosotros también usamos esta información de forma anónima para generar <a target=\"_blank\" href=\"https://sucuri.net/security-reports/brute-force/\">estadísticas</a> de uso para ayudarnos a mejorar el servicio."
1477
+
1478
+ msgid "LogsReport"
1479
+ msgstr "Estadísticas De Seguridad"
1480
+
1481
+ msgid "LogsReportLimit"
1482
+ msgstr "El número máximo de registros que serán usados para la generación de gráficas con estadísticas de seguridad ha sido cambiado"
1483
+
1484
+ msgid "LogsReportInfo"
1485
+ msgstr "Los datos usados para generar estas estadísticas son los últimos <b>%%SUCURI.AuditReport.Logs4Report%% eventos</b> en el registro de seguridad, usted puede configurar este número desde la página de ajustes."
1486
+
1487
+ msgid "LogsReportDescription"
1488
+ msgstr "Activar esta opción le permite visualizar estadísticas de los eventos ejecutados en su sitio web incluyendo la actividad de los usuarios y posibles ataques dirigidos a su sitio web. Por defecto, el plugin utiliza los últimos registros de seguridad para generar las gráficas, el número de registros seleccionados es limitado para reducir el consumo de memoria por parte del analizador de datos. Usted puede incrementar este número bajo su propio riesgo considerando la cantidad de recursos disponibles en su servidor y el tiempo de ejecución máxima de archivos PHP configurado por su proveedor de hosting."
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: dd@sucuri.net
3
  Donate Link: https://sucuri.net/
4
  Tags: malware, security, firewall, scan, spam, virus, sucuri, protection, WordPress Security, Login Security, Security Auditing, File Integrity, htaccess, phishing, backdoors, SQL Injection, RFI, LFI, XSS, CSRF, website firewall, Website Security, Performance Optimization, Zero Day, Software Vulnerability, Exploits, Hacks, Attackers, Bad Actors, Reverse Proxy, Two Factor Security, Two Factor Authentication, Security Logs, HeatBleed Vulnerability, Website Protection, Bash Vulnerability, RevSlider Vulnerability, MailPoet Vulnerability, Malware Prevention, Website Security, Website Firewall, Website AntiVirus, Security Response, Security Detection, Security Prevention
5
  Requires at least: 3.6
6
- Stable tag: 1.8.4
7
  Tested up to: 4.8.0
8
 
9
  The Sucuri WordPress Security plugin is a security toolset for security integrity monitoring, malware detection and security hardening.
@@ -216,11 +216,16 @@ No, it is not required. The Website Firewall runs in the cloud without the need
216
 
217
  == Upgrade Notice ==
218
 
219
- = 1.8.4 =
220
  This version adds support for the latest version of WordPress. Introduces new features and fixes some bugs reported by the WordPress community as well as bugs found by our automated testing system.
221
 
222
  == Changelog ==
223
 
 
 
 
 
 
224
  = 1.8.4 =
225
  * Modify the entire interface to offer a fresh desigh
226
  * Add support for internationalization via gettext
3
  Donate Link: https://sucuri.net/
4
  Tags: malware, security, firewall, scan, spam, virus, sucuri, protection, WordPress Security, Login Security, Security Auditing, File Integrity, htaccess, phishing, backdoors, SQL Injection, RFI, LFI, XSS, CSRF, website firewall, Website Security, Performance Optimization, Zero Day, Software Vulnerability, Exploits, Hacks, Attackers, Bad Actors, Reverse Proxy, Two Factor Security, Two Factor Authentication, Security Logs, HeatBleed Vulnerability, Website Protection, Bash Vulnerability, RevSlider Vulnerability, MailPoet Vulnerability, Malware Prevention, Website Security, Website Firewall, Website AntiVirus, Security Response, Security Detection, Security Prevention
5
  Requires at least: 3.6
6
+ Stable tag: 1.8.5
7
  Tested up to: 4.8.0
8
 
9
  The Sucuri WordPress Security plugin is a security toolset for security integrity monitoring, malware detection and security hardening.
216
 
217
  == Upgrade Notice ==
218
 
219
+ = 1.8.5 =
220
  This version adds support for the latest version of WordPress. Introduces new features and fixes some bugs reported by the WordPress community as well as bugs found by our automated testing system.
221
 
222
  == Changelog ==
223
 
224
+ = 1.8.5 =
225
+ * Fix minor bugs after post-testing of the new release
226
+ * Add full support for internationalization with en_US locale
227
+ * Add full support for internationalization with es_ES locale
228
+
229
  = 1.8.4 =
230
  * Modify the entire interface to offer a fresh desigh
231
  * Add support for internationalization via gettext
src/settings-general.php CHANGED
@@ -65,7 +65,7 @@ function sucuriscan_settings_general_apikey($nonce)
65
  $fpath = SucuriScanOption::optionsFilePath();
66
 
67
  if (!is_writable($fpath)) {
68
- SucuriScanInterface::error(spritnf(
69
  __('StorageNotWritable', SUCURISCAN_TEXTDOMAIN),
70
  $fpath /* absolute path of the data storage folder */
71
  ));
@@ -632,7 +632,7 @@ function sucuriscan_settings_general_auditlogstats($nonce)
632
  SucuriScanOption::updateOption(':logs4report', $logs4report);
633
  SucuriScanEvent::reportInfoEvent($message);
634
  SucuriScanEvent::notifyEvent('plugin_change', $message);
635
- SucuriScanInterface::info(__('AuditLogReportLimit', SUCURISCAN_TEXTDOMAIN));
636
  }
637
  }
638
 
65
  $fpath = SucuriScanOption::optionsFilePath();
66
 
67
  if (!is_writable($fpath)) {
68
+ SucuriScanInterface::error(sprintf(
69
  __('StorageNotWritable', SUCURISCAN_TEXTDOMAIN),
70
  $fpath /* absolute path of the data storage folder */
71
  ));
632
  SucuriScanOption::updateOption(':logs4report', $logs4report);
633
  SucuriScanEvent::reportInfoEvent($message);
634
  SucuriScanEvent::notifyEvent('plugin_change', $message);
635
+ SucuriScanInterface::info(__('LogsReportLimit', SUCURISCAN_TEXTDOMAIN));
636
  }
637
  }
638
 
src/settings-hardening.php CHANGED
@@ -342,10 +342,14 @@ class SucuriScanHardeningPage extends SucuriScan
342
  $result = SucuriScanHardening::hardenDirectory($folder);
343
 
344
  if ($result === true) {
345
- SucuriScanHardening::whitelist('wp-tinymce.php', 'wp-includes');
346
- SucuriScanHardening::whitelist('ms-files.php', 'wp-includes');
347
- SucuriScanEvent::reportNoticeEvent('Hardening applied to the library directory');
348
- SucuriScanInterface::info(__('HardeningIncludesApplySuccess', SUCURISCAN_TEXTDOMAIN));
 
 
 
 
349
  } else {
350
  SucuriScanInterface::error(__('HardeningIncludesApplyFailure', SUCURISCAN_TEXTDOMAIN));
351
  }
342
  $result = SucuriScanHardening::hardenDirectory($folder);
343
 
344
  if ($result === true) {
345
+ try {
346
+ SucuriScanHardening::whitelist('wp-tinymce.php', 'wp-includes');
347
+ SucuriScanHardening::whitelist('ms-files.php', 'wp-includes');
348
+ SucuriScanEvent::reportNoticeEvent('Hardening applied to the library directory');
349
+ SucuriScanInterface::info(__('HardeningIncludesApplySuccess', SUCURISCAN_TEXTDOMAIN));
350
+ } catch (Exception $e) {
351
+ SucuriScanInterface::error($e->getMessage());
352
+ }
353
  } else {
354
  SucuriScanInterface::error(__('HardeningIncludesApplyFailure', SUCURISCAN_TEXTDOMAIN));
355
  }
sucuri.php CHANGED
@@ -7,7 +7,7 @@
7
  * Author URI: https://sucuri.net/
8
  * Text Domain: sucuri-scanner
9
  * Author: Sucuri Inc.
10
- * Version: 1.8.4
11
  */
12
 
13
 
@@ -83,7 +83,7 @@ define('SUCURISCAN', 'sucuriscan');
83
  /**
84
  * Current version of the plugin's code.
85
  */
86
- define('SUCURISCAN_VERSION', '1.8.4');
87
 
88
  /**
89
  * The name of the Sucuri plugin main file.
7
  * Author URI: https://sucuri.net/
8
  * Text Domain: sucuri-scanner
9
  * Author: Sucuri Inc.
10
+ * Version: 1.8.5
11
  */
12
 
13
 
83
  /**
84
  * Current version of the plugin's code.
85
  */
86
+ define('SUCURISCAN_VERSION', '1.8.5');
87
 
88
  /**
89
  * The name of the Sucuri plugin main file.