Version Description
- New: File system analytics. It's generated based on the results of the last full integrity scan.
- New: Logging user deletions. The users display name and roles are temporarily stored until all log entries related to the user are deleted.
- New: Faster export with a new date format for CSV log export.
- New: Ability to disable adding the website administrator's IP address to the White IP Access List upon WP Cerber activation.
- Improved: Handling the creation of new users by WooCommerce and membership plugins.
- Improved: Handling user registrations with prohibited emails.
- Improved: Handling secure Cerbers cookies on websites with SSL encryption enabled.
- Improved: The performance of the integrity checker and malware scanner on huge websites with a large number of files.
- Fixed: Loading the default plugin settings has no effect. Now its fixed and moved from the admin sidebar to the Tools admin page.
- Read more
Download this release
Release Info
Developer | Gioni |
Plugin | Cerber Security & Antispam |
Version | 8.6.5 |
Comparing to | |
See all releases |
Code changes from version 8.6.3 to 8.6.5
- admin/cerber-admin.php +1378 -0
- admin/cerber-settings.php +8 -2
- assets/admin.css +121 -59
- assets/admin.js +0 -1
- assets/fonts/roboto/Roboto-Mono_400.woff2 +0 -0
- assets/fonts/roboto/Roboto-Mono_500.woff2 +0 -0
- assets/scanner.js +2 -2
- assets/ui-stack.css +42 -0
- assets/ui-stack.js +121 -0
- cerber-2fa.php +1 -1
- cerber-ds.php +6 -6
- cerber-lab.php +40 -28
- cerber-load.php +212 -104
- cerber-news.php +8 -1
- cerber-scanner.php +183 -1026
- cerber-tools.php +100 -105
- cerber-users.php +45 -37
- changelog.txt +13 -1
- common.php +173 -163
- dashboard.php +130 -77
- jetflow.php +86 -57
- languages/wp-cerber-ru_RU.mo +0 -0
- languages/wp-cerber-ru_RU.po +845 -760
- languages/wp-cerber-vi.mo +0 -0
- languages/wp-cerber-vi.po +3709 -0
- languages/wp-cerber.pot +1064 -949
- nexus/cerber-nexus-master.php +14 -18
- nexus/cerber-slave-list.php +1 -1
- readme.txt +15 -2
- settings.php +63 -25
- wp-cerber.php +4 -3
admin/cerber-admin.php
ADDED
@@ -0,0 +1,1378 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
Copyright (C) 2015-20 CERBER TECH INC., https://cerber.tech
|
4 |
+
Copyright (C) 2015-20 CERBER TECH INC., https://wpcerber.com
|
5 |
+
|
6 |
+
Licenced under the GNU GPL.
|
7 |
+
|
8 |
+
This program is free software; you can redistribute it and/or modify
|
9 |
+
it under the terms of the GNU General Public License as published by
|
10 |
+
the Free Software Foundation; either version 3 of the License, or
|
11 |
+
(at your option) any later version.
|
12 |
+
|
13 |
+
This program is distributed in the hope that it will be useful,
|
14 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16 |
+
GNU General Public License for more details.
|
17 |
+
|
18 |
+
You should have received a copy of the GNU General Public License
|
19 |
+
along with this program; if not, write to the Free Software
|
20 |
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21 |
+
|
22 |
+
*/
|
23 |
+
|
24 |
+
/*
|
25 |
+
|
26 |
+
*========================================================================*
|
27 |
+
| |
|
28 |
+
| ATTENTION! Do not change or edit this file! |
|
29 |
+
| |
|
30 |
+
*========================================================================*
|
31 |
+
|
32 |
+
*/
|
33 |
+
|
34 |
+
// Scan dashboard ===========================================================
|
35 |
+
|
36 |
+
function cerber_scanner_dashboard( $msg = '' ) {
|
37 |
+
?>
|
38 |
+
<div id="crb-scan-display">
|
39 |
+
<div id="crb-the-table">
|
40 |
+
<div class="crb-scan-info scan-tile">
|
41 |
+
<table>
|
42 |
+
<tr>
|
43 |
+
<td><?php _e( 'Started', 'wp-cerber' ); ?></td>
|
44 |
+
<td id="crb-started" data-init="-">-</td>
|
45 |
+
</tr>
|
46 |
+
<tr>
|
47 |
+
<td><?php _e( 'Finished', 'wp-cerber' ); ?></td>
|
48 |
+
<td id="crb-finished" data-init="-">-</td>
|
49 |
+
</tr>
|
50 |
+
<tr>
|
51 |
+
<td><?php _e( 'Duration', 'wp-cerber' ); ?></td>
|
52 |
+
<td id="crb-duration" data-init="-">-</td>
|
53 |
+
</tr>
|
54 |
+
<tr>
|
55 |
+
<td><?php _e( 'Performance', 'wp-cerber' ); ?></td>
|
56 |
+
<td id="crb-performance" data-init="-">-</td>
|
57 |
+
</tr>
|
58 |
+
<tr>
|
59 |
+
<td>Mode</td>
|
60 |
+
<td id="crb-smode" data-init="-">-</td>
|
61 |
+
</tr>
|
62 |
+
</table>
|
63 |
+
</div>
|
64 |
+
<div id="crb-scan-filter" class="crb-scan-info scan-tile">
|
65 |
+
<table>
|
66 |
+
<!--<tr id="crb-numbers-4">
|
67 |
+
<td><span><?php _e( 'Vulnerabilities', 'wp-cerber' ); ?></span></td>
|
68 |
+
<td class="crb-scan-number" data-init="-">-</td>
|
69 |
+
</tr> -->
|
70 |
+
<tr id="crb-numbers-51">
|
71 |
+
<td><span data-itype-list="[51]"><?php _e( 'New files', 'wp-cerber' ); ?></span></td>
|
72 |
+
<td class="crb-scan-number" data-init="-">-</td>
|
73 |
+
</tr>
|
74 |
+
<tr id="crb-numbers-50">
|
75 |
+
<td><span data-itype-list="[50]"><?php _e( 'Changed files', 'wp-cerber' ); ?></span></td>
|
76 |
+
<td class="crb-scan-number" data-init="-">-</td>
|
77 |
+
</tr>
|
78 |
+
<tr id="crb-numbers-15">
|
79 |
+
<td><span data-itype-list="[15]"><?php _e( 'Checksum mismatch', 'wp-cerber' ); ?></span></td>
|
80 |
+
<td class="crb-scan-number" data-init="-">-</td>
|
81 |
+
</tr>
|
82 |
+
<tr id="crb-numbers-30">
|
83 |
+
<td><span data-itype-list="[30]"><?php _e( 'Unwanted extensions', 'wp-cerber' ); ?></span></td>
|
84 |
+
<td class="crb-scan-number" data-init="-">-</td>
|
85 |
+
</tr>
|
86 |
+
<tr id="crb-numbers-18">
|
87 |
+
<td><span data-itype-list="[18]" data-setype-list="[21]"><?php _e( 'Unattended files', 'wp-cerber' ); ?></span></td>
|
88 |
+
<td class="crb-scan-number" data-init="-">-</td>
|
89 |
+
</tr>
|
90 |
+
</table>
|
91 |
+
</div>
|
92 |
+
<div class="scan-tile">
|
93 |
+
<div><p><span id="crb-scanned-files" data-init="0">0</span> / <span id="crb-total-files"
|
94 |
+
data-init="0">0</span>
|
95 |
+
</p>
|
96 |
+
<p><?php echo __( 'Scanned', 'wp-cerber' ) . ' / ' . __( 'Files to scan', 'wp-cerber' ); ?></p>
|
97 |
+
</div>
|
98 |
+
</div>
|
99 |
+
|
100 |
+
<div class="scan-tile">
|
101 |
+
<div><p><span id="crb-critical" data-init="0">0</span> / <span id="crb-warning" data-init="0">0</span>
|
102 |
+
</p>
|
103 |
+
<p><?php _e( 'Critical issues', 'wp-cerber' ); ?> / <?php _e( 'Issues total', 'wp-cerber' ); ?></p>
|
104 |
+
</div>
|
105 |
+
</div>
|
106 |
+
|
107 |
+
</div>
|
108 |
+
|
109 |
+
<div id="crb-scan-progress">
|
110 |
+
<div>
|
111 |
+
<div id="the-scan-bar"></div>
|
112 |
+
</div>
|
113 |
+
</div>
|
114 |
+
|
115 |
+
<p id="crb-scan-message"><?php echo $msg; ?></p>
|
116 |
+
|
117 |
+
</div>
|
118 |
+
<div id="crb-scan-details">
|
119 |
+
<table class="crb-table" id="crb-browse-files">
|
120 |
+
<?php
|
121 |
+
$rows = array();
|
122 |
+
$rows[] = '<tr class="crb-scan-container" id="crb-wordpress" style=""><td colspan="6">WordPress</td></tr>';
|
123 |
+
$rows[] = '<tr class="crb-scan-container" id="crb-muplugins" style=""><td colspan="6">Must use plugins</td></tr>';
|
124 |
+
$rows[] = '<tr class="crb-scan-container" id="crb-dropins" style=""><td colspan="6">Drop-ins</td></tr>';
|
125 |
+
$rows[] = '<tr class="crb-scan-container" id="crb-plugins" style=""><td colspan="6">Plugins</td></tr>';
|
126 |
+
|
127 |
+
/*
|
128 |
+
$plugins = get_plugins();
|
129 |
+
foreach ( $plugins as $plugin ) {
|
130 |
+
$rows[] = '<tr class="crb-scan-section" id="' . sha1( $plugin['Name'] ) . '" style="display:none;"></tr>';
|
131 |
+
}
|
132 |
+
*/
|
133 |
+
$rows[] = '<tr class="crb-scan-container" id="crb-themes" style=""><td colspan="6">Themes</td></tr>';
|
134 |
+
|
135 |
+
/*$themes = wp_get_themes();
|
136 |
+
foreach ( $themes as $theme_folder => $theme ) {
|
137 |
+
$rows[] = '<tr class="crb-scan-section" id="' . sha1( $theme->get( 'Name' ) ) . '" style="display:none;"></tr>';
|
138 |
+
}*/
|
139 |
+
|
140 |
+
$rows[] = '<tr class="crb-scan-container" id="crb-uploads" style=""><td colspan="6">Uploads folder</td></tr>';
|
141 |
+
$rows[] = '<tr class="crb-scan-container" id="crb-unattended" style=""><td colspan="6">Unattended files</td></tr>';
|
142 |
+
echo implode( "\n", $rows );
|
143 |
+
?>
|
144 |
+
</table>
|
145 |
+
</div>
|
146 |
+
|
147 |
+
<?php
|
148 |
+
|
149 |
+
cerber_ref_upload_form();
|
150 |
+
}
|
151 |
+
|
152 |
+
function cerber_show_scanner() {
|
153 |
+
// http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
|
154 |
+
|
155 |
+
$msg = '';
|
156 |
+
$status = 0;
|
157 |
+
|
158 |
+
if ( $scan = cerber_get_scan() ) {
|
159 |
+
if ( ! $scan['finished'] ) {
|
160 |
+
if ( $scan['cloud']
|
161 |
+
&& cerber_is_cloud_enabled()
|
162 |
+
&& $scan['started'] > ( time() - 900 )
|
163 |
+
) {
|
164 |
+
$msg = __( 'Currently a scheduled scan in progress. Please wait until it is finished.', 'wp-cerber' );
|
165 |
+
$status = 1;
|
166 |
+
}
|
167 |
+
else {
|
168 |
+
$msg = sprintf( __( 'Previous scan started %s has not been completed. Continue scanning?', 'wp-cerber' ), cerber_date( $scan['started'], false ) );
|
169 |
+
$status = 2;
|
170 |
+
}
|
171 |
+
}
|
172 |
+
else {
|
173 |
+
|
174 |
+
}
|
175 |
+
}
|
176 |
+
else {
|
177 |
+
$msg = __( 'It seems this website has never been scanned. To start scanning click the button below.', 'wp-cerber' );
|
178 |
+
}
|
179 |
+
|
180 |
+
$start_quick = '<input data-control="start_scan" data-mode="quick" type="button" value="' . __( 'Start Quick Scan', 'wp-cerber' ) . '" class="button button-primary">';
|
181 |
+
$start_full = '<input data-control="start_scan" data-mode="full" type="button" value="' . __( 'Start Full Scan', 'wp-cerber' ) . '" class="button button-primary">';
|
182 |
+
$stop = '<input id="crb-stop-scan" style="display: none;" data-control="stop_scan" type="button" value="' . __( 'Stop Scanning', 'wp-cerber' ) . '" class="button button-primary">';
|
183 |
+
$continue = '<input id="crb-continue-scan" data-control="continue_scan" type="button" value="' . __( 'Continue Scanning', 'wp-cerber' ) . '" class="button button-primary">';
|
184 |
+
$controls = '';
|
185 |
+
|
186 |
+
switch ( $status ) {
|
187 |
+
case 0:
|
188 |
+
$controls = $start_quick . $start_full;
|
189 |
+
break;
|
190 |
+
case 1:
|
191 |
+
$controls = '';
|
192 |
+
break;
|
193 |
+
case 2:
|
194 |
+
$controls = $start_quick . $start_full . $continue;
|
195 |
+
break;
|
196 |
+
}
|
197 |
+
|
198 |
+
$controls .= $stop;
|
199 |
+
|
200 |
+
|
201 |
+
echo '<div id="crb-scanner">';
|
202 |
+
|
203 |
+
cerber_scanner_dashboard( $msg );
|
204 |
+
|
205 |
+
$d = '';
|
206 |
+
if ( nexus_is_valid_request() && ! nexus_is_granted( 'submit' ) ) {
|
207 |
+
$d = 'disabled="disabled"';
|
208 |
+
}
|
209 |
+
|
210 |
+
?>
|
211 |
+
<div id="crb-scan-area">
|
212 |
+
<form>
|
213 |
+
<table id="crb-scan-controls">
|
214 |
+
<tr>
|
215 |
+
<td id="crb-file-controls">
|
216 |
+
<input data-control="delete_file" type="button"
|
217 |
+
class="button button-secondary"
|
218 |
+
<?php echo $d; ?>
|
219 |
+
value="<?php _e( 'Delete', 'wp-cerber' ); ?>"/>
|
220 |
+
<input data-control="ignore_add_file" type="button" class="button button-secondary"
|
221 |
+
<?php echo $d; ?>
|
222 |
+
value="<?php _e( 'Ignore', 'wp-cerber' ); ?>"/>
|
223 |
+
</td>
|
224 |
+
<td>
|
225 |
+
<?php echo $controls; ?>
|
226 |
+
</td>
|
227 |
+
<!-- <td><a href="#" data-control="full-paths">Show full paths</a></td> -->
|
228 |
+
<td><a href="#" class="dashicons dashicons-list-view" data-control="full-paths"
|
229 |
+
title="Toggle full/relative paths"></a></td>
|
230 |
+
</tr>
|
231 |
+
</table>
|
232 |
+
</form>
|
233 |
+
</div>
|
234 |
+
|
235 |
+
<?php
|
236 |
+
|
237 |
+
echo '</div>';
|
238 |
+
}
|
239 |
+
|
240 |
+
function cerber_ref_upload_form() {
|
241 |
+
?>
|
242 |
+
<div id="crb-ref-upload-dialog" style="display: none;">
|
243 |
+
<p><?php _e( 'We have not found any integrity data to verify', 'wp-cerber' ); ?> <span
|
244 |
+
id="ref-section-name"></span>.</p>
|
245 |
+
<p><?php _e( "You have to upload a ZIP archive from which you've installed it. This enables the security scanner to verify the integrity of the code and detect malware.", 'wp-cerber' ); ?></p>
|
246 |
+
<p><?php echo sprintf( __( 'Maximum upload file size: %s.' ), esc_html( size_format( wp_max_upload_size() ) ) ); ?></p>
|
247 |
+
<form enctype="multipart/form-data">
|
248 |
+
<input type="file" name="refile" id="refile" required="required" accept=".zip">
|
249 |
+
<input type="submit" name="submit" value="<?php _e( 'Upload file', 'wp-cerber' ); ?>"
|
250 |
+
class="button button-primary">
|
251 |
+
<ul style="list-style: none;">
|
252 |
+
<li style="display:none;" class="crb-status-msg">Uploading the file, please wait…</li>
|
253 |
+
<li style="display:none;" class="crb-status-msg">Processing the file, please wait…</li>
|
254 |
+
</ul>
|
255 |
+
</form>
|
256 |
+
</div>
|
257 |
+
|
258 |
+
<?php
|
259 |
+
}
|
260 |
+
|
261 |
+
add_action( 'wp_ajax_cerber_scan_control', 'cerber_manual_scan' );
|
262 |
+
function cerber_manual_scan() {
|
263 |
+
|
264 |
+
cerber_check_ajax_permissions();
|
265 |
+
|
266 |
+
ob_start(); // Collecting possible junk warnings and notices cause we need clean JSON to be sent
|
267 |
+
|
268 |
+
$scanner = array();
|
269 |
+
$console_log = array();
|
270 |
+
$scan_do = '';
|
271 |
+
|
272 |
+
if ( cerber_is_http_post() && $scan_do = crb_get_post_fields( 'cerber_scan_do' ) ) {
|
273 |
+
$scan_do = preg_replace( '/[^a-z_\-\d]/i', '', $scan_do );
|
274 |
+
$mode = ( $mode = crb_get_post_fields( 'cerber_scan_mode' ) ) ? preg_replace( '/[^a-z_\-\d]/i', '', $mode ) : 'quick';
|
275 |
+
|
276 |
+
$scanner = cerber_scanner( $scan_do, $mode );
|
277 |
+
|
278 |
+
}
|
279 |
+
else {
|
280 |
+
$console_log[] = 'Unknown HTTP request';
|
281 |
+
}
|
282 |
+
|
283 |
+
$next_do = ( ! empty( $scanner['cerber_scan_do'] ) ) ? $scanner['cerber_scan_do'] : 'stop';
|
284 |
+
|
285 |
+
$console_log = array_merge( $console_log, cerber_db_get_errors() );
|
286 |
+
|
287 |
+
$console_log[] = 'PHP MEMORY ' . @ini_get( 'memory_limit' );
|
288 |
+
|
289 |
+
$ret = array(
|
290 |
+
'console_log' => $console_log,
|
291 |
+
'cerber_scan_do' => $next_do,
|
292 |
+
'cerber_scanner' => $scanner,
|
293 |
+
//'scan' => cerber_get_scan(), // debug only
|
294 |
+
);
|
295 |
+
|
296 |
+
if ( $scan_do != 'continue_scan' ) {
|
297 |
+
$ret['strings'] = cerber_get_strings();
|
298 |
+
}
|
299 |
+
|
300 |
+
ob_end_clean();
|
301 |
+
|
302 |
+
echo json_encode( $ret );
|
303 |
+
|
304 |
+
crb_admin_stop_ajax();
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* File viewer, server side AJAX
|
309 |
+
*
|
310 |
+
*/
|
311 |
+
add_action( 'wp_ajax_cerber_view_file', function () {
|
312 |
+
global $crb_assets_url;
|
313 |
+
|
314 |
+
cerber_check_ajax_permissions();
|
315 |
+
|
316 |
+
$get = crb_get_query_params();
|
317 |
+
$file_name = $get['file'];
|
318 |
+
|
319 |
+
if ( ! @is_file( $file_name ) ) {
|
320 |
+
crb_admin_stop_ajax( 'I/O Error' );
|
321 |
+
|
322 |
+
return;
|
323 |
+
}
|
324 |
+
|
325 |
+
$file_size = filesize( $file_name );
|
326 |
+
|
327 |
+
if ( $file_size > 8000000 ) {
|
328 |
+
crb_admin_stop_ajax( 'Error: This file is too large to display.' );
|
329 |
+
|
330 |
+
return;
|
331 |
+
}
|
332 |
+
|
333 |
+
if ( $file_size <= 0 ) {
|
334 |
+
crb_admin_stop_ajax( 'The file is empty.' );
|
335 |
+
|
336 |
+
return;
|
337 |
+
}
|
338 |
+
|
339 |
+
$scan_id = absint( $get['scan_id'] );
|
340 |
+
|
341 |
+
$the_file = cerber_db_get_row( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan_id . ' AND file_name = "' . $file_name . '"' );
|
342 |
+
|
343 |
+
if ( ! $the_file ) {
|
344 |
+
crb_admin_stop_ajax( __( 'File access error. Possibly scan results are outdated. Please run Quick or Full Scan.', 'wp-cerber' ) );
|
345 |
+
|
346 |
+
return;
|
347 |
+
}
|
348 |
+
|
349 |
+
if ( ! $source = file_get_contents( $file_name ) ) {
|
350 |
+
crb_admin_stop_ajax( 'Error: Unable to load file.' );
|
351 |
+
|
352 |
+
return;
|
353 |
+
}
|
354 |
+
|
355 |
+
$source = htmlspecialchars( $source, ENT_SUBSTITUTE );
|
356 |
+
|
357 |
+
if ( ! $source ) {
|
358 |
+
$source = 'Unable to display the contents of the file. This file contains non-printable characters.';
|
359 |
+
}
|
360 |
+
|
361 |
+
if ( cerber_detect_exec_extension( $file_name )
|
362 |
+
|| cerber_check_extension( $file_name, array( 'js', 'css', 'inc' ) )
|
363 |
+
|| cerber_is_htaccess( $file_name )
|
364 |
+
) {
|
365 |
+
$paint = true;
|
366 |
+
}
|
367 |
+
else {
|
368 |
+
$paint = false;
|
369 |
+
}
|
370 |
+
|
371 |
+
$overlay = '';
|
372 |
+
if ( $paint ) {
|
373 |
+
$overlay = '<div id="crb-overlay">Loading, please wait...</div>';
|
374 |
+
}
|
375 |
+
|
376 |
+
//$sh_url = plugin_dir_url( __FILE__ ) . 'assets/sh/';
|
377 |
+
$sh_url = $crb_assets_url . 'sh/';
|
378 |
+
$sheight = absint( $get['sheight'] ) - 100; // highlighter is un-responsible, so we need tell him the real height
|
379 |
+
|
380 |
+
?>
|
381 |
+
<!DOCTYPE html>
|
382 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
383 |
+
<head>
|
384 |
+
<script type="text/javascript" src="<?php echo $sh_url ?>scripts/shCore.js"></script>
|
385 |
+
<script type="text/javascript" src="<?php echo $sh_url; ?>scripts/shBrushPhp.js"></script>
|
386 |
+
<link href="<?php echo $sh_url; ?>styles/shCore.css" rel="stylesheet" type="text/css"/>
|
387 |
+
<link href="<?php echo $sh_url; ?>styles/shThemeDefault.css" rel="stylesheet" type="text/css"/>
|
388 |
+
<style type="text/css" media="all">
|
389 |
+
body {
|
390 |
+
overflow: hidden;
|
391 |
+
font-family: 'Roboto', sans-serif;
|
392 |
+
font-size: 14px;
|
393 |
+
}
|
394 |
+
|
395 |
+
#crb-overlay {
|
396 |
+
display: flex;
|
397 |
+
justify-content: center;
|
398 |
+
align-items: center;
|
399 |
+
text-align: center;
|
400 |
+
background-color: #fff;
|
401 |
+
position: fixed;
|
402 |
+
width: 100%;
|
403 |
+
height: 100%
|
404 |
+
z-index: 2;
|
405 |
+
top: 0;
|
406 |
+
left: 0;
|
407 |
+
right: 0;
|
408 |
+
bottom: 0;
|
409 |
+
}
|
410 |
+
|
411 |
+
#crb-issue {
|
412 |
+
border-left: 3px solid crimson;
|
413 |
+
background-color: #eee;
|
414 |
+
padding: 1em;
|
415 |
+
overflow: auto;
|
416 |
+
}
|
417 |
+
|
418 |
+
#crb-file-content {
|
419 |
+
<?php
|
420 |
+
if (!$paint) {
|
421 |
+
echo '
|
422 |
+
max-height: '.$sheight .'px;
|
423 |
+
overflow: auto;
|
424 |
+
padding: 15px;
|
425 |
+
';
|
426 |
+
}
|
427 |
+
else {
|
428 |
+
echo 'overflow: hidden;';
|
429 |
+
}
|
430 |
+
?>
|
431 |
+
}
|
432 |
+
|
433 |
+
.syntaxhighlighter {
|
434 |
+
max-height: <?php echo $sheight; ?>px;
|
435 |
+
}
|
436 |
+
|
437 |
+
.syntaxhighlighter code {
|
438 |
+
font-family: Menlo, Consolas, Monaco, monospace !important;
|
439 |
+
font-size: 13px !important;
|
440 |
+
}
|
441 |
+
|
442 |
+
.syntaxhighlighter .gutter .line {
|
443 |
+
border-right: 3px solid #c7c7c7 !important;
|
444 |
+
}
|
445 |
+
|
446 |
+
</style>
|
447 |
+
</head>
|
448 |
+
|
449 |
+
<body>
|
450 |
+
|
451 |
+
<?php
|
452 |
+
|
453 |
+
echo $overlay;
|
454 |
+
|
455 |
+
echo '<pre id="crb-file-content" class="brush: php; toolbar: false;">' . $source . '</pre>';
|
456 |
+
|
457 |
+
if ( $the_file ) {
|
458 |
+
echo '<div id="crb-issue">Issue: ' . cerber_get_issue_label( $the_file['scan_status'] ) . '</div>';
|
459 |
+
}
|
460 |
+
|
461 |
+
if ( $paint ) :
|
462 |
+
?>
|
463 |
+
|
464 |
+
<script type="text/javascript">
|
465 |
+
SyntaxHighlighter.defaults["highlight"];
|
466 |
+
SyntaxHighlighter.all();
|
467 |
+
|
468 |
+
function crb_waitUntilRender() {
|
469 |
+
var overlay = document.getElementById("crb-overlay").style.visibility = "hidden";
|
470 |
+
}
|
471 |
+
|
472 |
+
var intervalID = setInterval(crb_waitUntilRender, 200);
|
473 |
+
|
474 |
+
|
475 |
+
</script>
|
476 |
+
|
477 |
+
<?php
|
478 |
+
|
479 |
+
endif;
|
480 |
+
|
481 |
+
?>
|
482 |
+
|
483 |
+
</body>
|
484 |
+
</html>
|
485 |
+
|
486 |
+
<?php
|
487 |
+
|
488 |
+
crb_admin_stop_ajax();
|
489 |
+
|
490 |
+
} );
|
491 |
+
|
492 |
+
/**
|
493 |
+
* Upload a reference ZIP archive for a theme or a plugin
|
494 |
+
*
|
495 |
+
*/
|
496 |
+
add_action( 'wp_ajax_cerber_ref_upload', function () {
|
497 |
+
|
498 |
+
cerber_check_ajax_permissions();
|
499 |
+
|
500 |
+
//ob_start(); // Collecting possible junk warnings and notices cause we need clean JSON to be sent
|
501 |
+
|
502 |
+
$error = '';
|
503 |
+
|
504 |
+
$folder = cerber_get_tmp_file_folder();
|
505 |
+
if ( is_wp_error( $folder ) ) {
|
506 |
+
cerber_end_ajax( array( 'error' => $folder->get_error_message() ) );
|
507 |
+
}
|
508 |
+
|
509 |
+
if ( isset( $_FILES['refile'] ) ) {
|
510 |
+
|
511 |
+
// Step 1, saving file
|
512 |
+
|
513 |
+
if ( ! is_uploaded_file( $_FILES['refile']['tmp_name'] ) ) {
|
514 |
+
$error = 'Unable to read uploaded file';
|
515 |
+
}
|
516 |
+
|
517 |
+
if ( ! cerber_check_extension( $_FILES['refile']['name'], array( 'zip' ) ) ) {
|
518 |
+
$error = 'Incorrect file format';
|
519 |
+
}
|
520 |
+
|
521 |
+
if ( cerber_detect_exec_extension( $_FILES['refile']['name'] ) ) {
|
522 |
+
$error = 'Incorrect file format';
|
523 |
+
}
|
524 |
+
|
525 |
+
if ( false !== strpos( $_FILES['refile']['name'], '/' ) ) {
|
526 |
+
$error = 'Incorrect filename';
|
527 |
+
}
|
528 |
+
|
529 |
+
if ( $error ) {
|
530 |
+
cerber_end_ajax( array( 'error' => $error ) );
|
531 |
+
}
|
532 |
+
|
533 |
+
if ( false === @move_uploaded_file( $_FILES['refile']['tmp_name'], $folder . $_FILES['refile']['name'] ) ) {
|
534 |
+
cerber_end_ajax( array( 'error' => 'Unable to copy file to ' . $folder ) );
|
535 |
+
}
|
536 |
+
|
537 |
+
}
|
538 |
+
else {
|
539 |
+
|
540 |
+
// Step 2, creating hash
|
541 |
+
|
542 |
+
$result = cerber_need_for_hash();
|
543 |
+
if ( is_wp_error( $result ) ) {
|
544 |
+
cerber_end_ajax( array( 'error' => $result->get_error_message() ) );
|
545 |
+
}
|
546 |
+
}
|
547 |
+
|
548 |
+
cerber_end_ajax();
|
549 |
+
|
550 |
+
} );
|
551 |
+
|
552 |
+
/**
|
553 |
+
* Deleting files, server side AJAX
|
554 |
+
*
|
555 |
+
*/
|
556 |
+
add_action( 'wp_ajax_cerber_scan_bulk_files', function () {
|
557 |
+
|
558 |
+
cerber_check_ajax_permissions();
|
559 |
+
|
560 |
+
$post = crb_get_post_fields();
|
561 |
+
|
562 |
+
if ( empty( $post['files'] ) || empty( $post['scan_id'] ) ) {
|
563 |
+
crb_admin_stop_ajax( 'Error!' );
|
564 |
+
|
565 |
+
return;
|
566 |
+
}
|
567 |
+
|
568 |
+
$scan_id = absint( $post['scan_id'] );
|
569 |
+
|
570 |
+
if ( ! cerber_get_scan( $scan_id ) ) {
|
571 |
+
crb_admin_stop_ajax( 'Error!' );
|
572 |
+
|
573 |
+
return;
|
574 |
+
}
|
575 |
+
|
576 |
+
$operation = $post['scan_file_operation'];
|
577 |
+
|
578 |
+
if ( ( ! $ignore = cerber_get_set( 'ignore-list' ) ) || ! is_array( $ignore ) ) {
|
579 |
+
$ignore = array();
|
580 |
+
}
|
581 |
+
|
582 |
+
global $crb_list;
|
583 |
+
$crb_list = array();
|
584 |
+
$i = 0;
|
585 |
+
$errors = array();
|
586 |
+
$time = time();
|
587 |
+
$user_id = get_current_user_id();
|
588 |
+
|
589 |
+
foreach ( $post['files'] as $file_name ) {
|
590 |
+
|
591 |
+
if ( ! is_file( $file_name ) ) {
|
592 |
+
continue;
|
593 |
+
}
|
594 |
+
|
595 |
+
$the_file = cerber_db_get_row( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan_id . ' AND file_name = "' . $file_name . '"', MYSQL_FETCH_OBJECT );
|
596 |
+
if ( ! $the_file || ! is_file( $the_file->file_name ) ) {
|
597 |
+
$errors[] = 'Unknown file: ' . $file_name;
|
598 |
+
continue;
|
599 |
+
}
|
600 |
+
|
601 |
+
switch ( $operation ) {
|
602 |
+
case 'delete_file':
|
603 |
+
$result = cerber_quarantine_file( $file_name, $scan_id );
|
604 |
+
break;
|
605 |
+
case 'ignore_add_file':
|
606 |
+
$ignore[ $the_file->file_name_hash ] = array(
|
607 |
+
$the_file->file_name,
|
608 |
+
@hash_file( 'sha256', $the_file->file_name ),
|
609 |
+
$user_id,
|
610 |
+
$time,
|
611 |
+
);
|
612 |
+
$result = true;
|
613 |
+
break;
|
614 |
+
}
|
615 |
+
|
616 |
+
if ( is_wp_error( $result ) ) {
|
617 |
+
$errors[] = $result->get_error_message();
|
618 |
+
}
|
619 |
+
elseif ( ! $result ) {
|
620 |
+
$errors[] = 'Unknown error 55';
|
621 |
+
}
|
622 |
+
else {
|
623 |
+
$i ++;
|
624 |
+
$crb_list[] = $file_name;
|
625 |
+
}
|
626 |
+
|
627 |
+
}
|
628 |
+
|
629 |
+
if ( $operation == 'ignore_add_file' ) {
|
630 |
+
// Update the last scan results to keep it up to date and avoid user confusing
|
631 |
+
if ( $scan = cerber_get_scan() ) {
|
632 |
+
$scan['issues'] = crb_issue_filer( $scan['issues'], function ( $file_name ) {
|
633 |
+
global $crb_list;
|
634 |
+
if ( in_array( $file_name, $crb_list ) ) {
|
635 |
+
return false;
|
636 |
+
}
|
637 |
+
|
638 |
+
return true;
|
639 |
+
} );
|
640 |
+
cerber_update_scan( $scan );
|
641 |
+
}
|
642 |
+
if ( ! cerber_update_set( 'ignore-list', $ignore ) ) {
|
643 |
+
$errors [] = 'Unable to update the ignore list';
|
644 |
+
}
|
645 |
+
}
|
646 |
+
|
647 |
+
crb_scan_debug( $errors );
|
648 |
+
|
649 |
+
cerber_end_ajax( array( 'errors' => $errors, 'number' => $i, 'processed' => $crb_list ) );
|
650 |
+
|
651 |
+
} );
|
652 |
+
|
653 |
+
/**
|
654 |
+
* Finalizes current AJAX request and sends data to the client
|
655 |
+
*
|
656 |
+
* @param $data array
|
657 |
+
*/
|
658 |
+
function cerber_end_ajax( $data = array() ) {
|
659 |
+
|
660 |
+
if ( ! $data ) {
|
661 |
+
$data = array();
|
662 |
+
}
|
663 |
+
|
664 |
+
$data['cerber_db_errors'] = cerber_db_get_errors();
|
665 |
+
|
666 |
+
if ( ! $data['cerber_db_errors'] ) {
|
667 |
+
$data['OK'] = 'OK!';
|
668 |
+
}
|
669 |
+
|
670 |
+
echo json_encode( $data );
|
671 |
+
|
672 |
+
if ( ! nexus_is_valid_request() ) {
|
673 |
+
wp_die();
|
674 |
+
}
|
675 |
+
}
|
676 |
+
|
677 |
+
function crb_admin_stop_ajax( $msg = '' ) {
|
678 |
+
if ( $msg ) {
|
679 |
+
echo $msg;
|
680 |
+
}
|
681 |
+
if ( ! nexus_is_valid_request() ) {
|
682 |
+
//wp_die();
|
683 |
+
exit;
|
684 |
+
}
|
685 |
+
}
|
686 |
+
|
687 |
+
function cerber_show_quarantine() {
|
688 |
+
|
689 |
+
$folder = cerber_get_the_folder( true );
|
690 |
+
if ( is_wp_error( $folder ) ) {
|
691 |
+
echo $folder->get_error_message();
|
692 |
+
|
693 |
+
return;
|
694 |
+
}
|
695 |
+
|
696 |
+
$no_files = '<p>' . __( 'There are no files in the quarantine at the moment.', 'wp-cerber' ) . '</p>';
|
697 |
+
$per_page = crb_admin_get_per_page();
|
698 |
+
$first = ( cerber_get_pn() - 1 ) * $per_page;
|
699 |
+
$last = $first + $per_page;
|
700 |
+
$list = array();
|
701 |
+
|
702 |
+
$filter_scan = crb_get_query_params( 'scan', '\d+' );
|
703 |
+
|
704 |
+
list ( $list, $count, $scan_list ) = cerber_quarantine_get_files( $first, $last, $filter_scan );
|
705 |
+
|
706 |
+
_crb_qr_total_sync( $count );
|
707 |
+
|
708 |
+
if ( ! $list ) {
|
709 |
+
if ( ! $filter_scan ) {
|
710 |
+
echo $no_files;
|
711 |
+
}
|
712 |
+
else {
|
713 |
+
echo __( 'No files match the specified filter.', 'wp-cerber' ) . ' <a href="' . cerber_admin_link( 'scan_quarantine' ) . '">' . __( 'Click here to see the full list of files', 'wp-cerber' ) . '</a>.';
|
714 |
+
}
|
715 |
+
|
716 |
+
return;
|
717 |
+
}
|
718 |
+
|
719 |
+
$rows = array();
|
720 |
+
$ofs = get_option( 'gmt_offset' ) * 3600;
|
721 |
+
$confirm = ' onclick="return confirm(\'' . __( 'Are you sure?', 'wp-cerber' ) . '\');"';
|
722 |
+
|
723 |
+
foreach ( $list as $file ) {
|
724 |
+
$p = array(
|
725 |
+
'cerber_admin_do' => 'scan_tegrity',
|
726 |
+
'crb_scan_id' => $file['scan_id'],
|
727 |
+
'crb_file_id' => $file['qfile']
|
728 |
+
);
|
729 |
+
|
730 |
+
$p['crb_scan_adm'] = 'delete';
|
731 |
+
$delete = '<a ' . $confirm . ' href="' . cerber_admin_link_add( $p ) . '">' . __( 'Delete permanently', 'wp-cerber' ) . '</a>';
|
732 |
+
|
733 |
+
$p['crb_scan_adm'] = 'restore';
|
734 |
+
$restore = ( ! $file['can'] ) ? '' : ' | <a ' . $confirm . ' href="' . cerber_admin_link_add( $p ) . '">' . __( 'Restore', 'wp-cerber' ) . '</a>';
|
735 |
+
|
736 |
+
$moved = strtotime( $file['date'] ) - $ofs;
|
737 |
+
$will = cerber_auto_date( $file['scan_id'] + DAY_IN_SECONDS * crb_get_settings( 'scan_qcleanup' ) );
|
738 |
+
|
739 |
+
$file_name = str_replace( DIRECTORY_SEPARATOR, '<wbr>' . DIRECTORY_SEPARATOR, $file['source'] );
|
740 |
+
|
741 |
+
$rows[] = array(
|
742 |
+
'<span title="' . cerber_date( $file['scan_id'] ) . '">' . cerber_auto_date( $file['scan_id'] ) . '</span>',
|
743 |
+
'<span title="' . cerber_date( $moved ) . '">' . cerber_auto_date( $moved ) . '</span>',
|
744 |
+
$will,
|
745 |
+
$file['size'],
|
746 |
+
$file_name,
|
747 |
+
'<span style="white-space: pre;">' . $delete . $restore . '</span>'
|
748 |
+
);
|
749 |
+
}
|
750 |
+
|
751 |
+
$heading = array(
|
752 |
+
__( 'Scanned', 'wp-cerber' ),
|
753 |
+
__( 'Quarantined', 'wp-cerber' ),
|
754 |
+
__( 'Automatic deletion', 'wp-cerber' ),
|
755 |
+
__( 'Size', 'wp-cerber' ),
|
756 |
+
__( 'File', 'wp-cerber' ),
|
757 |
+
__( 'Action', 'wp-cerber' ),
|
758 |
+
);
|
759 |
+
|
760 |
+
$table = cerber_make_table( $rows, $heading, 'crb-quarantine' );
|
761 |
+
|
762 |
+
$table .= cerber_page_navi( $count, $per_page );
|
763 |
+
|
764 |
+
$filter = '';
|
765 |
+
if ( count( $scan_list ) > 1 ) {
|
766 |
+
krsort( $scan_list );
|
767 |
+
$list = array( 0 => __( 'All scans', 'wp-cerber' ) );
|
768 |
+
foreach ( $scan_list as $s ) {
|
769 |
+
$list[ $s ] = cerber_date( $s, false );
|
770 |
+
}
|
771 |
+
$filter = '<div style="text-align: right; margin-bottom: 1em;"><form style="width: auto;" action="">' . cerber_select( 'scan', $list, $filter_scan ) . ' <input value="Filter" class="button" type="submit"><input name="page" value="cerber-integrity" type="hidden"><input name="tab" value="scan_quarantine" type="hidden"></form></div>';
|
772 |
+
}
|
773 |
+
|
774 |
+
echo $filter . $table;
|
775 |
+
}
|
776 |
+
|
777 |
+
function cerber_quarantine_do( $what, $scan_id, $qfile ) {
|
778 |
+
$scan_id = absint( $scan_id );
|
779 |
+
if ( ! $scan_id ) {
|
780 |
+
cerber_admin_notice( 'Error: Wrong scan parameters.' );
|
781 |
+
|
782 |
+
return;
|
783 |
+
}
|
784 |
+
//$dir = cerber_get_the_folder() . 'quarantine' . DIRECTORY_SEPARATOR . $scan_id;
|
785 |
+
$dir = cerber_get_the_folder( true );
|
786 |
+
if ( is_wp_error( $dir ) ) {
|
787 |
+
cerber_admin_notice( $dir->get_error_message() );
|
788 |
+
|
789 |
+
return;
|
790 |
+
}
|
791 |
+
|
792 |
+
$dir .= 'quarantine' . DIRECTORY_SEPARATOR . $scan_id;
|
793 |
+
|
794 |
+
$file = $dir . DIRECTORY_SEPARATOR . $qfile;
|
795 |
+
if ( ! @is_file( $file ) || is_link( $file ) ) {
|
796 |
+
cerber_admin_notice( 'Error: No file to process' );
|
797 |
+
|
798 |
+
return;
|
799 |
+
}
|
800 |
+
|
801 |
+
$rst = $dir . '/.restore';
|
802 |
+
if ( ! file_exists( $rst ) || ! $handle = @fopen( $rst, 'r' ) ) {
|
803 |
+
cerber_admin_notice( 'Error: A restore registry file is corrupt or missing.' );
|
804 |
+
|
805 |
+
return;
|
806 |
+
}
|
807 |
+
|
808 |
+
$data = null;
|
809 |
+
while ( ( $line = fgets( $handle ) ) !== false ) {
|
810 |
+
if ( $p = crb_parse_qline( $dir, $line ) ) {
|
811 |
+
if ( $p['qfile'] == $qfile ) {
|
812 |
+
$data = $p;
|
813 |
+
break;
|
814 |
+
}
|
815 |
+
}
|
816 |
+
}
|
817 |
+
|
818 |
+
if ( ! $data ) {
|
819 |
+
cerber_admin_notice( 'Error: No information about this file. Unable to proceed.' );
|
820 |
+
|
821 |
+
return;
|
822 |
+
}
|
823 |
+
|
824 |
+
$err = null;
|
825 |
+
$msg = null;
|
826 |
+
switch ( $what ) {
|
827 |
+
case 'delete':
|
828 |
+
if ( unlink( $file ) ) {
|
829 |
+
$msg = __( 'The file has been deleted permanently.', 'wp-cerber' );
|
830 |
+
crb_qr_total_update( -1 );
|
831 |
+
}
|
832 |
+
else {
|
833 |
+
$err = 'Unable to delete the file: ' . $file;
|
834 |
+
}
|
835 |
+
break;
|
836 |
+
case 'restore':
|
837 |
+
if ( $data['can'] ) {
|
838 |
+
$target_dir = dirname( $data['source'] );
|
839 |
+
if ( ! file_exists( $target_dir ) && ! mkdir( $target_dir, 0755, true ) ) {
|
840 |
+
$err = 'Unable to create the folder <b>' . $target_dir . '</b>. Check permissions of parent folders.';
|
841 |
+
}
|
842 |
+
if ( ! $err ) {
|
843 |
+
if ( @rename( $file, $data['source'] ) ) {
|
844 |
+
$msg = __( 'The file has been restored to its original location.', 'wp-cerber' );
|
845 |
+
crb_qr_total_update( -1 );
|
846 |
+
}
|
847 |
+
else {
|
848 |
+
$err = 'A file error occurred while restoring the file. Check permissions of folders.';
|
849 |
+
}
|
850 |
+
}
|
851 |
+
}
|
852 |
+
else {
|
853 |
+
$err = 'This file cannot be restored and needs to be manually copied. <p>See instructions in this file: ' . $rst . '</p>';
|
854 |
+
}
|
855 |
+
break;
|
856 |
+
}
|
857 |
+
if ( $err ) {
|
858 |
+
cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' ' . $err );
|
859 |
+
}
|
860 |
+
if ( $msg ) {
|
861 |
+
cerber_admin_message( $msg );
|
862 |
+
}
|
863 |
+
}
|
864 |
+
|
865 |
+
function cerber_show_ignore() {
|
866 |
+
|
867 |
+
// For translators
|
868 |
+
__( 'Apply', 'wp-cerber' );
|
869 |
+
__( 'Remove from the list', 'wp-cerber' );
|
870 |
+
__( 'User Insights', 'wp-cerber' );
|
871 |
+
__( 'Traffic Insights', 'wp-cerber' );
|
872 |
+
__( 'Activity Insights', 'wp-cerber' );
|
873 |
+
|
874 |
+
$no_files = __( 'The list is empty.', 'wp-cerber' );
|
875 |
+
$per_page = crb_admin_get_per_page();
|
876 |
+
$first = ( cerber_get_pn() - 1 ) * $per_page;
|
877 |
+
|
878 |
+
if ( ! $list = cerber_get_set( 'ignore-list' ) ) {
|
879 |
+
echo '<p>' . $no_files . '</p>';
|
880 |
+
|
881 |
+
return;
|
882 |
+
}
|
883 |
+
|
884 |
+
$count = count( $list );
|
885 |
+
$list = array_slice( $list, $first, $per_page );
|
886 |
+
|
887 |
+
$rows = array();
|
888 |
+
$confirm = ' onclick="return confirm(\'' . __( 'Are you sure?', 'wp-cerber' ) . '\');"';
|
889 |
+
|
890 |
+
foreach ( $list as $key => $file ) {
|
891 |
+
|
892 |
+
$delete = '<a ' . $confirm . ' href="' . cerber_admin_link_add( array(
|
893 |
+
'cerber_admin_do' => 'scan_tegrity',
|
894 |
+
'crb_scan_adm' => 'remove_ignore',
|
895 |
+
'crb_file_id' => $key
|
896 |
+
) ) . '">' . __( 'Remove from the list', 'wp-cerber' ) . '</a>';
|
897 |
+
|
898 |
+
$rows[] = array(
|
899 |
+
cerber_date( $file[3] ),
|
900 |
+
cerber_date( cerber_get_date( $file[0] ) ),
|
901 |
+
crb_size_format( cerber_get_size( $file[0] ) ),
|
902 |
+
$file[0],
|
903 |
+
'<span style="white-space: pre;">' . $delete . '</span>'
|
904 |
+
);
|
905 |
+
}
|
906 |
+
|
907 |
+
$heading = array(
|
908 |
+
__( 'Added', 'wp-cerber' ),
|
909 |
+
__( 'Modified', 'wp-cerber' ),
|
910 |
+
__( 'Size', 'wp-cerber' ),
|
911 |
+
__( 'File', 'wp-cerber' ),
|
912 |
+
__( 'Action', 'wp-cerber' ),
|
913 |
+
);
|
914 |
+
|
915 |
+
$table = cerber_make_table( $rows, $heading );
|
916 |
+
|
917 |
+
$table .= cerber_page_navi( $count, $per_page );
|
918 |
+
|
919 |
+
echo $table;
|
920 |
+
}
|
921 |
+
|
922 |
+
function crb_remove_ignore( $id ) {
|
923 |
+
if ( ! $list = cerber_get_set( 'ignore-list' ) ) {
|
924 |
+
return false;
|
925 |
+
}
|
926 |
+
if ( ! isset( $list[ $id ] ) ) {
|
927 |
+
return false;
|
928 |
+
}
|
929 |
+
|
930 |
+
unset( $list[ $id ] );
|
931 |
+
|
932 |
+
return cerber_update_set( 'ignore-list', $list );
|
933 |
+
|
934 |
+
}
|
935 |
+
|
936 |
+
// Scan analytics ===========================================================
|
937 |
+
|
938 |
+
function cerber_scan_insights() {
|
939 |
+
|
940 |
+
if ( ! $scan_id = crb_scan_last_full() ) {
|
941 |
+
echo 'No data for generating reports. Please run the Full Scan. After the scan is completed, the report will be generated.';
|
942 |
+
|
943 |
+
return;
|
944 |
+
}
|
945 |
+
|
946 |
+
if ( $ext = crb_get_query_params( 'fext' ) ) {
|
947 |
+
cerber_show_files( $ext, $scan_id );
|
948 |
+
|
949 |
+
return;
|
950 |
+
}
|
951 |
+
|
952 |
+
?>
|
953 |
+
|
954 |
+
<div style="padding-bottom: 1.5em;" class="crb_async_content" data-ajax_route="scanner_analytics" data-scan_id="<?php echo $scan_id; ?>" data-itype="1">
|
955 |
+
</div>
|
956 |
+
<div style="padding-bottom: 1.5em;" class="crb_async_content" data-ajax_route="scanner_analytics" data-scan_id="<?php echo $scan_id; ?>" data-itype="2">
|
957 |
+
</div>
|
958 |
+
<div id="crb_ins_ext_list" style="padding-bottom: 1.5em;" class="crb_async_content" data-ajax_route="scanner_analytics" data-scan_id="<?php echo $scan_id; ?>" data-itype="3">
|
959 |
+
</div>
|
960 |
+
|
961 |
+
<?php
|
962 |
+
|
963 |
+
}
|
964 |
+
|
965 |
+
/**
|
966 |
+
* @param string $ext
|
967 |
+
* @param int $scan_id
|
968 |
+
*/
|
969 |
+
function cerber_show_files( $ext, $scan_id ) {
|
970 |
+
|
971 |
+
$ext = cerber_real_escape( $ext );
|
972 |
+
$per_page = 25;
|
973 |
+
$limit = cerber_get_sql_limit( $per_page );
|
974 |
+
$files = cerber_db_get_results( 'SELECT SQL_CALC_FOUND_ROWS file_name, file_mtime, file_size FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan_id . ' AND file_ext = "' . $ext . '" ' . $limit );
|
975 |
+
$total = cerber_db_get_var( 'SELECT FOUND_ROWS()' );
|
976 |
+
|
977 |
+
if ( ! $files ) {
|
978 |
+
echo '<p>No files found. Please run the Full Scan.</p>';
|
979 |
+
|
980 |
+
return;
|
981 |
+
}
|
982 |
+
|
983 |
+
$title = ( $ext == '.' ) ? __( 'Files without extension', 'wp-cerber' ) : 'Files with the "' . $ext . '" extension';
|
984 |
+
echo '<div style="display: table-cell"><h3>' . $title . '</h3></div><div style="display: table-cell; vertical-align: middle;"> <a href="' . cerber_admin_link( 'scan_insights' ) . '#crb_ins_ext_list" class="page-title-action">' . __( 'Back to list', 'wp-cerber' ) . '</a></div>';
|
985 |
+
|
986 |
+
echo crb_make_file_table( $files ) . cerber_page_navi( $total, $per_page );
|
987 |
+
}
|
988 |
+
|
989 |
+
/**
|
990 |
+
* @param string $type
|
991 |
+
*
|
992 |
+
* @return string[]
|
993 |
+
*
|
994 |
+
* @since 8.6.4
|
995 |
+
*/
|
996 |
+
function cerber_generate_insights( $type ) {
|
997 |
+
|
998 |
+
if ( ! $scan_id = crb_scan_last_full() ) {
|
999 |
+
return array( 'html' => 'No data for generating reports. Please run the Full Scan. After the scan is completed, the report will be generated.' );
|
1000 |
+
}
|
1001 |
+
|
1002 |
+
$key = 'scan_insights_' . $type;
|
1003 |
+
|
1004 |
+
// Cache
|
1005 |
+
if ( $report = cerber_get_set( $key, $scan_id, false ) ) {
|
1006 |
+
return array( 'html' => $report );
|
1007 |
+
}
|
1008 |
+
|
1009 |
+
switch ( $type ) {
|
1010 |
+
case 1:
|
1011 |
+
$report = crb_scan_insights_brief( $scan_id );
|
1012 |
+
break;
|
1013 |
+
case 2:
|
1014 |
+
$report = crb_scan_insights_lrgst( $scan_id );
|
1015 |
+
break;
|
1016 |
+
case 3:
|
1017 |
+
$report = crb_scan_insights_exts( $scan_id );
|
1018 |
+
break;
|
1019 |
+
}
|
1020 |
+
|
1021 |
+
// Cache
|
1022 |
+
if ( $report ) {
|
1023 |
+
cerber_update_set( $key, $report, $scan_id, false, time() + 24 * 3600 );
|
1024 |
+
}
|
1025 |
+
else {
|
1026 |
+
$report = 'ERROR: Unknown report';
|
1027 |
+
}
|
1028 |
+
|
1029 |
+
$response = array( 'html' => $report, 'error' => '' );
|
1030 |
+
|
1031 |
+
/*if ( $_REQUEST['request'] < 2 ) {
|
1032 |
+
$response['continue'] = 1;
|
1033 |
+
}*/
|
1034 |
+
|
1035 |
+
return $response;
|
1036 |
+
}
|
1037 |
+
|
1038 |
+
function crb_scan_insights_brief( $scan_id ) {
|
1039 |
+
|
1040 |
+
$scan_id = absint( $scan_id );
|
1041 |
+
|
1042 |
+
$table = cerber_get_db_prefix() . CERBER_SCAN_TABLE;
|
1043 |
+
|
1044 |
+
$result = '<h3>' . __( 'Brief summary', 'wp-cerber' ) . '</h3>';
|
1045 |
+
|
1046 |
+
$list = array(
|
1047 |
+
array( 'WordPress root folder (ABSPATH) ', ABSPATH ),
|
1048 |
+
array( 'WordPress uploads folder', cerber_get_upload_dir() ),
|
1049 |
+
array( 'WordPress content folder', dirname( cerber_get_plugins_dir() ) ),
|
1050 |
+
array( 'WordPress plugins folder', cerber_get_plugins_dir() ),
|
1051 |
+
array( 'WordPress themes folder', cerber_get_themes_dir() ),
|
1052 |
+
array( 'WordPress must use plugin folder (WPMU_PLUGIN_DIR) ', WPMU_PLUGIN_DIR ),
|
1053 |
+
array( 'PHP folder for uploading files', ini_get( 'upload_tmp_dir' ) ),
|
1054 |
+
array( 'Server folder for temporary files', sys_get_temp_dir() ),
|
1055 |
+
array( 'Server folder for users\' session data', session_save_path() ),
|
1056 |
+
);
|
1057 |
+
|
1058 |
+
/*
|
1059 |
+
It's not scanned by the scanner
|
1060 |
+
$cerber_folder = cerber_get_my_folder();
|
1061 |
+
if ( ! is_wp_error( $cerber_folder ) ) {
|
1062 |
+
$list[] = array( 'WP Cerber\'s folder', $cerber_folder );
|
1063 |
+
}*/
|
1064 |
+
|
1065 |
+
$folders = array();
|
1066 |
+
foreach ( $list as $item ) {
|
1067 |
+
if ( ! $item[1] || ! @file_exists( $item[1] ) ) {
|
1068 |
+
continue;
|
1069 |
+
}
|
1070 |
+
$item[2] = 0;
|
1071 |
+
$item[3] = 0;
|
1072 |
+
$item[1] = rtrim( $item[1], DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR;
|
1073 |
+
if ( $files = cerber_db_get_col( 'SELECT file_size FROM ' . $table . ' WHERE scan_id = ' . $scan_id . ' AND file_name LIKE "' . $item[1] . '%"' ) ) {
|
1074 |
+
$item[2] = count( $files );
|
1075 |
+
if ( $sum = array_sum( $files ) ) {
|
1076 |
+
$item[3] = crb_size_format( $sum );
|
1077 |
+
}
|
1078 |
+
}
|
1079 |
+
$folders[] = $item;
|
1080 |
+
}
|
1081 |
+
|
1082 |
+
$sql = 'SELECT file_size FROM ' . $table . ' WHERE scan_id = ' . $scan_id . ' AND file_name NOT LIKE "' . ABSPATH . '%"';
|
1083 |
+
$files = cerber_db_get_col( $sql );
|
1084 |
+
if ( $files ) {
|
1085 |
+
if ( $sum = array_sum( $files ) ) {
|
1086 |
+
$sum = crb_size_format( $sum );
|
1087 |
+
}
|
1088 |
+
$folders[] = array( 'Beyond the WordPress root folder', '', count( $files ), $sum );
|
1089 |
+
}
|
1090 |
+
|
1091 |
+
$column = array_column( $folders, 2 );
|
1092 |
+
array_multisort( $column, SORT_DESC, $folders );
|
1093 |
+
|
1094 |
+
return $result . cerber_make_table( $folders, array(
|
1095 |
+
__( 'Folder', 'wp-cerber' ),
|
1096 |
+
__( 'Path', 'wp-cerber' ),
|
1097 |
+
__( 'Files', 'wp-cerber' ),
|
1098 |
+
__( 'Space Occupied', 'wp-cerber' )
|
1099 |
+
), '', 'crb_align_right crb_align_left_2', 'crb-monospace' );
|
1100 |
+
|
1101 |
+
}
|
1102 |
+
|
1103 |
+
function crb_scan_insights_exts( $scan_id ) {
|
1104 |
+
|
1105 |
+
$scan_id = absint( $scan_id );
|
1106 |
+
|
1107 |
+
$table = cerber_get_db_prefix() . CERBER_SCAN_TABLE;
|
1108 |
+
$list = array();
|
1109 |
+
|
1110 |
+
$offset = 0;
|
1111 |
+
$total = 0;
|
1112 |
+
$done = false;
|
1113 |
+
//cerber_exec_timer( 15 );
|
1114 |
+
|
1115 |
+
while ( true ) {
|
1116 |
+
|
1117 |
+
if ( ! $files = cerber_db_get_results( 'SELECT file_name, file_name_hash, file_mtime, file_size, file_ext FROM ' . $table . ' WHERE scan_id = ' . $scan_id . ' LIMIT ' . CRB_SQL_CHUNK . ' OFFSET ' . $offset ) ) {
|
1118 |
+
$done = true;
|
1119 |
+
break;
|
1120 |
+
}
|
1121 |
+
|
1122 |
+
$offset += CRB_SQL_CHUNK;
|
1123 |
+
|
1124 |
+
foreach ( $files as $file ) {
|
1125 |
+
if ( ! $ext = crb_get_extension( $file['file_name'] ) ) {
|
1126 |
+
$ext = '.';
|
1127 |
+
}
|
1128 |
+
|
1129 |
+
|
1130 |
+
if ( empty( $file['file_ext'] ) ) {
|
1131 |
+
cerber_db_query( 'UPDATE ' . $table . ' SET file_ext = "' . $ext . '" WHERE scan_id = ' . $scan_id . ' AND file_name_hash = "' . $file['file_name_hash'] . '"' );
|
1132 |
+
}
|
1133 |
+
|
1134 |
+
if ( ! isset( $list[ $ext ] ) ) {
|
1135 |
+
$list[ $ext ] = array( 0, 0, array(), array() );
|
1136 |
+
}
|
1137 |
+
|
1138 |
+
$list[ $ext ][0] ++;
|
1139 |
+
$list[ $ext ][1] += $file['file_size'];
|
1140 |
+
|
1141 |
+
$list[ $ext ][2][] = $file['file_size'];
|
1142 |
+
$list[ $ext ][3][] = $file['file_mtime'];
|
1143 |
+
|
1144 |
+
$total ++;
|
1145 |
+
}
|
1146 |
+
|
1147 |
+
}
|
1148 |
+
|
1149 |
+
if ( ! $done && ( count( $files ) < CRB_SQL_CHUNK ) ) {
|
1150 |
+
$done = true;
|
1151 |
+
}
|
1152 |
+
|
1153 |
+
if ( ! $done ) {
|
1154 |
+
return array( 'continue' => 1 );
|
1155 |
+
}
|
1156 |
+
|
1157 |
+
if ( ! $list ) {
|
1158 |
+
return 'No data for generating reports. Please run the Full Scan. After the scan is completed, the report will be generated.';
|
1159 |
+
}
|
1160 |
+
|
1161 |
+
$base = cerber_admin_link( 'scan_insights' );
|
1162 |
+
$none = __( 'No extension', 'wp-cerber' );
|
1163 |
+
$result = array();
|
1164 |
+
|
1165 |
+
foreach ( $list as $ext => $data ) {
|
1166 |
+
$text = ( $ext == '.' ) ? $none : $ext;
|
1167 |
+
$result[] = array(
|
1168 |
+
'<a href="' . $base . esc_attr( '&fext=' . $ext ) . '">' . $text . '</a>',
|
1169 |
+
$data[0],
|
1170 |
+
crb_size_format( $data[1] ),
|
1171 |
+
crb_size_format( min( $data[2] ) ),
|
1172 |
+
crb_size_format( max( $data[2] ) ),
|
1173 |
+
crb_size_format( round( $data[1] / $data[0], 0 ) ),
|
1174 |
+
cerber_date( min( $data[3] ) ),
|
1175 |
+
cerber_date( max( $data[3] ) ),
|
1176 |
+
);
|
1177 |
+
}
|
1178 |
+
|
1179 |
+
// Sorting by a column in a multidimensional array
|
1180 |
+
|
1181 |
+
$column = array_column( $result, 1 );
|
1182 |
+
array_multisort( $column, SORT_DESC, $result );
|
1183 |
+
|
1184 |
+
// Create table
|
1185 |
+
|
1186 |
+
//$report = '<h3>The file system report is based on the last full scan.</h3>';
|
1187 |
+
$report = '<h3>' . __( 'File extensions statistics', 'wp-cerber' ) . '</h3>';
|
1188 |
+
|
1189 |
+
$report .= cerber_make_table( $result, array(
|
1190 |
+
__( 'Extension', 'wp-cerber' ),
|
1191 |
+
__( 'Files', 'wp-cerber' ),
|
1192 |
+
__( 'Space Occupied', 'wp-cerber' ),
|
1193 |
+
__( 'Smallest', 'wp-cerber' ),
|
1194 |
+
__( 'Largest', 'wp-cerber' ),
|
1195 |
+
__( 'Average Size', 'wp-cerber' ),
|
1196 |
+
__( 'Oldest', 'wp-cerber' ),
|
1197 |
+
__( 'Newest', 'wp-cerber' ),
|
1198 |
+
), '', 'crb_align_right', 'crb-monospace crb-anchor-decorated' );
|
1199 |
+
|
1200 |
+
return $report;
|
1201 |
+
}
|
1202 |
+
|
1203 |
+
function crb_scan_insights_lrgst( $scan_id ) {
|
1204 |
+
|
1205 |
+
$scan_id = absint( $scan_id );
|
1206 |
+
|
1207 |
+
$table = cerber_get_db_prefix() . CERBER_SCAN_TABLE;
|
1208 |
+
|
1209 |
+
if ( ! $files = cerber_db_get_results( 'SELECT file_name, file_mtime, file_size FROM ' . $table . ' WHERE scan_id = ' . $scan_id . ' ORDER BY file_size DESC LIMIT 10' ) ) {
|
1210 |
+
return 'No data for generating reports. Please run the Full Scan. After the scan is completed, the report will be generated.';
|
1211 |
+
}
|
1212 |
+
|
1213 |
+
$title = '<h3>' . __( 'Top 10 largest files', 'wp-cerber' ) . '</h3>';
|
1214 |
+
|
1215 |
+
return $title . crb_make_file_table( $files );
|
1216 |
+
}
|
1217 |
+
|
1218 |
+
function crb_scan_insights_duplicates( $scan_id ) {
|
1219 |
+
|
1220 |
+
$scan_id = absint( $scan_id );
|
1221 |
+
|
1222 |
+
// SQL Doesn't work
|
1223 |
+
/* ( ! $files = cerber_db_get_results( 'SELECT file_name, file_mtime, file_size, file_hash FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan_id . ' GROUP BY file_hash HAVING COUNT(*) > 1 LIMIT 100' ) ) {
|
1224 |
+
return '';
|
1225 |
+
}*/
|
1226 |
+
|
1227 |
+
if ( ! $files = cerber_db_get_col( 'SELECT file_hash FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan_id . ' AND file_size !=0 AND file_hash !="" ' ) ) {
|
1228 |
+
return 'No data for generating reports. Please run the Full Scan. After the scan is completed, the report will be generated.';
|
1229 |
+
}
|
1230 |
+
|
1231 |
+
$dup = array_unique( array_diff_assoc( $files, array_unique( $files ) ) );
|
1232 |
+
|
1233 |
+
rsort( $dup );
|
1234 |
+
|
1235 |
+
$list = array();
|
1236 |
+
foreach ( $dup as $hash ) {
|
1237 |
+
if ( $fl = cerber_db_get_results( 'SELECT file_name, file_mtime, file_size FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan_id . ' AND file_hash = "' . $hash . '"' ) ) {
|
1238 |
+
$list = array_merge( $list, $fl );
|
1239 |
+
}
|
1240 |
+
}
|
1241 |
+
|
1242 |
+
$result = '<h3>Duplicate files</h3>';
|
1243 |
+
|
1244 |
+
return $result . crb_make_file_table( $list );
|
1245 |
+
|
1246 |
+
}
|
1247 |
+
|
1248 |
+
function crb_scan_last_full() {
|
1249 |
+
|
1250 |
+
$scans = cerber_db_get_col( 'SELECT DISTINCT scan_id FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_mode = 1 ORDER BY scan_id DESC LIMIT 1' );
|
1251 |
+
|
1252 |
+
if ( $scans ) {
|
1253 |
+
$scan_id = $scans[0];
|
1254 |
+
$scan = cerber_get_scan( $scan_id );
|
1255 |
+
if ( $scan['finished']
|
1256 |
+
|| ( $scan['aborted'] && $scan['next_step'] > 5 ) ) { // Step 5 is enough for analysis
|
1257 |
+
return $scan_id;
|
1258 |
+
}
|
1259 |
+
}
|
1260 |
+
|
1261 |
+
return false;
|
1262 |
+
}
|
1263 |
+
|
1264 |
+
// Miscellaneous admin routines ===========================================================
|
1265 |
+
|
1266 |
+
|
1267 |
+
/**
|
1268 |
+
* Detects file extension
|
1269 |
+
*
|
1270 |
+
* @param string $file_name
|
1271 |
+
*
|
1272 |
+
* @return string
|
1273 |
+
*/
|
1274 |
+
function crb_get_extension( $file_name ) {
|
1275 |
+
|
1276 |
+
$name = basename( $file_name );
|
1277 |
+
|
1278 |
+
if ( $name == '.htaccess' ) {
|
1279 |
+
return '';
|
1280 |
+
}
|
1281 |
+
|
1282 |
+
if ( false === ( $last_dot = strrpos( $name, '.' ) ) ) {
|
1283 |
+
return '';
|
1284 |
+
}
|
1285 |
+
|
1286 |
+
/*$first_dot = strpos( $name, '.' );
|
1287 |
+
|
1288 |
+
if ( $last_dot !== $first_dot
|
1289 |
+
&& cerber_detect_exec_extension( $name ) ) {
|
1290 |
+
$ext = substr( $name, $first_dot + 1 );
|
1291 |
+
}
|
1292 |
+
else {
|
1293 |
+
$ext = substr( $name, $last_dot + 1 );
|
1294 |
+
}*/
|
1295 |
+
|
1296 |
+
$ext = substr( $name, $last_dot + 1 );
|
1297 |
+
|
1298 |
+
if ( ! $ext ) {
|
1299 |
+
$ext = '';
|
1300 |
+
}
|
1301 |
+
|
1302 |
+
return $ext;
|
1303 |
+
}
|
1304 |
+
|
1305 |
+
function crb_make_file_table( $files ) {
|
1306 |
+
|
1307 |
+
$result = array();
|
1308 |
+
foreach ( $files as $file ) {
|
1309 |
+
$result[] = array(
|
1310 |
+
$file['file_name'],
|
1311 |
+
crb_size_format( $file['file_size'] ),
|
1312 |
+
cerber_date( $file['file_mtime'] ),
|
1313 |
+
);
|
1314 |
+
}
|
1315 |
+
|
1316 |
+
return cerber_make_table( $result, array(
|
1317 |
+
__( 'File Name', 'wp-cerber' ),
|
1318 |
+
__( 'Size', 'wp-cerber' ),
|
1319 |
+
__( 'Modified', 'wp-cerber' ),
|
1320 |
+
), '', 'crb_align_right', 'crb-monospace crb-anchor-decorated' );
|
1321 |
+
|
1322 |
+
}
|
1323 |
+
|
1324 |
+
/**
|
1325 |
+
* Generates an HTML table
|
1326 |
+
*
|
1327 |
+
* @param $heading
|
1328 |
+
* @param $rows
|
1329 |
+
* @param string $id
|
1330 |
+
* @param $class
|
1331 |
+
* @param string $body_class
|
1332 |
+
* @param string $head_class
|
1333 |
+
* @param bool $show_footer
|
1334 |
+
*
|
1335 |
+
* @return string
|
1336 |
+
* @since 8.6.4
|
1337 |
+
*
|
1338 |
+
*/
|
1339 |
+
function cerber_make_table( $rows, $heading = array(), $id = '', $class = '', $body_class = '', $head_class = '', $show_footer = true ) {
|
1340 |
+
|
1341 |
+
$tr = array();
|
1342 |
+
foreach ( $rows as $row ) {
|
1343 |
+
$tr[] = '<td>' . implode( '</td><td>', $row ) . '</td>';
|
1344 |
+
}
|
1345 |
+
|
1346 |
+
$tfoot = '';
|
1347 |
+
$thead = '';
|
1348 |
+
|
1349 |
+
if ( $heading ) {
|
1350 |
+
$titles = '<tr><th>' . implode( '</th><th>', $heading ) . '</th></tr>';
|
1351 |
+
$thead = '<thead class="' . $head_class . '">' . $titles . '</thead>';
|
1352 |
+
|
1353 |
+
if ( $show_footer ) {
|
1354 |
+
$tfoot = '<tfoot class="' . $head_class . '">' . $titles . '</tfoot>';
|
1355 |
+
}
|
1356 |
+
}
|
1357 |
+
|
1358 |
+
$id = ( $id ) ? 'id="' . $id . '"' : '';
|
1359 |
+
|
1360 |
+
return '<table ' . $id . ' class="widefat crb-table cerber-margin ' . $class . '">' . $thead . $tfoot . '<tbody class="' . $body_class . '"><tr>' . implode( '</tr><tr>', $tr ) . '</tr></tbody></table>';
|
1361 |
+
|
1362 |
+
}
|
1363 |
+
|
1364 |
+
function cerber_get_chmod( $file ) {
|
1365 |
+
return substr( sprintf( '%o', @fileperms( $file ) ), - 4 );
|
1366 |
+
}
|
1367 |
+
|
1368 |
+
function cerber_get_size( $file ) {
|
1369 |
+
$size = @filesize( $file );
|
1370 |
+
|
1371 |
+
return ( is_numeric( $size ) ) ? $size : 0;
|
1372 |
+
}
|
1373 |
+
|
1374 |
+
function cerber_get_date( $file ) {
|
1375 |
+
$mtime = @filemtime( $file );
|
1376 |
+
|
1377 |
+
return ( is_numeric( $mtime ) ) ? $mtime : 0;
|
1378 |
+
}
|
admin/cerber-settings.php
CHANGED
@@ -38,7 +38,13 @@ if ( ! defined( 'WPINC' ) || ! defined( 'CERBER_VER' ) ) {
|
|
38 |
// @since 8.5.9.1
|
39 |
define( 'CRB_SETTINGS_GROUP', 'cerber_settings_group' );
|
40 |
|
41 |
-
add_action( 'admin_init',
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
function cerber_admin_init() {
|
43 |
global $crb_assets_url, $crb_ajax_loader;
|
44 |
$crb_assets_url = cerber_plugin_dir_url() . 'assets/';
|
@@ -383,7 +389,7 @@ function cerber_field_show( $args ) {
|
|
383 |
break;
|
384 |
|
385 |
case 'textarea':
|
386 |
-
$html = '<textarea class="large-text
|
387 |
$html .= '<br/><label class="crb-below" for="' . $args['setting'] . '">' . $label . '</label>';
|
388 |
break;
|
389 |
|
38 |
// @since 8.5.9.1
|
39 |
define( 'CRB_SETTINGS_GROUP', 'cerber_settings_group' );
|
40 |
|
41 |
+
add_action( 'admin_init', function () { // @since 8.6.3.1
|
42 |
+
cerber_admin_init();
|
43 |
+
cerber_export();
|
44 |
+
cerber_import();
|
45 |
+
cerber_unsubscribeme();
|
46 |
+
} );
|
47 |
+
|
48 |
function cerber_admin_init() {
|
49 |
global $crb_assets_url, $crb_ajax_loader;
|
50 |
$crb_assets_url = cerber_plugin_dir_url() . 'assets/';
|
389 |
break;
|
390 |
|
391 |
case 'textarea':
|
392 |
+
$html = '<textarea class="large-text crb-monospace" id="' . $id . '" name="' . $name . '" ' . $atts . $data . '>' . $value . '</textarea>';
|
393 |
$html .= '<br/><label class="crb-below" for="' . $args['setting'] . '">' . $label . '</label>';
|
394 |
break;
|
395 |
|
assets/admin.css
CHANGED
@@ -9,6 +9,18 @@
|
|
9 |
line-height: 26px;
|
10 |
}
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
/* End of reset */
|
13 |
|
14 |
.crb-display-none {
|
@@ -58,8 +70,8 @@
|
|
58 |
|
59 |
#crb-admin input.crb-digits {
|
60 |
text-align: center;
|
61 |
-
|
62 |
-
font-size:
|
63 |
}
|
64 |
|
65 |
#crb-admin textarea,
|
@@ -74,10 +86,6 @@
|
|
74 |
margin: 0 0.5em 0 0;
|
75 |
}
|
76 |
|
77 |
-
#crb-admin .wp-list-table td {
|
78 |
-
color: #222;
|
79 |
-
}
|
80 |
-
|
81 |
.crb-main a:focus,
|
82 |
#crb-aside a:focus {
|
83 |
-webkit-box-shadow: none !important;
|
@@ -106,7 +114,14 @@
|
|
106 |
}
|
107 |
|
108 |
.crb-monospace {
|
109 |
-
font-family: Menlo, Consolas, Monaco, monospace;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
|
112 |
/* Settings' forms */
|
@@ -124,13 +139,15 @@
|
|
124 |
}
|
125 |
.crb-settings .form-table th {
|
126 |
min-width: 200px;
|
|
|
127 |
/*
|
128 |
padding-top: 15px;
|
129 |
vertical-align: middle;*/
|
130 |
}
|
131 |
.crb-settings label.crb-below {
|
132 |
padding-top: 0.5em;
|
133 |
-
|
|
|
134 |
}
|
135 |
.crb-settings .form-table input.crb-wide,
|
136 |
.crb-settings .form-table select.crb-wide,
|
@@ -419,7 +436,7 @@
|
|
419 |
|
420 |
.crb-tab-sessions #ses_started,
|
421 |
.crb-tab-sessions #ses_expires{
|
422 |
-
width: 15
|
423 |
}
|
424 |
|
425 |
.crb-tab-sessions .crb-us-lbl {
|
@@ -430,7 +447,9 @@
|
|
430 |
color: white;
|
431 |
}
|
432 |
|
433 |
-
|
|
|
|
|
434 |
.crb-table > tbody > tr:nth-child(even){
|
435 |
background: #f9f9f9
|
436 |
}
|
@@ -443,13 +462,26 @@
|
|
443 |
.crb-table > tbody > tr.crb-odd{
|
444 |
background: #FFF
|
445 |
}
|
446 |
-
|
447 |
.crb-table > tbody > tr > td {
|
448 |
vertical-align: middle;
|
449 |
color: #222;
|
450 |
min-width: 70px;
|
451 |
}
|
452 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
453 |
#crb-traffic td {
|
454 |
vertical-align: top;
|
455 |
}
|
@@ -485,6 +517,11 @@
|
|
485 |
|
486 |
#crb-traffic .crb-request span {
|
487 |
margin-right: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
488 |
}
|
489 |
|
490 |
#crb-traffic .crb-toggle .crb-request {
|
@@ -501,27 +538,18 @@ td.crb-traffic-details td {
|
|
501 |
}
|
502 |
|
503 |
td.crb-traffic-details table td:nth-child(2) {
|
504 |
-
font-family: Menlo, Consolas, Monaco, monospace;
|
|
|
505 |
}
|
506 |
|
507 |
.crb-traffic-more {
|
508 |
position: relative;
|
509 |
left: -9999em;
|
510 |
}
|
511 |
-
|
512 |
-
|
513 |
-
/*
|
514 |
-
td.crb-traffic-details div{
|
515 |
-
overflow: auto;
|
516 |
-
max-height: 600px;
|
517 |
-
}*/
|
518 |
.crb-POST, .crb-ffile{
|
519 |
/*background-color: #616e7b;*/
|
520 |
background-color: #69737d;
|
521 |
color: #fff;
|
522 |
-
display: inline-block;
|
523 |
-
line-height: 1em;
|
524 |
-
padding: 4px 8px;
|
525 |
}
|
526 |
.crb-200 {
|
527 |
color: green;
|
@@ -531,38 +559,32 @@ td.crb-traffic-details div{
|
|
531 |
.crb-405{
|
532 |
background-color: #FF5733;
|
533 |
color: #fff;
|
534 |
-
display: inline-block;
|
535 |
-
line-height: 1em;
|
536 |
-
padding: 4px 8px;
|
537 |
}
|
538 |
.crb-wp-type-515{
|
539 |
background-color: #7A804A;
|
540 |
color: #fff;
|
541 |
-
display: inline-block;
|
542 |
-
line-height: 1em;
|
543 |
-
padding: 4px 8px;
|
544 |
}
|
545 |
.crb-wp-type-520{
|
546 |
background-color: #A00D5C;
|
547 |
color: #fff;
|
548 |
-
display: inline-block;
|
549 |
-
line-height: 1em;
|
550 |
-
padding: 4px 8px;
|
551 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
552 |
.crb-php-error{
|
553 |
background-color: #8892bf;
|
554 |
color: #fff;
|
555 |
-
display: inline-block;
|
556 |
-
line-height: 1em;
|
557 |
-
padding: 4px 8px;
|
558 |
}
|
559 |
.crb-above{
|
560 |
background-color: #FFFF55;
|
561 |
-
display: inline-block;
|
562 |
-
line-height: 1em;
|
563 |
-
padding: 4px 8px;
|
564 |
}
|
565 |
.crb-fields-table {
|
|
|
566 |
min-width: 400px;
|
567 |
width: 100%;
|
568 |
margin-right: 2em;
|
@@ -570,7 +592,7 @@ td.crb-traffic-details div{
|
|
570 |
/*border: 1px solid #CCC;*/
|
571 |
}
|
572 |
.crb-fields-table.crb-top-table > tbody > tr:first-child td{
|
573 |
-
background-color: #
|
574 |
border-color: #CCC;
|
575 |
color: #000;
|
576 |
}
|
@@ -588,8 +610,8 @@ td.crb-traffic-details div{
|
|
588 |
.crb-fields-table td:first-child {
|
589 |
min-width: 150px;
|
590 |
width: 20%;
|
591 |
-
font-weight:
|
592 |
-
color: #
|
593 |
}
|
594 |
.crb-fields-table td:nth-child(2) {
|
595 |
color: #000;
|
@@ -711,13 +733,24 @@ td.crb-traffic-details div{
|
|
711 |
word-break: keep-all;
|
712 |
}
|
713 |
|
714 |
-
.
|
715 |
-
background-color: #
|
716 |
color: #ffffff;
|
717 |
display: inline-block;
|
718 |
padding: 0 5px 0 5px;
|
719 |
-
|
|
|
|
|
720 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
721 |
p.act-url, .act-role{
|
722 |
color: #777;
|
723 |
}
|
@@ -816,16 +849,21 @@ p.act-url{
|
|
816 |
padding-top: 0 !important;
|
817 |
padding-bottom: 0 !important;
|
818 |
}
|
819 |
-
.crb10 span,
|
|
|
820 |
margin-left: -0.7em;
|
821 |
padding-left: 1.1em; /* 0.7 + 0.4 */
|
822 |
padding-right: 1em;
|
|
|
|
|
|
|
823 |
}
|
824 |
-
.crb10 span:first-child,
|
|
|
825 |
display: inline-block;
|
826 |
background-color: #FF5733;
|
827 |
margin-right: 1.5em;
|
828 |
-
line-height: 2;
|
829 |
}
|
830 |
.crb5 {
|
831 |
/*border-left: 4px solid #FF5733;*/
|
@@ -920,8 +958,7 @@ p.act-url{
|
|
920 |
.acl-table td:first-child {
|
921 |
width: 25%;
|
922 |
white-space: pre;
|
923 |
-
font-family: Menlo, Consolas, Monaco, monospace;
|
924 |
-
font-size: 110%;
|
925 |
}
|
926 |
.acl-table td:nth-child(2) {
|
927 |
width: 37%;
|
@@ -958,7 +995,7 @@ p.act-url{
|
|
958 |
}
|
959 |
|
960 |
.crb-acl-hints td:nth-child(3) {
|
961 |
-
font-family: Menlo, Consolas, Monaco, monospace;
|
962 |
}
|
963 |
|
964 |
.crb-acl-hints td {
|
@@ -1000,6 +1037,7 @@ a.nav-tab:last-of-type{
|
|
1000 |
color: #0073aa;
|
1001 |
/*color: rgb(0, 103, 153);*/
|
1002 |
font-weight: 700;
|
|
|
1003 |
}
|
1004 |
.cerber-tabs .nav-tab i{
|
1005 |
font-size: 1.5em;
|
@@ -1086,7 +1124,6 @@ body.wp-cerber_page_cerber-integrity {
|
|
1086 |
#crb-scan-display div div p:first-of-type {
|
1087 |
font-size: 200%;
|
1088 |
line-height: 160%;
|
1089 |
-
/*font-family: Menlo, Consolas, Monaco, monospace;*/
|
1090 |
color: #000;
|
1091 |
margin: 0;
|
1092 |
}
|
@@ -1106,7 +1143,8 @@ body.wp-cerber_page_cerber-integrity {
|
|
1106 |
}
|
1107 |
.crb-scan-info table td:first-child{
|
1108 |
padding-right: 1em;
|
1109 |
-
|
|
|
1110 |
}
|
1111 |
.crb-scan-info table td:last-child{
|
1112 |
color: #000;
|
@@ -1221,7 +1259,8 @@ body.wp-cerber_page_cerber-integrity {
|
|
1221 |
}
|
1222 |
|
1223 |
#crb-browse-files tr.crb-item-file td:nth-child(2) {
|
1224 |
-
font-family: Menlo, Consolas, Monaco, monospace;
|
|
|
1225 |
color: #000;
|
1226 |
/*cursor: pointer;*/
|
1227 |
}
|
@@ -1229,10 +1268,10 @@ body.wp-cerber_page_cerber-integrity {
|
|
1229 |
#crb-browse-files tr.crb-scan-section td {
|
1230 |
padding: 15px 0 15px 10px;
|
1231 |
border-top: 1px dashed #aaa;
|
1232 |
-
font-size:
|
1233 |
}
|
1234 |
#crb-browse-files tr.crb-scan-section td span:first-child {
|
1235 |
-
font-weight:
|
1236 |
color: #333;
|
1237 |
/*margin-right: 0.5em;*/
|
1238 |
}
|
@@ -1571,7 +1610,7 @@ div#whois:hover {
|
|
1571 |
#diagnostic h3 {
|
1572 |
margin-top: 0;
|
1573 |
}
|
1574 |
-
#diagnostic .diag-section {
|
1575 |
background-color: #fafafa;
|
1576 |
border-top: 2px solid #ddd;
|
1577 |
/*width: 90%;
|
@@ -1608,6 +1647,13 @@ div#whois:hover {
|
|
1608 |
width:50%;
|
1609 |
}
|
1610 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1611 |
.crb-plain-table {
|
1612 |
max-height: 440px;
|
1613 |
overflow: auto;
|
@@ -1620,6 +1666,8 @@ div#whois:hover {
|
|
1620 |
border: 1px solid #eee;
|
1621 |
}
|
1622 |
.crb-plain-fcw td:first-of-type {
|
|
|
|
|
1623 |
width: 30%;
|
1624 |
}
|
1625 |
.crb-plain-table td:not(:first-of-type) {
|
@@ -1628,7 +1676,7 @@ div#whois:hover {
|
|
1628 |
.crb-plain-header,
|
1629 |
.crb-plain-fh td:first-of-type {
|
1630 |
color: #000;
|
1631 |
-
font-weight: bold
|
1632 |
}
|
1633 |
|
1634 |
|
@@ -1657,7 +1705,7 @@ div#whois:hover {
|
|
1657 |
font-family: 'Roboto';
|
1658 |
font-style: normal;
|
1659 |
font-weight: 300;
|
1660 |
-
src:
|
1661 |
}
|
1662 |
@font-face {
|
1663 |
font-family: 'Roboto';
|
@@ -1678,6 +1726,20 @@ div#whois:hover {
|
|
1678 |
src: local('Roboto Bold'), local('Roboto-Bold'), url(fonts/roboto/Roboto-Bold.woff) format('woff');
|
1679 |
}
|
1680 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1681 |
@font-face {
|
1682 |
font-family: "cerber-icon";
|
1683 |
src: url('fonts/cerber.eot');
|
@@ -1937,7 +1999,8 @@ table.vtable > tbody > tr > td {
|
|
1937 |
/* Diagnostic Log */
|
1938 |
|
1939 |
#crb-log-viewer pre {
|
1940 |
-
font-family: monospace;
|
|
|
1941 |
white-space: pre-wrap;
|
1942 |
word-wrap: break-word;
|
1943 |
background-color: #fff;
|
@@ -1964,7 +2027,6 @@ table.vtable > tbody > tr > td {
|
|
1964 |
font-weight: bold;
|
1965 |
}
|
1966 |
|
1967 |
-
|
1968 |
/* Switches & Toggle */
|
1969 |
|
1970 |
.crb-switch {
|
9 |
line-height: 26px;
|
10 |
}
|
11 |
|
12 |
+
#crb-admin .wp-list-table td {
|
13 |
+
color: #222;
|
14 |
+
}
|
15 |
+
|
16 |
+
#crb-admin .wp-list-table .row-actions span {
|
17 |
+
white-space: nowrap;
|
18 |
+
}
|
19 |
+
|
20 |
+
#crb-admin .dashicons {
|
21 |
+
line-height: inherit;
|
22 |
+
}
|
23 |
+
|
24 |
/* End of reset */
|
25 |
|
26 |
.crb-display-none {
|
70 |
|
71 |
#crb-admin input.crb-digits {
|
72 |
text-align: center;
|
73 |
+
font-family: 'Roboto Mono', Menlo, Consolas, Monaco, monospace;
|
74 |
+
/*font-size: 12px;*/
|
75 |
}
|
76 |
|
77 |
#crb-admin textarea,
|
86 |
margin: 0 0.5em 0 0;
|
87 |
}
|
88 |
|
|
|
|
|
|
|
|
|
89 |
.crb-main a:focus,
|
90 |
#crb-aside a:focus {
|
91 |
-webkit-box-shadow: none !important;
|
114 |
}
|
115 |
|
116 |
.crb-monospace {
|
117 |
+
font-family: 'Roboto Mono', Menlo, Consolas, Monaco, monospace;
|
118 |
+
font-size: 12px;
|
119 |
+
color: #000;
|
120 |
+
}
|
121 |
+
|
122 |
+
.crb-monospace td {
|
123 |
+
font-size: 12px;
|
124 |
+
color: #000;
|
125 |
}
|
126 |
|
127 |
/* Settings' forms */
|
139 |
}
|
140 |
.crb-settings .form-table th {
|
141 |
min-width: 200px;
|
142 |
+
font-weight: 500;
|
143 |
/*
|
144 |
padding-top: 15px;
|
145 |
vertical-align: middle;*/
|
146 |
}
|
147 |
.crb-settings label.crb-below {
|
148 |
padding-top: 0.5em;
|
149 |
+
font-size: 13px;
|
150 |
+
opacity: 0.9;
|
151 |
}
|
152 |
.crb-settings .form-table input.crb-wide,
|
153 |
.crb-settings .form-table select.crb-wide,
|
436 |
|
437 |
.crb-tab-sessions #ses_started,
|
438 |
.crb-tab-sessions #ses_expires{
|
439 |
+
/*width: 15%;*/
|
440 |
}
|
441 |
|
442 |
.crb-tab-sessions .crb-us-lbl {
|
447 |
color: white;
|
448 |
}
|
449 |
|
450 |
+
.crb-table th {
|
451 |
+
white-space: nowrap;
|
452 |
+
}
|
453 |
.crb-table > tbody > tr:nth-child(even){
|
454 |
background: #f9f9f9
|
455 |
}
|
462 |
.crb-table > tbody > tr.crb-odd{
|
463 |
background: #FFF
|
464 |
}
|
|
|
465 |
.crb-table > tbody > tr > td {
|
466 |
vertical-align: middle;
|
467 |
color: #222;
|
468 |
min-width: 70px;
|
469 |
}
|
470 |
|
471 |
+
.crb_align_right th:not(:first-child),
|
472 |
+
.crb_align_right td:not(:first-child) {
|
473 |
+
text-align: right;
|
474 |
+
}
|
475 |
+
|
476 |
+
.crb_align_left_2 th:nth-child(2),
|
477 |
+
.crb_align_left_2 td:nth-child(2) {
|
478 |
+
text-align: left;
|
479 |
+
}
|
480 |
+
|
481 |
+
.crb-anchor-decorated a {
|
482 |
+
text-decoration: underline;
|
483 |
+
}
|
484 |
+
|
485 |
#crb-traffic td {
|
486 |
vertical-align: top;
|
487 |
}
|
517 |
|
518 |
#crb-traffic .crb-request span {
|
519 |
margin-right: 0.5em;
|
520 |
+
display: inline-block;
|
521 |
+
vertical-align: middle;
|
522 |
+
line-height: 1.2em;
|
523 |
+
padding: 4px 8px;
|
524 |
+
word-break: keep-all;
|
525 |
}
|
526 |
|
527 |
#crb-traffic .crb-toggle .crb-request {
|
538 |
}
|
539 |
|
540 |
td.crb-traffic-details table td:nth-child(2) {
|
541 |
+
font-family: 'Roboto Mono', Menlo, Consolas, Monaco, monospace;
|
542 |
+
font-size: 12px;
|
543 |
}
|
544 |
|
545 |
.crb-traffic-more {
|
546 |
position: relative;
|
547 |
left: -9999em;
|
548 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
549 |
.crb-POST, .crb-ffile{
|
550 |
/*background-color: #616e7b;*/
|
551 |
background-color: #69737d;
|
552 |
color: #fff;
|
|
|
|
|
|
|
553 |
}
|
554 |
.crb-200 {
|
555 |
color: green;
|
559 |
.crb-405{
|
560 |
background-color: #FF5733;
|
561 |
color: #fff;
|
|
|
|
|
|
|
562 |
}
|
563 |
.crb-wp-type-515{
|
564 |
background-color: #7A804A;
|
565 |
color: #fff;
|
|
|
|
|
|
|
566 |
}
|
567 |
.crb-wp-type-520{
|
568 |
background-color: #A00D5C;
|
569 |
color: #fff;
|
|
|
|
|
|
|
570 |
}
|
571 |
+
|
572 |
+
.crb-req-status-500,
|
573 |
+
.crb-req-status-501,
|
574 |
+
.crb-req-status-502{
|
575 |
+
background-color: #51ae43;
|
576 |
+
color: #fff;
|
577 |
+
}
|
578 |
+
|
579 |
.crb-php-error{
|
580 |
background-color: #8892bf;
|
581 |
color: #fff;
|
|
|
|
|
|
|
582 |
}
|
583 |
.crb-above{
|
584 |
background-color: #FFFF55;
|
|
|
|
|
|
|
585 |
}
|
586 |
.crb-fields-table {
|
587 |
+
font-family: "Roboto Mono", Menlo, Consolas, Monaco, monospace;
|
588 |
min-width: 400px;
|
589 |
width: 100%;
|
590 |
margin-right: 2em;
|
592 |
/*border: 1px solid #CCC;*/
|
593 |
}
|
594 |
.crb-fields-table.crb-top-table > tbody > tr:first-child td{
|
595 |
+
background-color: #DDD;
|
596 |
border-color: #CCC;
|
597 |
color: #000;
|
598 |
}
|
610 |
.crb-fields-table td:first-child {
|
611 |
min-width: 150px;
|
612 |
width: 20%;
|
613 |
+
font-weight: 500;
|
614 |
+
color: #333;
|
615 |
}
|
616 |
.crb-fields-table td:nth-child(2) {
|
617 |
color: #000;
|
733 |
word-break: keep-all;
|
734 |
}
|
735 |
|
736 |
+
.crb-log-status{
|
737 |
+
background-color: #777;
|
738 |
color: #ffffff;
|
739 |
display: inline-block;
|
740 |
padding: 0 5px 0 5px;
|
741 |
+
|
742 |
+
line-height: 1.2;
|
743 |
+
padding: 4px 8px;
|
744 |
}
|
745 |
+
|
746 |
+
.crb-status-500 {
|
747 |
+
background-color: #51ae43;
|
748 |
+
}
|
749 |
+
|
750 |
+
.crb-status-14 {
|
751 |
+
background-color: #000;
|
752 |
+
}
|
753 |
+
|
754 |
p.act-url, .act-role{
|
755 |
color: #777;
|
756 |
}
|
849 |
padding-top: 0 !important;
|
850 |
padding-bottom: 0 !important;
|
851 |
}
|
852 |
+
.crb10 span,
|
853 |
+
.crb11 span {
|
854 |
margin-left: -0.7em;
|
855 |
padding-left: 1.1em; /* 0.7 + 0.4 */
|
856 |
padding-right: 1em;
|
857 |
+
|
858 |
+
line-height: 1.2;
|
859 |
+
padding: 4px 8px;
|
860 |
}
|
861 |
+
.crb10 span:first-child,
|
862 |
+
.crb11 span:first-child {
|
863 |
display: inline-block;
|
864 |
background-color: #FF5733;
|
865 |
margin-right: 1.5em;
|
866 |
+
line-height: 1.2;
|
867 |
}
|
868 |
.crb5 {
|
869 |
/*border-left: 4px solid #FF5733;*/
|
958 |
.acl-table td:first-child {
|
959 |
width: 25%;
|
960 |
white-space: pre;
|
961 |
+
font-family: 'Roboto Mono', Menlo, Consolas, Monaco, monospace;
|
|
|
962 |
}
|
963 |
.acl-table td:nth-child(2) {
|
964 |
width: 37%;
|
995 |
}
|
996 |
|
997 |
.crb-acl-hints td:nth-child(3) {
|
998 |
+
font-family: 'Roboto Mono', Menlo, Consolas, Monaco, monospace;
|
999 |
}
|
1000 |
|
1001 |
.crb-acl-hints td {
|
1037 |
color: #0073aa;
|
1038 |
/*color: rgb(0, 103, 153);*/
|
1039 |
font-weight: 700;
|
1040 |
+
font-weight: 500;
|
1041 |
}
|
1042 |
.cerber-tabs .nav-tab i{
|
1043 |
font-size: 1.5em;
|
1124 |
#crb-scan-display div div p:first-of-type {
|
1125 |
font-size: 200%;
|
1126 |
line-height: 160%;
|
|
|
1127 |
color: #000;
|
1128 |
margin: 0;
|
1129 |
}
|
1143 |
}
|
1144 |
.crb-scan-info table td:first-child{
|
1145 |
padding-right: 1em;
|
1146 |
+
vertical-align: top;
|
1147 |
+
color: #444;
|
1148 |
}
|
1149 |
.crb-scan-info table td:last-child{
|
1150 |
color: #000;
|
1259 |
}
|
1260 |
|
1261 |
#crb-browse-files tr.crb-item-file td:nth-child(2) {
|
1262 |
+
font-family: "Roboto Mono", Menlo, Consolas, Monaco, monospace;
|
1263 |
+
font-size: 12px;
|
1264 |
color: #000;
|
1265 |
/*cursor: pointer;*/
|
1266 |
}
|
1268 |
#crb-browse-files tr.crb-scan-section td {
|
1269 |
padding: 15px 0 15px 10px;
|
1270 |
border-top: 1px dashed #aaa;
|
1271 |
+
font-size: 115%;
|
1272 |
}
|
1273 |
#crb-browse-files tr.crb-scan-section td span:first-child {
|
1274 |
+
font-weight: 500;
|
1275 |
color: #333;
|
1276 |
/*margin-right: 0.5em;*/
|
1277 |
}
|
1610 |
#diagnostic h3 {
|
1611 |
margin-top: 0;
|
1612 |
}
|
1613 |
+
#diagnostic .crb-diag-section {
|
1614 |
background-color: #fafafa;
|
1615 |
border-top: 2px solid #ddd;
|
1616 |
/*width: 90%;
|
1647 |
width:50%;
|
1648 |
}
|
1649 |
|
1650 |
+
.crb-diag-inner,
|
1651 |
+
.crb-diag-inner p {
|
1652 |
+
font-family: 'Roboto Mono', Menlo, Consolas, Monaco, monospace;
|
1653 |
+
font-size: 12px;
|
1654 |
+
color: #000;
|
1655 |
+
}
|
1656 |
+
|
1657 |
.crb-plain-table {
|
1658 |
max-height: 440px;
|
1659 |
overflow: auto;
|
1666 |
border: 1px solid #eee;
|
1667 |
}
|
1668 |
.crb-plain-fcw td:first-of-type {
|
1669 |
+
font-weight: 500;
|
1670 |
+
color: #222;
|
1671 |
width: 30%;
|
1672 |
}
|
1673 |
.crb-plain-table td:not(:first-of-type) {
|
1676 |
.crb-plain-header,
|
1677 |
.crb-plain-fh td:first-of-type {
|
1678 |
color: #000;
|
1679 |
+
/*font-weight: bold;*/
|
1680 |
}
|
1681 |
|
1682 |
|
1705 |
font-family: 'Roboto';
|
1706 |
font-style: normal;
|
1707 |
font-weight: 300;
|
1708 |
+
src: url(fonts/roboto/Roboto-Light.woff) format('woff');
|
1709 |
}
|
1710 |
@font-face {
|
1711 |
font-family: 'Roboto';
|
1726 |
src: local('Roboto Bold'), local('Roboto-Bold'), url(fonts/roboto/Roboto-Bold.woff) format('woff');
|
1727 |
}
|
1728 |
|
1729 |
+
@font-face {
|
1730 |
+
font-family: 'Roboto Mono';
|
1731 |
+
font-style: normal;
|
1732 |
+
font-weight: 400;
|
1733 |
+
src: url(fonts/roboto/Roboto-Mono_400.woff2) format('woff2');
|
1734 |
+
}
|
1735 |
+
|
1736 |
+
@font-face {
|
1737 |
+
font-family: 'Roboto Mono';
|
1738 |
+
font-style: normal;
|
1739 |
+
font-weight: 500;
|
1740 |
+
src: url(fonts/roboto/Roboto-Mono_500.woff2) format('woff2');
|
1741 |
+
}
|
1742 |
+
|
1743 |
@font-face {
|
1744 |
font-family: "cerber-icon";
|
1745 |
src: url('fonts/cerber.eot');
|
1999 |
/* Diagnostic Log */
|
2000 |
|
2001 |
#crb-log-viewer pre {
|
2002 |
+
font-family: 'Roboto Mono', Menlo, Consolas, Monaco, monospace;
|
2003 |
+
font-size: 12px;
|
2004 |
white-space: pre-wrap;
|
2005 |
word-wrap: break-word;
|
2006 |
background-color: #fff;
|
2027 |
font-weight: bold;
|
2028 |
}
|
2029 |
|
|
|
2030 |
/* Switches & Toggle */
|
2031 |
|
2032 |
.crb-switch {
|
assets/admin.js
CHANGED
@@ -290,7 +290,6 @@ jQuery(document).ready(function ($) {
|
|
290 |
event.preventDefault();
|
291 |
});
|
292 |
|
293 |
-
|
294 |
// GEO
|
295 |
|
296 |
$("form#crb-geo-rules .crb-geo-switcher").change(function () {
|
290 |
event.preventDefault();
|
291 |
});
|
292 |
|
|
|
293 |
// GEO
|
294 |
|
295 |
$("form#crb-geo-rules .crb-geo-switcher").change(function () {
|
assets/fonts/roboto/Roboto-Mono_400.woff2
ADDED
Binary file
|
assets/fonts/roboto/Roboto-Mono_500.woff2
ADDED
Binary file
|
assets/scanner.js
CHANGED
@@ -402,12 +402,12 @@ jQuery(document).ready(function ($) {
|
|
402 |
|
403 |
if (scanner_data.errors && scanner_data.errors.length) {
|
404 |
scanner_data.errors.forEach(function (item, index) {
|
405 |
-
console.error('WP CERBER SCANNER
|
406 |
});
|
407 |
}
|
408 |
if (crb_response.console_log && crb_response.console_log.length) {
|
409 |
crb_response.console_log.forEach(function (item) {
|
410 |
-
console.log('WP CERBER: ' + item);
|
411 |
});
|
412 |
}
|
413 |
}
|
402 |
|
403 |
if (scanner_data.errors && scanner_data.errors.length) {
|
404 |
scanner_data.errors.forEach(function (item, index) {
|
405 |
+
console.error('WP CERBER SCANNER: ' + item);
|
406 |
});
|
407 |
}
|
408 |
if (crb_response.console_log && crb_response.console_log.length) {
|
409 |
crb_response.console_log.forEach(function (item) {
|
410 |
+
console.log('WP CERBER SCANNER: ' + item);
|
411 |
});
|
412 |
}
|
413 |
}
|
assets/ui-stack.css
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#ui_page_overlay {
|
2 |
+
position: fixed;
|
3 |
+
display: none;
|
4 |
+
width: 100%;
|
5 |
+
height: 100%;
|
6 |
+
top: 0;
|
7 |
+
left: 0;
|
8 |
+
right: 0;
|
9 |
+
bottom: 0;
|
10 |
+
background-color: rgba(255, 255, 255, 0.6);
|
11 |
+
z-index: 2;
|
12 |
+
}
|
13 |
+
|
14 |
+
.uis_page_loader {
|
15 |
+
border: 8px solid #52aad1;
|
16 |
+
border-top: 8px solid #0073aa;
|
17 |
+
opacity: 0.9;
|
18 |
+
|
19 |
+
border-radius: 50%;
|
20 |
+
width: 70px;
|
21 |
+
height: 70px;
|
22 |
+
-webkit-animation: spin 1.5s linear infinite; /* Safari */
|
23 |
+
animation: spin 1.5s linear infinite;
|
24 |
+
|
25 |
+
/*position: absolute;
|
26 |
+
top: 30%;
|
27 |
+
left: 35%;*/
|
28 |
+
margin: 100px auto;
|
29 |
+
|
30 |
+
color: white;
|
31 |
+
transform: translate(-50%,-50%);
|
32 |
+
-ms-transform: translate(-50%,-50%);
|
33 |
+
}
|
34 |
+
/* Safari */
|
35 |
+
@-webkit-keyframes spin {
|
36 |
+
0% { -webkit-transform: rotate(0deg); }
|
37 |
+
100% { -webkit-transform: rotate(360deg); }
|
38 |
+
}
|
39 |
+
@keyframes spin {
|
40 |
+
0% { transform: rotate(0deg); }
|
41 |
+
100% { transform: rotate(360deg); }
|
42 |
+
}
|
assets/ui-stack.js
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function ($) {
|
2 |
+
|
3 |
+
// Async content loading -----------------------------------------------------
|
4 |
+
|
5 |
+
let crb_async_content_areas = $('.crb_async_content');
|
6 |
+
|
7 |
+
if (!__is_empty(crb_async_content_areas)) {
|
8 |
+
uis_async_loader(crb_async_content_areas);
|
9 |
+
}
|
10 |
+
|
11 |
+
function uis_async_loader(content_areas) {
|
12 |
+
(async () => {
|
13 |
+
let total_requests = 0;
|
14 |
+
//for(element of [1,2,3]){
|
15 |
+
for (element of content_areas) {
|
16 |
+
let obj = $(element);
|
17 |
+
uis_overlay_loader_on(obj);
|
18 |
+
|
19 |
+
total_requests += await uis_async_load_content(obj);
|
20 |
+
|
21 |
+
uis_overlay_loader_off(obj);
|
22 |
+
if (total_requests > 100) {
|
23 |
+
alert('Loading is aborted: the limit on the number of AJAX requests has reached.');
|
24 |
+
break;
|
25 |
+
}
|
26 |
+
}
|
27 |
+
})();
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Load content for a single object. Makes several requests if necessary.
|
32 |
+
*
|
33 |
+
* @param jquery_object
|
34 |
+
* @returns {Promise<number>}
|
35 |
+
*/
|
36 |
+
async function uis_async_load_content(jquery_object) {
|
37 |
+
let crb_done = false;
|
38 |
+
let request_num = 0;
|
39 |
+
|
40 |
+
do {
|
41 |
+
crb_done = await uis_async_request(jquery_object, request_num);
|
42 |
+
request_num++;
|
43 |
+
} while (!crb_done);
|
44 |
+
|
45 |
+
return request_num;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Make AJAX call with HTML data attributes that are used as HTTP request fields
|
50 |
+
*
|
51 |
+
* @param jquery_object
|
52 |
+
* @param request_num
|
53 |
+
* @returns {Promise<boolean>}
|
54 |
+
*/
|
55 |
+
async function uis_async_request(jquery_object, request_num) {
|
56 |
+
let crb_done = true;
|
57 |
+
|
58 |
+
let request_fields = {
|
59 |
+
action: 'cerber_ajax',
|
60 |
+
ajax_nonce: crb_ajax_nonce,
|
61 |
+
request: request_num
|
62 |
+
};
|
63 |
+
|
64 |
+
let data_fields = jquery_object.data();
|
65 |
+
if (__is_empty(data_fields)) {
|
66 |
+
return true;
|
67 |
+
}
|
68 |
+
|
69 |
+
request_fields = {...data_fields, ...request_fields};
|
70 |
+
|
71 |
+
await $.ajax({
|
72 |
+
dataType: "json",
|
73 |
+
url: ajaxurl,
|
74 |
+
data: request_fields,
|
75 |
+
beforeSend: function (xhr) {
|
76 |
+
}
|
77 |
+
})
|
78 |
+
.done(function (server_response, textStatus, jqXHR) {
|
79 |
+
if (!__is_empty(server_response.continue)) {
|
80 |
+
crb_done = false;
|
81 |
+
}
|
82 |
+
if (!__is_empty(server_response.html)) {
|
83 |
+
jquery_object.html(server_response.html);
|
84 |
+
}
|
85 |
+
if (!__is_empty(server_response.error)) {
|
86 |
+
alert(server_response.error);
|
87 |
+
crb_done = true;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
)
|
91 |
+
.fail(function (jqXHR, textStatus, errorThrown) {
|
92 |
+
let err = errorThrown + ' ' + jqXHR.status;
|
93 |
+
//alert(err); // Ctrl + F5 also fires fail event
|
94 |
+
console.error('Server Error: ' + err);
|
95 |
+
})
|
96 |
+
.always(function () {
|
97 |
+
})
|
98 |
+
|
99 |
+
return crb_done;
|
100 |
+
}
|
101 |
+
|
102 |
+
function uis_overlay_loader_on(area) {
|
103 |
+
let uis_ajax_loader = '<div class="uis_page_loader"></div>';
|
104 |
+
area.append(uis_ajax_loader);
|
105 |
+
$('.uis_page_loader').show();
|
106 |
+
}
|
107 |
+
|
108 |
+
function uis_overlay_loader_off(area) {
|
109 |
+
area.find('.uis_page_loader').remove();
|
110 |
+
}
|
111 |
+
});
|
112 |
+
|
113 |
+
function __is_empty(thing) {
|
114 |
+
if (typeof thing == 'undefined') {
|
115 |
+
return true;
|
116 |
+
} else if (thing.length === 0) {
|
117 |
+
return true;
|
118 |
+
}
|
119 |
+
|
120 |
+
return false;
|
121 |
+
}
|
cerber-2fa.php
CHANGED
@@ -508,7 +508,7 @@ final class CRB_2FA {
|
|
508 |
$ds[] = 'Location: ' . cerber_country_name( $c ) . ' (' . $c . ')';
|
509 |
}
|
510 |
$ds[] = 'Browser: ' . substr( strip_tags( crb_array_get( $_SERVER, 'HTTP_USER_AGENT', 'Not set' ) ), 0, 1000 );
|
511 |
-
$ds[] = 'Date: ' . cerber_date( time() );
|
512 |
|
513 |
$body[] = '';
|
514 |
$body[] = __( 'Here are the details of the sign-in attempt', 'wp-cerber' );
|
508 |
$ds[] = 'Location: ' . cerber_country_name( $c ) . ' (' . $c . ')';
|
509 |
}
|
510 |
$ds[] = 'Browser: ' . substr( strip_tags( crb_array_get( $_SERVER, 'HTTP_USER_AGENT', 'Not set' ) ), 0, 1000 );
|
511 |
+
$ds[] = 'Date: ' . cerber_date( time(), false );
|
512 |
|
513 |
$body[] = '';
|
514 |
$body[] = __( 'Here are the details of the sign-in attempt', 'wp-cerber' );
|
cerber-ds.php
CHANGED
@@ -66,7 +66,7 @@ final class CRB_DS {
|
|
66 |
|
67 |
self::update_user_shadow( get_current_user_id(), null, null, self::is_meta_preserve() );
|
68 |
|
69 |
-
cerber_bg_task_add(
|
70 |
|
71 |
break;
|
72 |
|
@@ -370,7 +370,7 @@ final class CRB_DS {
|
|
370 |
}
|
371 |
|
372 |
/**
|
373 |
-
* Protect DB from an
|
374 |
*
|
375 |
* @param $user_id
|
376 |
*
|
@@ -823,19 +823,19 @@ final class CRB_DS {
|
|
823 |
}
|
824 |
|
825 |
static function get_status() {
|
826 |
-
$ret =
|
827 |
|
828 |
if ( crb_get_settings( 'ds_4acc' ) ) {
|
829 |
self::get_type_status( 1, $msg );
|
830 |
-
$ret
|
831 |
}
|
832 |
if ( crb_get_settings( 'ds_4roles' ) ) {
|
833 |
self::get_type_status( 2, $msg );
|
834 |
-
$ret
|
835 |
}
|
836 |
if ( crb_get_settings( 'ds_4opts' ) ) {
|
837 |
self::get_type_status( 3, $msg );
|
838 |
-
$ret
|
839 |
}
|
840 |
|
841 |
return $ret;
|
66 |
|
67 |
self::update_user_shadow( get_current_user_id(), null, null, self::is_meta_preserve() );
|
68 |
|
69 |
+
cerber_bg_task_add( '_crb_ds_background', array( 'exec_until' => 'done' ) );
|
70 |
|
71 |
break;
|
72 |
|
370 |
}
|
371 |
|
372 |
/**
|
373 |
+
* Protect DB from an unauthorized user creation
|
374 |
*
|
375 |
* @param $user_id
|
376 |
*
|
823 |
}
|
824 |
|
825 |
static function get_status() {
|
826 |
+
$ret = array();
|
827 |
|
828 |
if ( crb_get_settings( 'ds_4acc' ) ) {
|
829 |
self::get_type_status( 1, $msg );
|
830 |
+
$ret [] = 'Enabled for user accounts. ' . $msg;
|
831 |
}
|
832 |
if ( crb_get_settings( 'ds_4roles' ) ) {
|
833 |
self::get_type_status( 2, $msg );
|
834 |
+
$ret [] = 'Enabled for user roles. ' . $msg;
|
835 |
}
|
836 |
if ( crb_get_settings( 'ds_4opts' ) ) {
|
837 |
self::get_type_status( 3, $msg );
|
838 |
+
$ret [] = 'Enabled for site settings. ' . $msg;
|
839 |
}
|
840 |
|
841 |
return $ret;
|
cerber-lab.php
CHANGED
@@ -217,10 +217,10 @@ function lab_api_send_request( $workload = array(), $payload_key = null ) {
|
|
217 |
*
|
218 |
* @return array|bool The response of a node on the success request otherwise false on any error
|
219 |
*/
|
220 |
-
function lab_send_request($request, $node_id = null, $scheme = null) {
|
221 |
global $node_delay;
|
222 |
|
223 |
-
$node = lab_get_node($node_id);
|
224 |
if ( ! $scheme ) {
|
225 |
if ( crb_get_settings( 'cerberproto' ) ) {
|
226 |
$scheme = 'https';
|
@@ -229,7 +229,7 @@ function lab_send_request($request, $node_id = null, $scheme = null) {
|
|
229 |
$scheme = 'http';
|
230 |
}
|
231 |
}
|
232 |
-
elseif ($scheme != 'http' || $scheme != 'https') {
|
233 |
$scheme = 'https';
|
234 |
}
|
235 |
|
@@ -237,17 +237,17 @@ function lab_send_request($request, $node_id = null, $scheme = null) {
|
|
237 |
$body['container'] = $request;
|
238 |
$body['nodes'] = lab_get_nodes();
|
239 |
|
240 |
-
$request_body = json_encode($body);
|
241 |
-
if (JSON_ERROR_NONE != json_last_error()) {
|
242 |
//'Unable to encode request: '.json_last_error_msg(), array(__FUNCTION__,__LINE__));
|
243 |
return false;
|
244 |
}
|
245 |
|
246 |
$headers = array(
|
247 |
-
'Host:'
|
248 |
'Content-Type: application/json',
|
249 |
'Accept: application/json',
|
250 |
-
'Cerber: '.CERBER_VER,
|
251 |
/* 'Authorization: Bearer ' . $fields['key']*/
|
252 |
);
|
253 |
|
@@ -272,8 +272,8 @@ function lab_send_request($request, $node_id = null, $scheme = null) {
|
|
272 |
) );
|
273 |
|
274 |
$start = microtime( true );
|
275 |
-
$data
|
276 |
-
$stop
|
277 |
|
278 |
$node_delay = $stop - $start;
|
279 |
|
@@ -282,15 +282,13 @@ function lab_send_request($request, $node_id = null, $scheme = null) {
|
|
282 |
}
|
283 |
else {
|
284 |
$response['status'] = 0;
|
285 |
-
$code
|
286 |
-
$response['error']
|
287 |
//if (!$data) // curl_error($curl) . curl_errno($curl) );
|
288 |
}
|
289 |
|
290 |
curl_close( $curl );
|
291 |
|
292 |
-
//$response = lab_parse_response( $data );
|
293 |
-
|
294 |
lab_update_node_last( $node[0], array(
|
295 |
$node_delay,
|
296 |
$response['status'],
|
@@ -312,7 +310,7 @@ function lab_send_request($request, $node_id = null, $scheme = null) {
|
|
312 |
*
|
313 |
* @param $response
|
314 |
*
|
315 |
-
* @return array
|
316 |
*/
|
317 |
function lab_parse_response( $response ) {
|
318 |
$ret = array( 'status' => 1, 'error' => false );
|
@@ -321,7 +319,7 @@ function lab_parse_response( $response ) {
|
|
321 |
$ret = json_decode( $response, true );
|
322 |
if ( JSON_ERROR_NONE != json_last_error() ) {
|
323 |
$ret['status'] = 0;
|
324 |
-
$ret['error']
|
325 |
}
|
326 |
// Is everything is OK?
|
327 |
if ( empty( $ret['key'] ) || ! empty( $ret['error'] ) ) {
|
@@ -330,7 +328,7 @@ function lab_parse_response( $response ) {
|
|
330 |
}
|
331 |
else {
|
332 |
$ret['status'] = 0;
|
333 |
-
$ret['error']
|
334 |
}
|
335 |
|
336 |
if ( ! isset( $ret['error'] ) ) {
|
@@ -344,17 +342,23 @@ function lab_parse_response( $response ) {
|
|
344 |
* Return "the best" (closest) node if $node_id is not specified
|
345 |
*
|
346 |
* @param $node_id integer node ID
|
|
|
347 |
* @return array first element is ID of closest node, second is an IP address
|
348 |
*/
|
349 |
-
function lab_get_node($node_id = null){
|
350 |
|
351 |
-
$node_id = absint($node_id);
|
352 |
-
|
353 |
-
|
|
|
|
|
|
|
|
|
|
|
354 |
|
355 |
$nodes = lab_get_nodes();
|
356 |
|
357 |
-
if (
|
358 |
if ( $nodes && ! empty( $nodes['best'] ) ) {
|
359 |
$best_id = $nodes['best'];
|
360 |
if ( ! $nodes['nodes'][ $best_id ]['last'][1] ) { // this node was not active at the last request
|
@@ -364,7 +368,9 @@ function lab_get_node($node_id = null){
|
|
364 |
}
|
365 |
}
|
366 |
|
367 |
-
if (
|
|
|
|
|
368 |
|
369 |
$name = 'node' . $best_id . '.cerberlab.net';
|
370 |
|
@@ -379,7 +385,7 @@ function lab_get_node($node_id = null){
|
|
379 |
$host = @gethostbyname( $name );
|
380 |
}
|
381 |
|
382 |
-
return array($best_id, $host, $name);
|
383 |
}
|
384 |
|
385 |
/**
|
@@ -398,21 +404,21 @@ function lab_check_nodes( $force = false, $kick_dns = false ) {
|
|
398 |
}
|
399 |
|
400 |
$nodes['nodes'] = array(); // clean up before testing
|
401 |
-
|
402 |
cerber_update_set( '_cerberlab_', $nodes );
|
403 |
|
404 |
for ( $i = 1; $i <= LAB_NODE_MAX; $i ++ ) {
|
405 |
if ( $kick_dns ) {
|
406 |
@gethostbyname( 'node' . $i . '.cerberlab.net' );
|
407 |
}
|
|
|
408 |
lab_send_request( array( 'test' => 'test', 'key' => 1 ), $i );
|
409 |
}
|
410 |
|
411 |
-
$nodes
|
412 |
-
$nodes['best']
|
413 |
$nodes['last_check'] = time();
|
414 |
|
415 |
-
//update_site_option( '_cerberlab_', $nodes );
|
416 |
cerber_update_set( '_cerberlab_', $nodes );
|
417 |
|
418 |
return $nodes['best'];
|
@@ -423,15 +429,20 @@ function lab_check_nodes( $force = false, $kick_dns = false ) {
|
|
423 |
*
|
424 |
* @param array $nodes
|
425 |
*
|
426 |
-
* @return int
|
427 |
*/
|
428 |
function lab_best_node( $nodes = array() ) {
|
|
|
|
|
|
|
|
|
429 |
$active_nodes = array();
|
430 |
foreach ( $nodes as $id => $data ) {
|
431 |
if ( $data['last']['1'] ) { // only active nodes must be in the list
|
432 |
$active_nodes[ $id ] = $data['last']['0'];
|
433 |
}
|
434 |
}
|
|
|
435 |
if ( $active_nodes ) {
|
436 |
asort( $active_nodes );
|
437 |
reset( $active_nodes );
|
@@ -485,6 +496,7 @@ function lab_status() {
|
|
485 |
}
|
486 |
|
487 |
$tb = array();
|
|
|
488 |
|
489 |
foreach ( $nodes['nodes'] as $id => $node ) {
|
490 |
$delay = round( 1000 * $node['last'][0] ) . ' ms';
|
217 |
*
|
218 |
* @return array|bool The response of a node on the success request otherwise false on any error
|
219 |
*/
|
220 |
+
function lab_send_request( $request, $node_id = null, $scheme = null ) {
|
221 |
global $node_delay;
|
222 |
|
223 |
+
$node = lab_get_node( $node_id );
|
224 |
if ( ! $scheme ) {
|
225 |
if ( crb_get_settings( 'cerberproto' ) ) {
|
226 |
$scheme = 'https';
|
229 |
$scheme = 'http';
|
230 |
}
|
231 |
}
|
232 |
+
elseif ( $scheme != 'http' || $scheme != 'https' ) {
|
233 |
$scheme = 'https';
|
234 |
}
|
235 |
|
237 |
$body['container'] = $request;
|
238 |
$body['nodes'] = lab_get_nodes();
|
239 |
|
240 |
+
$request_body = json_encode( $body );
|
241 |
+
if ( JSON_ERROR_NONE != json_last_error() ) {
|
242 |
//'Unable to encode request: '.json_last_error_msg(), array(__FUNCTION__,__LINE__));
|
243 |
return false;
|
244 |
}
|
245 |
|
246 |
$headers = array(
|
247 |
+
'Host:' . $node[2],
|
248 |
'Content-Type: application/json',
|
249 |
'Accept: application/json',
|
250 |
+
'Cerber: ' . CERBER_VER,
|
251 |
/* 'Authorization: Bearer ' . $fields['key']*/
|
252 |
);
|
253 |
|
272 |
) );
|
273 |
|
274 |
$start = microtime( true );
|
275 |
+
$data = @curl_exec( $curl );
|
276 |
+
$stop = microtime( true );
|
277 |
|
278 |
$node_delay = $stop - $start;
|
279 |
|
282 |
}
|
283 |
else {
|
284 |
$response['status'] = 0;
|
285 |
+
$code = intval( curl_getinfo( $curl, CURLINFO_HTTP_CODE ) );
|
286 |
+
$response['error'] = 'No connection (' . $code . ')';
|
287 |
//if (!$data) // curl_error($curl) . curl_errno($curl) );
|
288 |
}
|
289 |
|
290 |
curl_close( $curl );
|
291 |
|
|
|
|
|
292 |
lab_update_node_last( $node[0], array(
|
293 |
$node_delay,
|
294 |
$response['status'],
|
310 |
*
|
311 |
* @param $response
|
312 |
*
|
313 |
+
* @return array
|
314 |
*/
|
315 |
function lab_parse_response( $response ) {
|
316 |
$ret = array( 'status' => 1, 'error' => false );
|
319 |
$ret = json_decode( $response, true );
|
320 |
if ( JSON_ERROR_NONE != json_last_error() ) {
|
321 |
$ret['status'] = 0;
|
322 |
+
$ret['error'] = 'JSON ERROR: ' . json_last_error_msg();
|
323 |
}
|
324 |
// Is everything is OK?
|
325 |
if ( empty( $ret['key'] ) || ! empty( $ret['error'] ) ) {
|
328 |
}
|
329 |
else {
|
330 |
$ret['status'] = 0;
|
331 |
+
$ret['error'] = 'No node answer';
|
332 |
}
|
333 |
|
334 |
if ( ! isset( $ret['error'] ) ) {
|
342 |
* Return "the best" (closest) node if $node_id is not specified
|
343 |
*
|
344 |
* @param $node_id integer node ID
|
345 |
+
*
|
346 |
* @return array first element is ID of closest node, second is an IP address
|
347 |
*/
|
348 |
+
function lab_get_node( $node_id = null ) {
|
349 |
|
350 |
+
$node_id = absint( $node_id );
|
351 |
+
|
352 |
+
if ( $node_id ) {
|
353 |
+
$best_id = $node_id;
|
354 |
+
}
|
355 |
+
else {
|
356 |
+
$best_id = null;
|
357 |
+
}
|
358 |
|
359 |
$nodes = lab_get_nodes();
|
360 |
|
361 |
+
if ( ! $best_id ) {
|
362 |
if ( $nodes && ! empty( $nodes['best'] ) ) {
|
363 |
$best_id = $nodes['best'];
|
364 |
if ( ! $nodes['nodes'][ $best_id ]['last'][1] ) { // this node was not active at the last request
|
368 |
}
|
369 |
}
|
370 |
|
371 |
+
if ( ! $best_id || $best_id > LAB_NODE_MAX ) {
|
372 |
+
$best_id = rand( 1, LAB_NODE_MAX );
|
373 |
+
}
|
374 |
|
375 |
$name = 'node' . $best_id . '.cerberlab.net';
|
376 |
|
385 |
$host = @gethostbyname( $name );
|
386 |
}
|
387 |
|
388 |
+
return array( $best_id, $host, $name );
|
389 |
}
|
390 |
|
391 |
/**
|
404 |
}
|
405 |
|
406 |
$nodes['nodes'] = array(); // clean up before testing
|
407 |
+
|
408 |
cerber_update_set( '_cerberlab_', $nodes );
|
409 |
|
410 |
for ( $i = 1; $i <= LAB_NODE_MAX; $i ++ ) {
|
411 |
if ( $kick_dns ) {
|
412 |
@gethostbyname( 'node' . $i . '.cerberlab.net' );
|
413 |
}
|
414 |
+
|
415 |
lab_send_request( array( 'test' => 'test', 'key' => 1 ), $i );
|
416 |
}
|
417 |
|
418 |
+
$nodes = lab_get_nodes();
|
419 |
+
$nodes['best'] = lab_best_node( $nodes['nodes'] );
|
420 |
$nodes['last_check'] = time();
|
421 |
|
|
|
422 |
cerber_update_set( '_cerberlab_', $nodes );
|
423 |
|
424 |
return $nodes['best'];
|
429 |
*
|
430 |
* @param array $nodes
|
431 |
*
|
432 |
+
* @return int the ID of a node, 0 if no node available
|
433 |
*/
|
434 |
function lab_best_node( $nodes = array() ) {
|
435 |
+
if ( empty( $nodes ) ) {
|
436 |
+
return 0;
|
437 |
+
}
|
438 |
+
|
439 |
$active_nodes = array();
|
440 |
foreach ( $nodes as $id => $data ) {
|
441 |
if ( $data['last']['1'] ) { // only active nodes must be in the list
|
442 |
$active_nodes[ $id ] = $data['last']['0'];
|
443 |
}
|
444 |
}
|
445 |
+
|
446 |
if ( $active_nodes ) {
|
447 |
asort( $active_nodes );
|
448 |
reset( $active_nodes );
|
496 |
}
|
497 |
|
498 |
$tb = array();
|
499 |
+
ksort( $nodes['nodes'] );
|
500 |
|
501 |
foreach ( $nodes['nodes'] as $id => $node ) {
|
502 |
$delay = round( 1000 * $node['last'][0] ) . ' ms';
|
cerber-load.php
CHANGED
@@ -78,19 +78,21 @@ define( 'CERBER_AGGRESSIVE', 1 );
|
|
78 |
define( 'CRB_CNTX_SAFE', 1 );
|
79 |
define( 'CRB_CNTX_NEXUS', 2 );
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
require_once(
|
84 |
-
|
85 |
-
require_once(
|
86 |
-
|
87 |
-
require_once(
|
88 |
-
require_once(
|
89 |
-
require_once( dirname( __FILE__ ) . '/
|
90 |
-
require_once(
|
91 |
-
require_once(
|
92 |
-
require_once(
|
93 |
-
require_once(
|
|
|
|
|
94 |
|
95 |
nexus_init();
|
96 |
|
@@ -765,7 +767,6 @@ function cerber_init() {
|
|
765 |
}
|
766 |
|
767 |
// Redirection control: no default aliases for redirections
|
768 |
-
//if ( crb_get_settings( 'noredirect' ) ) {
|
769 |
if ( cerber_no_redirect() ) {
|
770 |
remove_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
|
771 |
}
|
@@ -808,7 +809,7 @@ add_action( 'plugins_loaded', function () {
|
|
808 |
|
809 |
cerber_inspect_uploads(); // Uploads in the dashboard
|
810 |
|
811 |
-
|
812 |
|
813 |
if ( ! wp_next_scheduled( 'cerber_bg_launcher' ) ) {
|
814 |
wp_schedule_event( time(), 'crb_five', 'cerber_bg_launcher' );
|
@@ -827,6 +828,7 @@ function cerber_load_admin_code() {
|
|
827 |
require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
|
828 |
|
829 |
require_once( dirname( __FILE__ ) . '/admin/cerber-settings.php' );
|
|
|
830 |
require_once( dirname( __FILE__ ) . '/cerber-users.php' );
|
831 |
require_once( dirname( __FILE__ ) . '/dashboard.php' );
|
832 |
//require_once( dirname( __FILE__ ) . '/cerber-maintenance.php' ); // @since 8.5.1 moved to Nexus php files because it requires PHP 5.6
|
@@ -1148,7 +1150,7 @@ function cerber_user_login( $login, $user ) {
|
|
1148 |
$fa = CRB_2FA::enforce( $user_login, $user );
|
1149 |
|
1150 |
if ( is_wp_error( $fa ) ) {
|
1151 |
-
|
1152 |
}
|
1153 |
|
1154 |
cerber_login_history( $user->ID );
|
@@ -1622,7 +1624,7 @@ function cerber_is_email_permited( $email ) {
|
|
1622 |
}
|
1623 |
|
1624 |
foreach ( $list as $item ) {
|
1625 |
-
if (
|
1626 |
$pattern = $item . 'i'; // we permit to specify any REGEX
|
1627 |
if ( @preg_match( $pattern, $email ) ) {
|
1628 |
return $ret;
|
@@ -1675,7 +1677,7 @@ function crb_is_reg_limit_reached() {
|
|
1675 |
return false;
|
1676 |
}
|
1677 |
|
1678 |
-
//
|
1679 |
add_filter( 'registration_errors', function ( $errors, $sanitized_user_login, $user_email ) {
|
1680 |
|
1681 |
$result = cerber_is_registration_prohibited( $sanitized_user_login, $user_email );
|
@@ -1688,14 +1690,28 @@ add_filter( 'registration_errors', function ( $errors, $sanitized_user_login, $u
|
|
1688 |
}, 10, 3 );
|
1689 |
|
1690 |
// Fires in wp_insert_user()
|
1691 |
-
add_filter( 'pre_user_login', function ( $login ) {
|
1692 |
|
1693 |
if ( ! is_admin() && cerber_is_registration_prohibited( $login ) ) {
|
1694 |
return null;
|
1695 |
}
|
1696 |
|
1697 |
return $login;
|
1698 |
-
}, PHP_INT_MAX )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1699 |
|
1700 |
// Validation for MU and BuddyPress
|
1701 |
add_filter( 'wpmu_validate_user_signup', function ( $signup_data ) {
|
@@ -1971,7 +1987,7 @@ add_action( 'init', function () {
|
|
1971 |
*
|
1972 |
*/
|
1973 |
function cerber_access_control() {
|
1974 |
-
global $wp_cerber, $cerber_status;
|
1975 |
|
1976 |
if ( crb_acl_is_white() ) {
|
1977 |
return;
|
@@ -2007,11 +2023,14 @@ function cerber_access_control() {
|
|
2007 |
if ( ! cerber_is_rest_permitted() ) {
|
2008 |
$rest_allowed = false;
|
2009 |
}
|
|
|
2010 |
if ( $rest_allowed && ! cerber_geo_allowed( 'geo_restapi' ) ) {
|
2011 |
$rest_allowed = false;
|
2012 |
$cerber_status = 16;
|
2013 |
}
|
|
|
2014 |
if ( ! $rest_allowed ) {
|
|
|
2015 |
cerber_block_rest_api();
|
2016 |
}
|
2017 |
}
|
@@ -2346,7 +2365,7 @@ add_filter( 'wp_redirect', function ( $location ) {
|
|
2346 |
* @since 7.0
|
2347 |
*/
|
2348 |
function cerber_no_redirect() {
|
2349 |
-
if ( crb_get_settings( 'noredirect' ) && !cerber_check_groove_x()) {
|
2350 |
return true;
|
2351 |
}
|
2352 |
|
@@ -2591,7 +2610,7 @@ function cerber_antibot_gene($recreate = false) {
|
|
2591 |
* @return bool
|
2592 |
*/
|
2593 |
function cerber_is_bot( $location = '' ) {
|
2594 |
-
global $cerber_status;
|
2595 |
static $ret = null;
|
2596 |
|
2597 |
$remote_ip = cerber_get_remote_ip();
|
@@ -2640,15 +2659,18 @@ function cerber_is_bot( $location = '' ) {
|
|
2640 |
|
2641 |
// Antibot whitelist
|
2642 |
if ( ( $list = crb_get_settings( 'botswhite' ) ) && is_array( $list ) ) {
|
|
|
2643 |
foreach ( $list as $item ) {
|
2644 |
-
if (
|
2645 |
$pattern = '/' . substr( $item, 1, - 1 ) . '/i';
|
2646 |
-
if ( @preg_match( $pattern,
|
|
|
2647 |
$ret = false;
|
2648 |
return $ret;
|
2649 |
}
|
2650 |
}
|
2651 |
-
elseif ( false !== strpos(
|
|
|
2652 |
$ret = false;
|
2653 |
return $ret;
|
2654 |
}
|
@@ -2766,10 +2788,10 @@ function cerber_get_geo_rules( $rule_id = '' ) {
|
|
2766 |
|
2767 |
if ( ! isset( $rules ) || cerber_is_http_post() ) {
|
2768 |
if ( is_multisite() ) {
|
2769 |
-
$geo = cerber_db_get_var( 'SELECT meta_value FROM ' . $wpdb->sitemeta . ' WHERE meta_key = "
|
2770 |
}
|
2771 |
else {
|
2772 |
-
$geo = cerber_db_get_var( 'SELECT option_value FROM ' . $wpdb->options . ' WHERE option_name = "
|
2773 |
}
|
2774 |
|
2775 |
if ( $geo ) {
|
@@ -2777,6 +2799,7 @@ function cerber_get_geo_rules( $rule_id = '' ) {
|
|
2777 |
}
|
2778 |
else {
|
2779 |
$rules = false;
|
|
|
2780 |
return false;
|
2781 |
}
|
2782 |
}
|
@@ -2808,8 +2831,10 @@ add_filter( 'auth_cookie_expiration', function ( $expire, $user_id ) {
|
|
2808 |
|
2809 |
// add_action( 'wp_logout', function(){});
|
2810 |
add_action( 'clear_auth_cookie', function () {
|
|
|
2811 |
$uid = get_current_user_id();
|
2812 |
if ( $uid ) {
|
|
|
2813 |
cerber_log( 6, '', $uid );
|
2814 |
CRB_2FA::delete_2fa( $uid );
|
2815 |
}
|
@@ -2868,6 +2893,29 @@ function crb_log_user_ip( $user_id, $by_user = null ) {
|
|
2868 |
add_user_meta( $user_id, '_crb_reg_', array( 'IP' => cerber_get_remote_ip(), 'user' => $by_user ) );
|
2869 |
}
|
2870 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2871 |
// Lockouts routines ---------------------------------------------------------------------
|
2872 |
|
2873 |
/**
|
@@ -3217,23 +3265,28 @@ function cerber_is_prohibited( $username ) {
|
|
3217 |
}
|
3218 |
|
3219 |
// TODO: Merge with $wp_cerber->getStatus();
|
3220 |
-
function cerber_get_status( $ip ) {
|
3221 |
global $cerber_status;
|
3222 |
|
3223 |
if ( ! empty( $cerber_status ) ) {
|
3224 |
-
return absint($cerber_status);
|
3225 |
}
|
3226 |
|
3227 |
if ( cerber_block_check( $ip ) ) {
|
3228 |
return 13;
|
3229 |
}
|
3230 |
|
3231 |
-
$tag = cerber_acl_check( $ip )
|
3232 |
-
|
3233 |
-
|
3234 |
-
|
3235 |
-
|
3236 |
-
|
|
|
|
|
|
|
|
|
|
|
3237 |
}
|
3238 |
|
3239 |
if ( cerber_is_citadel() ) {
|
@@ -4102,7 +4155,7 @@ function cerber_send_email( $type = '', $msg = '', $ip = '' ) {
|
|
4102 |
case 'citadel':
|
4103 |
$max = cerber_db_get_var( 'SELECT MAX(stamp) FROM ' . CERBER_LOG_TABLE . ' WHERE activity = 7' );
|
4104 |
if ( $max ) {
|
4105 |
-
$last_date = cerber_date( $max );
|
4106 |
//$last = $wpdb->get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity = 7' );
|
4107 |
$last = cerber_db_get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity = 7', MYSQL_FETCH_OBJECT );
|
4108 |
}
|
@@ -4123,7 +4176,7 @@ function cerber_send_email( $type = '', $msg = '', $ip = '' ) {
|
|
4123 |
case 'lockout':
|
4124 |
$max = cerber_db_get_var( 'SELECT MAX(stamp) FROM ' . CERBER_LOG_TABLE . ' WHERE activity IN (10,11)' );
|
4125 |
if ( $max ) {
|
4126 |
-
$last_date = cerber_date( $max );
|
4127 |
$last = cerber_db_get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity IN (10,11)', MYSQL_FETCH_OBJECT );
|
4128 |
}
|
4129 |
|
@@ -4161,7 +4214,7 @@ function cerber_send_email( $type = '', $msg = '', $ip = '' ) {
|
|
4161 |
break;
|
4162 |
case 'shutdown':
|
4163 |
$subj = '[' . get_option( 'blogname' ) . '] ' . __( 'The WP Cerber security plugin has been deactivated', 'wp-cerber' );
|
4164 |
-
$body .= __( 'The WP Cerber security plugin has been deactivated', 'wp-cerber' ) . "\n\n";
|
4165 |
if ( ! is_user_logged_in() ) {
|
4166 |
$u = __( 'Not logged in', 'wp-cerber' );
|
4167 |
} else {
|
@@ -4178,11 +4231,15 @@ function cerber_send_email( $type = '', $msg = '', $ip = '' ) {
|
|
4178 |
break;
|
4179 |
case 'activated':
|
4180 |
$subj = '[' . get_option( 'blogname' ) . '] ' . __( 'The WP Cerber security plugin is now active', 'wp-cerber' );
|
4181 |
-
$body
|
4182 |
//$body .= __( 'Change notification settings', 'wp-cerber' ) . ': ' . cerber_admin_link('notifications') . "\n\n";
|
4183 |
$body .= __( 'Getting Started Guide', 'wp-cerber' ) . "\n\n";
|
4184 |
$body .= 'https://wpcerber.com/getting-started/' . "\n\n";
|
4185 |
-
$body .= '
|
|
|
|
|
|
|
|
|
4186 |
break;
|
4187 |
case 'newlurl':
|
4188 |
$subj .= __( 'New Custom login URL', 'wp-cerber' );
|
@@ -4220,18 +4277,22 @@ function cerber_send_email( $type = '', $msg = '', $ip = '' ) {
|
|
4220 |
'to' => $to,
|
4221 |
'subject' => $subj
|
4222 |
) );
|
|
|
4223 |
if ( $body_filtered && is_string( $body_filtered ) ) {
|
4224 |
$body = $body_filtered;
|
4225 |
}
|
4226 |
|
4227 |
$footer = '';
|
4228 |
|
4229 |
-
if ( $
|
4230 |
-
$
|
4231 |
-
|
4232 |
-
|
|
|
|
|
|
|
|
|
4233 |
}
|
4234 |
-
$footer .= "\n\n" . __( 'Your login page:', 'wp-cerber' ) . ' ' . $lourl;
|
4235 |
}
|
4236 |
|
4237 |
if ( $type == 'report' && $date = lab_lab( 1 ) ) {
|
@@ -4259,7 +4320,7 @@ function cerber_send_email( $type = '', $msg = '', $ip = '' ) {
|
|
4259 |
foreach ( $to_list as $email ) {
|
4260 |
$lastus = '';
|
4261 |
if ( $rec = cerber_get_last_login( null, $email ) ) {
|
4262 |
-
$lastus = sprintf( __( 'Your last sign-in was %s from %s', 'wp-cerber' ), cerber_date( $rec->stamp ), $rec->ip . ' (' . cerber_country_name( $rec->country ) . ')' );
|
4263 |
if ( $html_mode ) {
|
4264 |
$lastus = '<br/><br/>' . $lastus;
|
4265 |
}
|
@@ -4479,21 +4540,6 @@ add_action( 'cerber_hourly_2', function () {
|
|
4479 |
|
4480 |
cerber_delete_expired_set();
|
4481 |
|
4482 |
-
// Cleanup the quarantine folder
|
4483 |
-
if ( $dirs = glob( cerber_get_the_folder() . 'quarantine' . '/*', GLOB_ONLYDIR ) ) {
|
4484 |
-
foreach ( $dirs as $dir ) {
|
4485 |
-
$d = basename( $dir );
|
4486 |
-
if ( is_numeric( $d ) ) {
|
4487 |
-
if ( $d < ( time() - DAY_IN_SECONDS * crb_get_settings( 'scan_qcleanup' ) ) ) {
|
4488 |
-
$fs = cerber_init_wp_filesystem();
|
4489 |
-
if ( ! is_wp_error( $fs ) ) {
|
4490 |
-
$fs->delete( $dir, true );
|
4491 |
-
}
|
4492 |
-
}
|
4493 |
-
}
|
4494 |
-
}
|
4495 |
-
}
|
4496 |
-
|
4497 |
if ( crb_get_settings( 'cerberlab' ) || lab_lab() ) {
|
4498 |
lab_check_nodes( true, true );
|
4499 |
}
|
@@ -4510,8 +4556,8 @@ add_action( 'cerber_hourly_2', function () {
|
|
4510 |
set_site_transient( $t, array( $start, time() ), 2 * 3600 );
|
4511 |
});
|
4512 |
|
4513 |
-
add_action( 'cerber_daily', '
|
4514 |
-
function
|
4515 |
$t = 'cerber_daily_1';
|
4516 |
$start = time();
|
4517 |
if ( ( $last = get_site_transient( $t ) ) && date( 'j', $last[0] ) == date( 'j' ) ) {
|
@@ -4528,6 +4574,20 @@ function cerber_do_daily() {
|
|
4528 |
cerber_db_query( 'DELETE FROM ' . CERBER_LAB_NET_TABLE . ' WHERE expires < ' . $time );
|
4529 |
cerber_db_query( 'DELETE FROM ' . CERBER_LAB_TABLE . ' WHERE stamp < ' . ( $time - 3600 ) ); // workaround for weird/misconfigured hostings
|
4530 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4531 |
cerber_db_query( 'OPTIMIZE TABLE ' . CERBER_LOG_TABLE );
|
4532 |
cerber_db_query( 'OPTIMIZE TABLE ' . CERBER_QMEM_TABLE );
|
4533 |
cerber_db_query( 'OPTIMIZE TABLE ' . CERBER_TRAF_TABLE );
|
@@ -4539,6 +4599,7 @@ function cerber_do_daily() {
|
|
4539 |
cerber_db_query( 'OPTIMIZE TABLE ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE );
|
4540 |
cerber_db_query( 'OPTIMIZE TABLE ' . cerber_get_db_prefix() . CERBER_SETS_TABLE );
|
4541 |
cerber_db_query( 'OPTIMIZE TABLE ' . cerber_get_db_prefix() . CERBER_MS_LIST_TABLE );
|
|
|
4542 |
|
4543 |
if ( $new = cerber_check_for_newer() ) {
|
4544 |
$history = get_site_option( '_cerber_notify_new' );
|
@@ -4566,6 +4627,26 @@ function cerber_do_daily() {
|
|
4566 |
|
4567 |
CRB_Cache::reset();
|
4568 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4569 |
// TODO: implement holding previous values for a while
|
4570 |
// cerber_antibot_gene();
|
4571 |
|
@@ -4623,17 +4704,18 @@ function cerber_bg_task_launcher( $filter = null ) {
|
|
4623 |
return $ret;
|
4624 |
}
|
4625 |
|
4626 |
-
$safe_func = array( 'nexus_send', 'nexus_do_upgrade', '_crb_ds_background', 'nexus_refresh_slave_srv' );
|
4627 |
|
4628 |
foreach ( $exec_it as $task_id => $task ) {
|
4629 |
|
4630 |
$func = crb_array_get( $task, 'func' );
|
4631 |
-
if ( !
|
|
|
4632 |
cerber_bg_task_delete( $task_id );
|
4633 |
continue;
|
4634 |
}
|
4635 |
-
if ( !
|
4636 |
-
|
4637 |
cerber_bg_task_delete( $task_id );
|
4638 |
continue;
|
4639 |
}
|
@@ -4678,21 +4760,36 @@ function cerber_bg_task_get_all() {
|
|
4678 |
return $list;
|
4679 |
}
|
4680 |
|
4681 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4682 |
|
4683 |
-
|
4684 |
|
4685 |
-
$id = sha1( serialize( $
|
4686 |
|
4687 |
if ( isset( $list[ $id ] ) ) {
|
4688 |
return false;
|
4689 |
}
|
4690 |
|
4691 |
if ( $priority ) {
|
4692 |
-
$list = array( $id => $
|
4693 |
}
|
4694 |
else {
|
4695 |
-
$list[ $id ] = $
|
4696 |
}
|
4697 |
|
4698 |
return cerber_update_set( '_background_tasks', $list );
|
@@ -4770,7 +4867,7 @@ function cerber_log( $activity, $login = '', $user_id = 0, $ip = null ) {
|
|
4770 |
|
4771 |
$status = 0;
|
4772 |
if ( $activity != 10 && $activity != 11 ) {
|
4773 |
-
$status = cerber_get_status( $ip );
|
4774 |
}
|
4775 |
elseif ( $cerber_blocked ) {
|
4776 |
$status = $cerber_blocked;
|
@@ -5129,6 +5226,8 @@ register_activation_hook( cerber_plugin_file(), function () {
|
|
5129 |
|
5130 |
cerber_load_admin_code();
|
5131 |
|
|
|
|
|
5132 |
if ( is_user_logged_in() ) { // Not for remote plugin installation/activation
|
5133 |
|
5134 |
$ip = cerber_get_remote_ip();
|
@@ -5140,7 +5239,10 @@ register_activation_hook( cerber_plugin_file(), function () {
|
|
5140 |
}
|
5141 |
}
|
5142 |
|
5143 |
-
|
|
|
|
|
|
|
5144 |
|
5145 |
cerber_disable_citadel();
|
5146 |
}
|
@@ -5155,7 +5257,7 @@ register_activation_hook( cerber_plugin_file(), function () {
|
|
5155 |
cerber_admin_message(
|
5156 |
'<img style="float:left; margin-left:-10px;" src="' . $assets_url . '/icon-128x128.png">' .
|
5157 |
'<p style="font-size:120%;">' . __( 'WP Cerber is now active and has started protecting your site', 'wp-cerber' ) . '</p>' .
|
5158 |
-
|
5159 |
|
5160 |
' <p style="font-size:130%;"><a href="https://wpcerber.com/getting-started/" target="_blank">' . __( 'Getting Started Guide', 'wp-cerber' ) . '</a></p>' .
|
5161 |
|
@@ -5174,7 +5276,7 @@ register_activation_hook( cerber_plugin_file(), function () {
|
|
5174 |
' <i class="crb-icon crb-icon-bx-layer"></i> <a href="' . cerber_admin_link( 'imex' ) . '">' . __( 'Import settings', 'wp-cerber' ) . '</a>' .
|
5175 |
' <i class="crb-icon crb-icon-bx-cog"></i> <a href="' . cerber_admin_link( '', array( 'page' => 'cerber-nexus' ) ) . '">' . __( 'Enable slave mode', 'wp-cerber' ) . '</a>' .
|
5176 |
' <i class="crb-icon dashicons-before dashicons-twitter"></i> <a target="_blank" href="https://twitter.com/wpcerber">Follow Cerber on Twitter</a>' .
|
5177 |
-
' <i class="crb-icon dashicons-before dashicons-email-alt"></i> <a target="_blank" href="https://wpcerber.com/subscribe-newsletter/">Subscribe to Cerber\'s newsletter</a>' .
|
5178 |
'</p>' );
|
5179 |
|
5180 |
|
@@ -5216,7 +5318,7 @@ function cerber_finito() {
|
|
5216 |
}
|
5217 |
|
5218 |
$list = array( '_cerber_subs', '_cerber_up', '_cerber_report', 'cerber-groove', 'cerber-groove-x', '_cerberkey_', 'cerber-antibot', 'cerber_admin_info', '_cerber_db_errors' );
|
5219 |
-
$list = array_merge( $list, cerber_get_setting_list() );
|
5220 |
foreach ( $list as $opt ) {
|
5221 |
delete_site_option( $opt );
|
5222 |
}
|
@@ -5253,13 +5355,13 @@ function cerber_upgrade_all( $force = false ) {
|
|
5253 |
cerber_antibot_gene( true );
|
5254 |
cerber_upgrade_settings();
|
5255 |
cerber_htaccess_sync( 'main' );
|
5256 |
-
|
5257 |
-
cerber_sync_sessions(); // @since 8.3.3
|
5258 |
-
cerber_push_the_news( CERBER_VER );
|
5259 |
update_site_option( '_cerber_up', array( 'v' => CERBER_VER, 't' => time() ) );
|
5260 |
|
|
|
5261 |
cerber_delete_expired_set( true );
|
5262 |
CRB_Cache::reset();
|
|
|
5263 |
|
5264 |
lab_get_key( true );
|
5265 |
$cerber_doing_upgrade = false;
|
@@ -5477,12 +5579,7 @@ function cerber_create_db($recreate = true) {
|
|
5477 |
*/
|
5478 |
function cerber_upgrade_db( $force = false ) {
|
5479 |
|
5480 |
-
|
5481 |
-
if ( $force ) {
|
5482 |
-
$wpdb->suppress_errors();
|
5483 |
-
}*/
|
5484 |
-
|
5485 |
-
$sql = array();
|
5486 |
|
5487 |
// @since 3.0
|
5488 |
$sql[] = 'ALTER TABLE ' . CERBER_LOG_TABLE . ' CHANGE stamp stamp DECIMAL(14,4) NOT NULL';
|
@@ -5561,13 +5658,15 @@ function cerber_upgrade_db( $force = false ) {
|
|
5561 |
$sql[] = 'ALTER TABLE ' . CERBER_ACL_TABLE . ' DROP INDEX ip_begin_end';
|
5562 |
}
|
5563 |
|
5564 |
-
|
5565 |
-
|
5566 |
-
|
5567 |
-
|
5568 |
-
|
5569 |
-
|
5570 |
-
|
|
|
|
|
5571 |
|
5572 |
if ( ! empty( $sql ) ) {
|
5573 |
foreach ( $sql as $query ) {
|
@@ -5947,7 +6046,7 @@ function cerber_catch_error( $errno, $errstr = null, $errfile = null, $errline =
|
|
5947 |
}
|
5948 |
|
5949 |
function cerber_traffic_log(){
|
5950 |
-
global $cerber_php_errors, $wp_query, $wp_cerber_user_id, $wp_cerber_start_stamp, $blog_id;
|
5951 |
static $logged = false;
|
5952 |
|
5953 |
if ( $logged || cerber_is_cloud_request() ) {
|
@@ -6150,13 +6249,14 @@ function cerber_traffic_log(){
|
|
6150 |
$processing = (int) ( 1000 * ( microtime( true ) - $start ) );
|
6151 |
|
6152 |
$uri = cerber_real_escape( $uri );
|
6153 |
-
$fields = cerber_real_escape( $fields );
|
6154 |
$details = cerber_real_escape( $details );
|
6155 |
-
$
|
|
|
|
|
6156 |
|
6157 |
$query = 'INSERT INTO ' . CERBER_TRAF_TABLE . '
|
6158 |
-
(ip, ip_long, uri, request_fields , request_details, session_id, user_id, stamp, processing, request_method, http_code, wp_id, wp_type, is_bot, blog_id, php_errors )
|
6159 |
-
VALUES ("' . $ip . '", ' . $ip_long . ',"' . $uri . '","' . $fields . '","' . $details . '", "' . $session_id . '", ' . $user_id . ', ' . $start . ',' . $processing . ', "' . $method . '", ' . $http_code . ',' . $wp_id . ', ' . $wp_type . ', ' . $bot . ', ' . absint( $blog_id ) . ',"' . $php_err . '")';
|
6160 |
|
6161 |
$ret = cerber_db_query( $query );
|
6162 |
|
@@ -6190,7 +6290,7 @@ function cerber_traffic_log(){
|
|
6190 |
* @since 6.0
|
6191 |
*/
|
6192 |
function cerber_to_log( $wp_type, $http_code, $user_id ) {
|
6193 |
-
global $cerber_logged, $cerber_blocked, $
|
6194 |
|
6195 |
if ( nexus_is_valid_request() ) {
|
6196 |
return false;
|
@@ -6219,6 +6319,10 @@ function cerber_to_log( $wp_type, $http_code, $user_id ) {
|
|
6219 |
|
6220 |
// Smart mode ---------------------------------------------------------
|
6221 |
|
|
|
|
|
|
|
|
|
6222 |
if ( ! empty( $cerber_logged ) ) {
|
6223 |
$tmp = $cerber_logged;
|
6224 |
unset( $tmp[7] );
|
@@ -6385,7 +6489,7 @@ function cerber_get_non_wp_fields() {
|
|
6385 |
* @since 6.0
|
6386 |
*/
|
6387 |
function cerber_beast() {
|
6388 |
-
global $cerber_status;
|
6389 |
|
6390 |
if ( is_admin()
|
6391 |
|| cerber_is_wp_cron()
|
@@ -6406,7 +6510,8 @@ function cerber_beast() {
|
|
6406 |
|
6407 |
// White list by IP
|
6408 |
if ( crb_get_settings( 'tiipwhite' ) && crb_acl_is_white() ) {
|
6409 |
-
|
|
|
6410 |
}
|
6411 |
|
6412 |
// White list by URI
|
@@ -6414,13 +6519,15 @@ function cerber_beast() {
|
|
6414 |
$uri = CRB_Request::URI();
|
6415 |
if ( $tiwhite = crb_get_settings( 'tiwhite' ) ) {
|
6416 |
foreach ( (array) $tiwhite as $item ) {
|
6417 |
-
if (
|
6418 |
$pattern = '/' . substr( $item, 1, - 1 ) . '/i';
|
6419 |
if ( @preg_match( $pattern, $uri ) ) {
|
|
|
6420 |
return;
|
6421 |
}
|
6422 |
}
|
6423 |
elseif ( $item == $uri ) {
|
|
|
6424 |
return;
|
6425 |
}
|
6426 |
}
|
@@ -6433,7 +6540,8 @@ function cerber_beast() {
|
|
6433 |
//$uri_script = cerber_get_uri_script();
|
6434 |
$uri_script = CRB_Request::script();
|
6435 |
|
6436 |
-
if ( $uri_script && $script_filename = cerber_script_filename() ) {
|
|
|
6437 |
// Scanning for executable scripts?
|
6438 |
if ( ! cerber_script_exists( $uri ) && ! cerber_is_login_request() ) {
|
6439 |
$cerber_status = 19;
|
78 |
define( 'CRB_CNTX_SAFE', 1 );
|
79 |
define( 'CRB_CNTX_NEXUS', 2 );
|
80 |
|
81 |
+
$dir = dirname( __FILE__ );
|
82 |
+
|
83 |
+
require_once( $dir . '/cerber-pluggable.php' );
|
84 |
+
require_once( $dir . '/common.php' );
|
85 |
+
require_once( $dir . '/settings.php' );
|
86 |
+
include_once( $dir . '/cerber-request.php' );
|
87 |
+
require_once( $dir . '/cerber-lab.php' );
|
88 |
+
require_once( $dir . '/whois.php' );
|
89 |
+
//require_once( dirname( __FILE__ ) . '/jetflow.php' );
|
90 |
+
require_once( $dir . '/cerber-news.php' );
|
91 |
+
require_once( $dir . '/cerber-scanner.php' );
|
92 |
+
require_once( $dir . '/cerber-2fa.php' );
|
93 |
+
require_once( $dir . '/nexus/cerber-nexus.php' );
|
94 |
+
require_once( $dir . '/cerber-ds.php' );
|
95 |
+
require_once( $dir . '/cerber-addons.php' );
|
96 |
|
97 |
nexus_init();
|
98 |
|
767 |
}
|
768 |
|
769 |
// Redirection control: no default aliases for redirections
|
|
|
770 |
if ( cerber_no_redirect() ) {
|
771 |
remove_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
|
772 |
}
|
809 |
|
810 |
cerber_inspect_uploads(); // Uploads in the dashboard
|
811 |
|
812 |
+
require_once( dirname( __FILE__ ) . '/jetflow.php' );
|
813 |
|
814 |
if ( ! wp_next_scheduled( 'cerber_bg_launcher' ) ) {
|
815 |
wp_schedule_event( time(), 'crb_five', 'cerber_bg_launcher' );
|
828 |
require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
|
829 |
|
830 |
require_once( dirname( __FILE__ ) . '/admin/cerber-settings.php' );
|
831 |
+
require_once( dirname( __FILE__ ) . '/admin/cerber-admin.php' );
|
832 |
require_once( dirname( __FILE__ ) . '/cerber-users.php' );
|
833 |
require_once( dirname( __FILE__ ) . '/dashboard.php' );
|
834 |
//require_once( dirname( __FILE__ ) . '/cerber-maintenance.php' ); // @since 8.5.1 moved to Nexus php files because it requires PHP 5.6
|
1150 |
$fa = CRB_2FA::enforce( $user_login, $user );
|
1151 |
|
1152 |
if ( is_wp_error( $fa ) ) {
|
1153 |
+
cerber_error_log( $fa->get_error_message() . ' | RID: ' . get_wp_cerber()->getRequestID(), '2FA' );
|
1154 |
}
|
1155 |
|
1156 |
cerber_login_history( $user->ID );
|
1624 |
}
|
1625 |
|
1626 |
foreach ( $list as $item ) {
|
1627 |
+
if ( $item[0] == '/' && substr( $item, - 1 ) == '/' ) {
|
1628 |
$pattern = $item . 'i'; // we permit to specify any REGEX
|
1629 |
if ( @preg_match( $pattern, $email ) ) {
|
1630 |
return $ret;
|
1677 |
return false;
|
1678 |
}
|
1679 |
|
1680 |
+
// The default WP registration form
|
1681 |
add_filter( 'registration_errors', function ( $errors, $sanitized_user_login, $user_email ) {
|
1682 |
|
1683 |
$result = cerber_is_registration_prohibited( $sanitized_user_login, $user_email );
|
1690 |
}, 10, 3 );
|
1691 |
|
1692 |
// Fires in wp_insert_user()
|
1693 |
+
/*add_filter( 'pre_user_login', function ( $login ) {
|
1694 |
|
1695 |
if ( ! is_admin() && cerber_is_registration_prohibited( $login ) ) {
|
1696 |
return null;
|
1697 |
}
|
1698 |
|
1699 |
return $login;
|
1700 |
+
}, PHP_INT_MAX );*/
|
1701 |
+
|
1702 |
+
// Inserting users programmatically via wp_insert_user()
|
1703 |
+
// @since 8.6.3.3
|
1704 |
+
add_filter( 'wp_pre_insert_user_data', function ( $data, $update ) {
|
1705 |
+
if ( $update || is_admin() ) {
|
1706 |
+
return $data;
|
1707 |
+
}
|
1708 |
+
|
1709 |
+
if ( cerber_is_registration_prohibited( $data['user_login'], $data['user_email'] ) ) {
|
1710 |
+
return null;
|
1711 |
+
}
|
1712 |
+
|
1713 |
+
return $data;
|
1714 |
+
}, PHP_INT_MAX, 3 );
|
1715 |
|
1716 |
// Validation for MU and BuddyPress
|
1717 |
add_filter( 'wpmu_validate_user_signup', function ( $signup_data ) {
|
1987 |
*
|
1988 |
*/
|
1989 |
function cerber_access_control() {
|
1990 |
+
global $wp_cerber, $cerber_status, $cerber_req_status;
|
1991 |
|
1992 |
if ( crb_acl_is_white() ) {
|
1993 |
return;
|
2023 |
if ( ! cerber_is_rest_permitted() ) {
|
2024 |
$rest_allowed = false;
|
2025 |
}
|
2026 |
+
|
2027 |
if ( $rest_allowed && ! cerber_geo_allowed( 'geo_restapi' ) ) {
|
2028 |
$rest_allowed = false;
|
2029 |
$cerber_status = 16;
|
2030 |
}
|
2031 |
+
|
2032 |
if ( ! $rest_allowed ) {
|
2033 |
+
$cerber_req_status = 0;
|
2034 |
cerber_block_rest_api();
|
2035 |
}
|
2036 |
}
|
2365 |
* @since 7.0
|
2366 |
*/
|
2367 |
function cerber_no_redirect() {
|
2368 |
+
if ( crb_get_settings( 'noredirect' ) && ! cerber_check_groove_x() ) {
|
2369 |
return true;
|
2370 |
}
|
2371 |
|
2610 |
* @return bool
|
2611 |
*/
|
2612 |
function cerber_is_bot( $location = '' ) {
|
2613 |
+
global $cerber_status, $cerber_req_status;
|
2614 |
static $ret = null;
|
2615 |
|
2616 |
$remote_ip = cerber_get_remote_ip();
|
2659 |
|
2660 |
// Antibot whitelist
|
2661 |
if ( ( $list = crb_get_settings( 'botswhite' ) ) && is_array( $list ) ) {
|
2662 |
+
$uri = '/' . trim( $_SERVER['REQUEST_URI'], '/' );
|
2663 |
foreach ( $list as $item ) {
|
2664 |
+
if ( $item[0] == '{' && substr( $item, - 1 ) == '}' ) {
|
2665 |
$pattern = '/' . substr( $item, 1, - 1 ) . '/i';
|
2666 |
+
if ( @preg_match( $pattern, $uri ) ) {
|
2667 |
+
$cerber_req_status = 502;
|
2668 |
$ret = false;
|
2669 |
return $ret;
|
2670 |
}
|
2671 |
}
|
2672 |
+
elseif ( false !== strpos( $uri, $item ) ) {
|
2673 |
+
$cerber_req_status = 502;
|
2674 |
$ret = false;
|
2675 |
return $ret;
|
2676 |
}
|
2788 |
|
2789 |
if ( ! isset( $rules ) || cerber_is_http_post() ) {
|
2790 |
if ( is_multisite() ) {
|
2791 |
+
$geo = cerber_db_get_var( 'SELECT meta_value FROM ' . $wpdb->sitemeta . ' WHERE meta_key = "' . CERBER_GEO_RULES . '"' );
|
2792 |
}
|
2793 |
else {
|
2794 |
+
$geo = cerber_db_get_var( 'SELECT option_value FROM ' . $wpdb->options . ' WHERE option_name = "' . CERBER_GEO_RULES . '"' );
|
2795 |
}
|
2796 |
|
2797 |
if ( $geo ) {
|
2799 |
}
|
2800 |
else {
|
2801 |
$rules = false;
|
2802 |
+
|
2803 |
return false;
|
2804 |
}
|
2805 |
}
|
2831 |
|
2832 |
// add_action( 'wp_logout', function(){});
|
2833 |
add_action( 'clear_auth_cookie', function () {
|
2834 |
+
global $wp_cerber_user_id;
|
2835 |
$uid = get_current_user_id();
|
2836 |
if ( $uid ) {
|
2837 |
+
$wp_cerber_user_id = $uid;
|
2838 |
cerber_log( 6, '', $uid );
|
2839 |
CRB_2FA::delete_2fa( $uid );
|
2840 |
}
|
2893 |
add_user_meta( $user_id, '_crb_reg_', array( 'IP' => cerber_get_remote_ip(), 'user' => $by_user ) );
|
2894 |
}
|
2895 |
|
2896 |
+
if ( is_multisite() ) {
|
2897 |
+
add_action( 'wpmu_delete_user', 'crb_user_delete' );
|
2898 |
+
}
|
2899 |
+
else {
|
2900 |
+
add_action( 'delete_user', 'crb_user_delete' );
|
2901 |
+
}
|
2902 |
+
/**
|
2903 |
+
* @param $user_id
|
2904 |
+
* @since 8.6.3.4
|
2905 |
+
*/
|
2906 |
+
function crb_user_delete( $user_id ) {
|
2907 |
+
global $__deleted_user;
|
2908 |
+
if ( ! $__deleted_user = get_user_by( 'ID', $user_id ) ) {
|
2909 |
+
return;
|
2910 |
+
}
|
2911 |
+
add_action( 'deleted_user', function ( $user_id ) {
|
2912 |
+
global $__deleted_user;
|
2913 |
+
cerber_log( 3, '', $user_id );
|
2914 |
+
$user_data = array( 'display_name' => $__deleted_user->display_name, 'roles' => $__deleted_user->roles );
|
2915 |
+
cerber_update_set( 'user_deleted', $user_data, $user_id );
|
2916 |
+
} );
|
2917 |
+
}
|
2918 |
+
|
2919 |
// Lockouts routines ---------------------------------------------------------------------
|
2920 |
|
2921 |
/**
|
3265 |
}
|
3266 |
|
3267 |
// TODO: Merge with $wp_cerber->getStatus();
|
3268 |
+
function cerber_get_status( $ip, $activity = null ) {
|
3269 |
global $cerber_status;
|
3270 |
|
3271 |
if ( ! empty( $cerber_status ) ) {
|
3272 |
+
return absint( $cerber_status );
|
3273 |
}
|
3274 |
|
3275 |
if ( cerber_block_check( $ip ) ) {
|
3276 |
return 13;
|
3277 |
}
|
3278 |
|
3279 |
+
if ( $tag = cerber_acl_check( $ip ) ) {
|
3280 |
+
if ( $tag == 'W' ) {
|
3281 |
+
if ( in_array( $activity, array( 1, 2, 5, 20, 21 ) ) ) {
|
3282 |
+
return 500;
|
3283 |
+
}
|
3284 |
+
|
3285 |
+
return 0;
|
3286 |
+
}
|
3287 |
+
elseif ( $tag == 'B' ) {
|
3288 |
+
return 14;
|
3289 |
+
}
|
3290 |
}
|
3291 |
|
3292 |
if ( cerber_is_citadel() ) {
|
4155 |
case 'citadel':
|
4156 |
$max = cerber_db_get_var( 'SELECT MAX(stamp) FROM ' . CERBER_LOG_TABLE . ' WHERE activity = 7' );
|
4157 |
if ( $max ) {
|
4158 |
+
$last_date = cerber_date( $max, false );
|
4159 |
//$last = $wpdb->get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity = 7' );
|
4160 |
$last = cerber_db_get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity = 7', MYSQL_FETCH_OBJECT );
|
4161 |
}
|
4176 |
case 'lockout':
|
4177 |
$max = cerber_db_get_var( 'SELECT MAX(stamp) FROM ' . CERBER_LOG_TABLE . ' WHERE activity IN (10,11)' );
|
4178 |
if ( $max ) {
|
4179 |
+
$last_date = cerber_date( $max, false );
|
4180 |
$last = cerber_db_get_row( 'SELECT * FROM ' . CERBER_LOG_TABLE . ' WHERE stamp = ' . $max . ' AND activity IN (10,11)', MYSQL_FETCH_OBJECT );
|
4181 |
}
|
4182 |
|
4214 |
break;
|
4215 |
case 'shutdown':
|
4216 |
$subj = '[' . get_option( 'blogname' ) . '] ' . __( 'The WP Cerber security plugin has been deactivated', 'wp-cerber' );
|
4217 |
+
$body .= "\n" . __( 'The WP Cerber security plugin has been deactivated', 'wp-cerber' ) . "\n\n";
|
4218 |
if ( ! is_user_logged_in() ) {
|
4219 |
$u = __( 'Not logged in', 'wp-cerber' );
|
4220 |
} else {
|
4231 |
break;
|
4232 |
case 'activated':
|
4233 |
$subj = '[' . get_option( 'blogname' ) . '] ' . __( 'The WP Cerber security plugin is now active', 'wp-cerber' );
|
4234 |
+
$body = "\n" . __( 'WP Cerber is now active and has started protecting your site', 'wp-cerber' ) . "\n\n";
|
4235 |
//$body .= __( 'Change notification settings', 'wp-cerber' ) . ': ' . cerber_admin_link('notifications') . "\n\n";
|
4236 |
$body .= __( 'Getting Started Guide', 'wp-cerber' ) . "\n\n";
|
4237 |
$body .= 'https://wpcerber.com/getting-started/' . "\n\n";
|
4238 |
+
$body .= 'Is your website under Cloudflare? You have to enable a crucial WP Cerber setting.' . "\n\n";
|
4239 |
+
$body .= 'https://wpcerber.com/cloudflare-and-wordpress-cerber/' . "\n\n";
|
4240 |
+
$body .= 'Be in touch with the developer.' . "\n\n";
|
4241 |
+
$body .= 'Follow Cerber on Twitter: https://twitter.com/wpcerber' . "\n\n";
|
4242 |
+
$body .= 'Subscribe to the Cerber\'s newsletter: https://wpcerber.com/subscribe-newsletter/' . "\n\n";
|
4243 |
break;
|
4244 |
case 'newlurl':
|
4245 |
$subj .= __( 'New Custom login URL', 'wp-cerber' );
|
4277 |
'to' => $to,
|
4278 |
'subject' => $subj
|
4279 |
) );
|
4280 |
+
|
4281 |
if ( $body_filtered && is_string( $body_filtered ) ) {
|
4282 |
$body = $body_filtered;
|
4283 |
}
|
4284 |
|
4285 |
$footer = '';
|
4286 |
|
4287 |
+
if ( $type != 'shutdown' ) {
|
4288 |
+
if ( $lolink = cerber_get_login_url() ) {
|
4289 |
+
$lourl = urldecode( $lolink );
|
4290 |
+
if ( $html_mode ) {
|
4291 |
+
$lourl = '<a href="' . $lolink . '">' . $lourl . '</a>';
|
4292 |
+
}
|
4293 |
+
|
4294 |
+
$footer .= "\n\n" . __( 'Your login page:', 'wp-cerber' ) . ' ' . $lourl;
|
4295 |
}
|
|
|
4296 |
}
|
4297 |
|
4298 |
if ( $type == 'report' && $date = lab_lab( 1 ) ) {
|
4320 |
foreach ( $to_list as $email ) {
|
4321 |
$lastus = '';
|
4322 |
if ( $rec = cerber_get_last_login( null, $email ) ) {
|
4323 |
+
$lastus = sprintf( __( 'Your last sign-in was %s from %s', 'wp-cerber' ), cerber_date( $rec->stamp, false ), $rec->ip . ' (' . cerber_country_name( $rec->country ) . ')' );
|
4324 |
if ( $html_mode ) {
|
4325 |
$lastus = '<br/><br/>' . $lastus;
|
4326 |
}
|
4540 |
|
4541 |
cerber_delete_expired_set();
|
4542 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4543 |
if ( crb_get_settings( 'cerberlab' ) || lab_lab() ) {
|
4544 |
lab_check_nodes( true, true );
|
4545 |
}
|
4556 |
set_site_transient( $t, array( $start, time() ), 2 * 3600 );
|
4557 |
});
|
4558 |
|
4559 |
+
add_action( 'cerber_daily', 'cerber_daily_run' );
|
4560 |
+
function cerber_daily_run() {
|
4561 |
$t = 'cerber_daily_1';
|
4562 |
$start = time();
|
4563 |
if ( ( $last = get_site_transient( $t ) ) && date( 'j', $last[0] ) == date( 'j' ) ) {
|
4574 |
cerber_db_query( 'DELETE FROM ' . CERBER_LAB_NET_TABLE . ' WHERE expires < ' . $time );
|
4575 |
cerber_db_query( 'DELETE FROM ' . CERBER_LAB_TABLE . ' WHERE stamp < ' . ( $time - 3600 ) ); // workaround for weird/misconfigured hostings
|
4576 |
|
4577 |
+
// Delete sets if log entries for a user were deleted completely
|
4578 |
+
// @since 8.6.3.4
|
4579 |
+
$sql = 'SELECT the_id FROM ' . cerber_get_db_prefix() . CERBER_SETS_TABLE . ' sets LEFT JOIN ' . CERBER_LOG_TABLE . ' log
|
4580 |
+
ON log.user_id = sets.the_id
|
4581 |
+
WHERE sets.the_key = "user_deleted" AND log.user_id IS NULL';
|
4582 |
+
$user_ids1 = cerber_db_get_col( $sql );
|
4583 |
+
$sql = 'SELECT the_id FROM ' . cerber_get_db_prefix() . CERBER_SETS_TABLE . ' sets LEFT JOIN ' . CERBER_TRAF_TABLE . ' log
|
4584 |
+
ON log.user_id = sets.the_id
|
4585 |
+
WHERE sets.the_key = "user_deleted" AND log.user_id IS NULL';
|
4586 |
+
$user_ids2 = cerber_db_get_col( $sql );
|
4587 |
+
if ( $delete = array_intersect( $user_ids1, $user_ids2 ) ) {
|
4588 |
+
cerber_db_query( 'DELETE FROM ' . cerber_get_db_prefix() . CERBER_SETS_TABLE . ' WHERE the_key = "user_deleted" AND the_id IN (' . implode( ',', $delete ) . ')' );
|
4589 |
+
}
|
4590 |
+
|
4591 |
cerber_db_query( 'OPTIMIZE TABLE ' . CERBER_LOG_TABLE );
|
4592 |
cerber_db_query( 'OPTIMIZE TABLE ' . CERBER_QMEM_TABLE );
|
4593 |
cerber_db_query( 'OPTIMIZE TABLE ' . CERBER_TRAF_TABLE );
|
4599 |
cerber_db_query( 'OPTIMIZE TABLE ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE );
|
4600 |
cerber_db_query( 'OPTIMIZE TABLE ' . cerber_get_db_prefix() . CERBER_SETS_TABLE );
|
4601 |
cerber_db_query( 'OPTIMIZE TABLE ' . cerber_get_db_prefix() . CERBER_MS_LIST_TABLE );
|
4602 |
+
cerber_db_query( 'OPTIMIZE TABLE ' . cerber_get_db_prefix() . CERBER_USS_TABLE );
|
4603 |
|
4604 |
if ( $new = cerber_check_for_newer() ) {
|
4605 |
$history = get_site_option( '_cerber_notify_new' );
|
4627 |
|
4628 |
CRB_Cache::reset();
|
4629 |
|
4630 |
+
// Cleanup the quarantine folder
|
4631 |
+
if ( $dirs = glob( cerber_get_the_folder() . 'quarantine' . '/*', GLOB_ONLYDIR ) ) {
|
4632 |
+
$sync = false;
|
4633 |
+
foreach ( $dirs as $dir ) {
|
4634 |
+
$d = basename( $dir );
|
4635 |
+
if ( is_numeric( $d ) ) {
|
4636 |
+
if ( $d < ( time() - DAY_IN_SECONDS * crb_get_settings( 'scan_qcleanup' ) ) ) {
|
4637 |
+
$fs = cerber_init_wp_filesystem();
|
4638 |
+
if ( ! is_wp_error( $fs ) ) {
|
4639 |
+
$fs->delete( $dir, true );
|
4640 |
+
$sync = true;
|
4641 |
+
}
|
4642 |
+
}
|
4643 |
+
}
|
4644 |
+
}
|
4645 |
+
if ( $sync ) {
|
4646 |
+
_crb_qr_total_sync();
|
4647 |
+
}
|
4648 |
+
}
|
4649 |
+
|
4650 |
// TODO: implement holding previous values for a while
|
4651 |
// cerber_antibot_gene();
|
4652 |
|
4704 |
return $ret;
|
4705 |
}
|
4706 |
|
4707 |
+
$safe_func = array( 'nexus_send', 'nexus_do_upgrade', '_crb_ds_background', 'nexus_refresh_slave_srv', '_crb_qr_total_sync' );
|
4708 |
|
4709 |
foreach ( $exec_it as $task_id => $task ) {
|
4710 |
|
4711 |
$func = crb_array_get( $task, 'func' );
|
4712 |
+
if ( ! in_array( $func, $safe_func ) ) {
|
4713 |
+
cerber_error_log( 'Function ' . $func . ' is not in the safe list', 'BG TASK' );
|
4714 |
cerber_bg_task_delete( $task_id );
|
4715 |
continue;
|
4716 |
}
|
4717 |
+
if ( ! is_callable( $func ) ) {
|
4718 |
+
cerber_error_log( 'Function ' . $func . ' is not available (not defined)', 'BG TASK' );
|
4719 |
cerber_bg_task_delete( $task_id );
|
4720 |
continue;
|
4721 |
}
|
4760 |
return $list;
|
4761 |
}
|
4762 |
|
4763 |
+
/**
|
4764 |
+
* @param callable $func @since 8.6.4
|
4765 |
+
* @param array $config
|
4766 |
+
* @param bool $priority
|
4767 |
+
* @param int $limit
|
4768 |
+
*
|
4769 |
+
* @return bool
|
4770 |
+
*/
|
4771 |
+
function cerber_bg_task_add( $func, $config = array(), $priority = false, $limit = 60 ) {
|
4772 |
+
|
4773 |
+
if ( ! is_callable( $func ) ) {
|
4774 |
+
cerber_error_log( 'Function ' . $func . ' is not callable', 'BG TASK' );
|
4775 |
+
return false;
|
4776 |
+
}
|
4777 |
+
|
4778 |
+
$list = cerber_bg_task_get_all();
|
4779 |
|
4780 |
+
$config['func'] = $func;
|
4781 |
|
4782 |
+
$id = sha1( serialize( $config ) );
|
4783 |
|
4784 |
if ( isset( $list[ $id ] ) ) {
|
4785 |
return false;
|
4786 |
}
|
4787 |
|
4788 |
if ( $priority ) {
|
4789 |
+
$list = array( $id => $config ) + $list;
|
4790 |
}
|
4791 |
else {
|
4792 |
+
$list[ $id ] = $config;
|
4793 |
}
|
4794 |
|
4795 |
return cerber_update_set( '_background_tasks', $list );
|
4867 |
|
4868 |
$status = 0;
|
4869 |
if ( $activity != 10 && $activity != 11 ) {
|
4870 |
+
$status = cerber_get_status( $ip, $activity );
|
4871 |
}
|
4872 |
elseif ( $cerber_blocked ) {
|
4873 |
$status = $cerber_blocked;
|
5226 |
|
5227 |
cerber_load_admin_code();
|
5228 |
|
5229 |
+
$whited = '';
|
5230 |
+
|
5231 |
if ( is_user_logged_in() ) { // Not for remote plugin installation/activation
|
5232 |
|
5233 |
$ip = cerber_get_remote_ip();
|
5239 |
}
|
5240 |
}
|
5241 |
|
5242 |
+
if ( ! crb_get_settings( 'no_white_my_ip' ) ) {
|
5243 |
+
cerber_add_white( $sub, 'My Subnet' ); // Protection for non-experienced users
|
5244 |
+
$whited = ' <p>' . __( 'Your IP address is added to the', 'wp-cerber' ) . ' ' . __( 'White IP Access List', 'wp-cerber' );
|
5245 |
+
}
|
5246 |
|
5247 |
cerber_disable_citadel();
|
5248 |
}
|
5257 |
cerber_admin_message(
|
5258 |
'<img style="float:left; margin-left:-10px;" src="' . $assets_url . '/icon-128x128.png">' .
|
5259 |
'<p style="font-size:120%;">' . __( 'WP Cerber is now active and has started protecting your site', 'wp-cerber' ) . '</p>' .
|
5260 |
+
$whited .
|
5261 |
|
5262 |
' <p style="font-size:130%;"><a href="https://wpcerber.com/getting-started/" target="_blank">' . __( 'Getting Started Guide', 'wp-cerber' ) . '</a></p>' .
|
5263 |
|
5276 |
' <i class="crb-icon crb-icon-bx-layer"></i> <a href="' . cerber_admin_link( 'imex' ) . '">' . __( 'Import settings', 'wp-cerber' ) . '</a>' .
|
5277 |
' <i class="crb-icon crb-icon-bx-cog"></i> <a href="' . cerber_admin_link( '', array( 'page' => 'cerber-nexus' ) ) . '">' . __( 'Enable slave mode', 'wp-cerber' ) . '</a>' .
|
5278 |
' <i class="crb-icon dashicons-before dashicons-twitter"></i> <a target="_blank" href="https://twitter.com/wpcerber">Follow Cerber on Twitter</a>' .
|
5279 |
+
' <i class="crb-icon dashicons-before dashicons-email-alt"></i> <a target="_blank" href="https://wpcerber.com/subscribe-newsletter/">Subscribe to the Cerber\'s newsletter</a>' .
|
5280 |
'</p>' );
|
5281 |
|
5282 |
|
5318 |
}
|
5319 |
|
5320 |
$list = array( '_cerber_subs', '_cerber_up', '_cerber_report', 'cerber-groove', 'cerber-groove-x', '_cerberkey_', 'cerber-antibot', 'cerber_admin_info', '_cerber_db_errors' );
|
5321 |
+
$list = array_merge( $list, cerber_get_setting_list( true ) );
|
5322 |
foreach ( $list as $opt ) {
|
5323 |
delete_site_option( $opt );
|
5324 |
}
|
5355 |
cerber_antibot_gene( true );
|
5356 |
cerber_upgrade_settings();
|
5357 |
cerber_htaccess_sync( 'main' );
|
5358 |
+
|
|
|
|
|
5359 |
update_site_option( '_cerber_up', array( 'v' => CERBER_VER, 't' => time() ) );
|
5360 |
|
5361 |
+
cerber_push_the_news( CERBER_VER );
|
5362 |
cerber_delete_expired_set( true );
|
5363 |
CRB_Cache::reset();
|
5364 |
+
wp_clear_scheduled_hook( 'cerber_hourly' ); // @since 5.8
|
5365 |
|
5366 |
lab_get_key( true );
|
5367 |
$cerber_doing_upgrade = false;
|
5579 |
*/
|
5580 |
function cerber_upgrade_db( $force = false ) {
|
5581 |
|
5582 |
+
$sql = array();
|
|
|
|
|
|
|
|
|
|
|
5583 |
|
5584 |
// @since 3.0
|
5585 |
$sql[] = 'ALTER TABLE ' . CERBER_LOG_TABLE . ' CHANGE stamp stamp DECIMAL(14,4) NOT NULL';
|
5658 |
$sql[] = 'ALTER TABLE ' . CERBER_ACL_TABLE . ' DROP INDEX ip_begin_end';
|
5659 |
}
|
5660 |
|
5661 |
+
// @since 8.6.4
|
5662 |
+
if ( $force || ! cerber_is_column( cerber_get_db_prefix() . CERBER_SCAN_TABLE, 'file_ext' ) ) {
|
5663 |
+
$sql[] = 'ALTER TABLE ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . '
|
5664 |
+
ADD file_ext VARCHAR(255) NOT NULL DEFAULT "" AFTER file_mtime
|
5665 |
+
';
|
5666 |
+
}
|
5667 |
+
if ( $force || ! cerber_is_column( CERBER_TRAF_TABLE, 'req_status' ) ) {
|
5668 |
+
$sql[] = 'ALTER TABLE ' . CERBER_TRAF_TABLE . ' ADD req_status int(10) UNSIGNED NOT NULL DEFAULT 0';
|
5669 |
+
}
|
5670 |
|
5671 |
if ( ! empty( $sql ) ) {
|
5672 |
foreach ( $sql as $query ) {
|
6046 |
}
|
6047 |
|
6048 |
function cerber_traffic_log(){
|
6049 |
+
global $cerber_req_status, $cerber_php_errors, $wp_query, $wp_cerber_user_id, $wp_cerber_start_stamp, $blog_id;
|
6050 |
static $logged = false;
|
6051 |
|
6052 |
if ( $logged || cerber_is_cloud_request() ) {
|
6249 |
$processing = (int) ( 1000 * ( microtime( true ) - $start ) );
|
6250 |
|
6251 |
$uri = cerber_real_escape( $uri );
|
|
|
6252 |
$details = cerber_real_escape( $details );
|
6253 |
+
$fields = ( $php_err ) ? cerber_real_escape( $fields ) : '';
|
6254 |
+
$php_err = ( $php_err ) ? cerber_real_escape( $php_err ) : '';
|
6255 |
+
$req_status = absint( $cerber_req_status );
|
6256 |
|
6257 |
$query = 'INSERT INTO ' . CERBER_TRAF_TABLE . '
|
6258 |
+
(ip, ip_long, uri, request_fields , request_details, session_id, user_id, stamp, processing, request_method, http_code, wp_id, wp_type, is_bot, blog_id, php_errors, req_status )
|
6259 |
+
VALUES ("' . $ip . '", ' . $ip_long . ',"' . $uri . '","' . $fields . '","' . $details . '", "' . $session_id . '", ' . $user_id . ', ' . $start . ',' . $processing . ', "' . $method . '", ' . $http_code . ',' . $wp_id . ', ' . $wp_type . ', ' . $bot . ', ' . absint( $blog_id ) . ',"' . $php_err . '",' . $req_status . ')';
|
6260 |
|
6261 |
$ret = cerber_db_query( $query );
|
6262 |
|
6290 |
* @since 6.0
|
6291 |
*/
|
6292 |
function cerber_to_log( $wp_type, $http_code, $user_id ) {
|
6293 |
+
global $cerber_logged, $cerber_blocked, $cerber_req_status;
|
6294 |
|
6295 |
if ( nexus_is_valid_request() ) {
|
6296 |
return false;
|
6319 |
|
6320 |
// Smart mode ---------------------------------------------------------
|
6321 |
|
6322 |
+
if ( ! empty( $cerber_req_status ) ) {
|
6323 |
+
return true;
|
6324 |
+
}
|
6325 |
+
|
6326 |
if ( ! empty( $cerber_logged ) ) {
|
6327 |
$tmp = $cerber_logged;
|
6328 |
unset( $tmp[7] );
|
6489 |
* @since 6.0
|
6490 |
*/
|
6491 |
function cerber_beast() {
|
6492 |
+
global $cerber_status, $cerber_req_status;
|
6493 |
|
6494 |
if ( is_admin()
|
6495 |
|| cerber_is_wp_cron()
|
6510 |
|
6511 |
// White list by IP
|
6512 |
if ( crb_get_settings( 'tiipwhite' ) && crb_acl_is_white() ) {
|
6513 |
+
$cerber_req_status = 500;
|
6514 |
+
return;
|
6515 |
}
|
6516 |
|
6517 |
// White list by URI
|
6519 |
$uri = CRB_Request::URI();
|
6520 |
if ( $tiwhite = crb_get_settings( 'tiwhite' ) ) {
|
6521 |
foreach ( (array) $tiwhite as $item ) {
|
6522 |
+
if ( $item[0] == '{' && substr( $item, - 1 ) == '}' ) {
|
6523 |
$pattern = '/' . substr( $item, 1, - 1 ) . '/i';
|
6524 |
if ( @preg_match( $pattern, $uri ) ) {
|
6525 |
+
$cerber_req_status = 501;
|
6526 |
return;
|
6527 |
}
|
6528 |
}
|
6529 |
elseif ( $item == $uri ) {
|
6530 |
+
$cerber_req_status = 501;
|
6531 |
return;
|
6532 |
}
|
6533 |
}
|
6540 |
//$uri_script = cerber_get_uri_script();
|
6541 |
$uri_script = CRB_Request::script();
|
6542 |
|
6543 |
+
//if ( $uri_script && $script_filename = cerber_script_filename() ) {
|
6544 |
+
if ( $uri_script && $script_filename = cerber_script_filename() ) { // @since 8.6.3.4
|
6545 |
// Scanning for executable scripts?
|
6546 |
if ( ! cerber_script_exists( $uri ) && ! cerber_is_login_request() ) {
|
6547 |
$cerber_status = 19;
|
cerber-news.php
CHANGED
@@ -96,6 +96,13 @@ function cerber_push_the_news( $version ) {
|
|
96 |
$news['8.6.3'][] = 'Fixed: The access list IPv4 wildcard *.*.*.* doesn\'t work (has no effect).';
|
97 |
$news['8.6.3'][] = 'Fixed: If the anti-spam query whitelist contains more than one entry, they do not work as expected.';
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
if ( ! empty( $news[ $version ] ) ) {
|
101 |
//$text = '<h3>What\'s new in WP Cerber '.$version.'</h3>';
|
@@ -107,7 +114,7 @@ function cerber_push_the_news( $version ) {
|
|
107 |
$text .= ' <p style="margin-top: 18px; font-weight: bold;"><a href="https://wpcerber.com/?plugin_version='.$version.'" target="_blank">Read more on wpcerber.com</a></p>';
|
108 |
$text .= ' <p style="margin-top: 18px; font-weight: bold;"><a href="'.cerber_admin_link('change-log').'">See the whole history in the changelog</a></p>';
|
109 |
|
110 |
-
$text .= ' <p style="margin-top: 24px;"><span class="dashicons-before dashicons-email-alt"></span> <a href="https://wpcerber.com/subscribe-newsletter/">Subscribe to Cerber\'s newsletter</a></p>
|
111 |
<p><span class="dashicons-before dashicons-twitter"></span> <a href="https://twitter.com/wpcerber">Follow Cerber on Twitter</a></p>
|
112 |
<p><span class="dashicons-before dashicons-facebook"></span> <a href="https://www.facebook.com/wpcerber/">Follow Cerber on Facebook</a></p>
|
113 |
';
|
96 |
$news['8.6.3'][] = 'Fixed: The access list IPv4 wildcard *.*.*.* doesn\'t work (has no effect).';
|
97 |
$news['8.6.3'][] = 'Fixed: If the anti-spam query whitelist contains more than one entry, they do not work as expected.';
|
98 |
|
99 |
+
$news['8.6.5'][] = 'File system analytics. It\'s generated based on the results of the last full integrity scan.';
|
100 |
+
$news['8.6.5'][] = 'Logging user deletions. The user’s display name and roles are temporarily stored until all log entries related to the user are deleted.';
|
101 |
+
$news['8.6.5'][] = 'Faster export with a new date format for CSV log export.';
|
102 |
+
$news['8.6.5'][] = 'Ability to disable adding the website administrator\'s IP address to the White IP Access List upon WP Cerber activation.';
|
103 |
+
$news['8.6.5'][] = 'Improved: Handling user registrations with prohibited emails.';
|
104 |
+
$news['8.6.5'][] = 'Fixed: Loading the default plugin settings has no effect. Now it’s fixed and moved from the admin sidebar to the Tools admin page.';
|
105 |
+
|
106 |
|
107 |
if ( ! empty( $news[ $version ] ) ) {
|
108 |
//$text = '<h3>What\'s new in WP Cerber '.$version.'</h3>';
|
114 |
$text .= ' <p style="margin-top: 18px; font-weight: bold;"><a href="https://wpcerber.com/?plugin_version='.$version.'" target="_blank">Read more on wpcerber.com</a></p>';
|
115 |
$text .= ' <p style="margin-top: 18px; font-weight: bold;"><a href="'.cerber_admin_link('change-log').'">See the whole history in the changelog</a></p>';
|
116 |
|
117 |
+
$text .= ' <p style="margin-top: 24px;"><span class="dashicons-before dashicons-email-alt"></span> <a href="https://wpcerber.com/subscribe-newsletter/">Subscribe to the Cerber\'s newsletter</a></p>
|
118 |
<p><span class="dashicons-before dashicons-twitter"></span> <a href="https://twitter.com/wpcerber">Follow Cerber on Twitter</a></p>
|
119 |
<p><span class="dashicons-before dashicons-facebook"></span> <a href="https://www.facebook.com/wpcerber/">Follow Cerber on Facebook</a></p>
|
120 |
';
|
cerber-scanner.php
CHANGED
@@ -80,143 +80,9 @@ define( 'CRB_SCAN_DTE', '__CERBER__SECURITY_SCAN_DATA_E' );
|
|
80 |
|
81 |
define( 'CRB_SCAN_RCV_DIR', 'recovery' );
|
82 |
|
83 |
-
|
84 |
-
// http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
|
85 |
-
|
86 |
-
$msg = '';
|
87 |
-
$status = 0;
|
88 |
-
|
89 |
-
if ( $scan = cerber_get_scan() ) {
|
90 |
-
if ( ! $scan['finished'] ) {
|
91 |
-
if ( $scan['cloud']
|
92 |
-
&& cerber_is_cloud_enabled()
|
93 |
-
&& $scan['started'] > ( time() - 900 )
|
94 |
-
) {
|
95 |
-
$msg = __( 'Currently a scheduled scan in progress. Please wait until it is finished.', 'wp-cerber' );
|
96 |
-
$status = 1;
|
97 |
-
}
|
98 |
-
else {
|
99 |
-
$msg = sprintf( __( 'Previous scan started %s has not been completed. Continue scanning?', 'wp-cerber' ), cerber_date( $scan['started'] ) );
|
100 |
-
$status = 2;
|
101 |
-
}
|
102 |
-
}
|
103 |
-
else {
|
104 |
-
|
105 |
-
}
|
106 |
-
}
|
107 |
-
else {
|
108 |
-
$msg = __( 'It seems this website has never been scanned. To start scanning click the button below.', 'wp-cerber' );
|
109 |
-
}
|
110 |
-
|
111 |
-
$start_quick = '<input data-control="start_scan" data-mode="quick" type="button" value="' . __( 'Start Quick Scan', 'wp-cerber' ) . '" class="button button-primary">';
|
112 |
-
$start_full = '<input data-control="start_scan" data-mode="full" type="button" value="' . __( 'Start Full Scan', 'wp-cerber' ) . '" class="button button-primary">';
|
113 |
-
$stop = '<input id="crb-stop-scan" style="display: none;" data-control="stop_scan" type="button" value="' . __( 'Stop Scanning', 'wp-cerber' ) . '" class="button button-primary">';
|
114 |
-
$continue = '<input id="crb-continue-scan" data-control="continue_scan" type="button" value="' . __( 'Continue Scanning', 'wp-cerber' ) . '" class="button button-primary">';
|
115 |
-
$controls = '';
|
116 |
-
|
117 |
-
switch ( $status ) {
|
118 |
-
case 0:
|
119 |
-
$controls = $start_quick . $start_full;
|
120 |
-
break;
|
121 |
-
case 1:
|
122 |
-
$controls = '';
|
123 |
-
break;
|
124 |
-
case 2:
|
125 |
-
$controls = $start_quick . $start_full . $continue;
|
126 |
-
break;
|
127 |
-
}
|
128 |
-
|
129 |
-
$controls .= $stop;
|
130 |
-
|
131 |
-
|
132 |
-
echo '<div id="crb-scanner">';
|
133 |
-
|
134 |
-
cerber_scanner_dashboard( $msg );
|
135 |
-
|
136 |
-
$d = '';
|
137 |
-
if ( nexus_is_valid_request() && ! nexus_is_granted( 'submit' ) ) {
|
138 |
-
$d = 'disabled="disabled"';
|
139 |
-
}
|
140 |
-
|
141 |
-
?>
|
142 |
-
<div id="crb-scan-area">
|
143 |
-
<form>
|
144 |
-
<table id="crb-scan-controls">
|
145 |
-
<tr>
|
146 |
-
<td id="crb-file-controls">
|
147 |
-
<input data-control="delete_file" type="button"
|
148 |
-
class="button button-secondary"
|
149 |
-
<?php echo $d; ?>
|
150 |
-
value="<?php _e( 'Delete', 'wp-cerber' ); ?>"/>
|
151 |
-
<input data-control="ignore_add_file" type="button" class="button button-secondary"
|
152 |
-
<?php echo $d; ?>
|
153 |
-
value="<?php _e( 'Ignore', 'wp-cerber' ); ?>"/>
|
154 |
-
</td>
|
155 |
-
<td>
|
156 |
-
<?php echo $controls; ?>
|
157 |
-
</td>
|
158 |
-
<!-- <td><a href="#" data-control="full-paths">Show full paths</a></td> -->
|
159 |
-
<td><a href="#" class="dashicons dashicons-list-view" data-control="full-paths"
|
160 |
-
title="Toggle full/relative paths"></a></td>
|
161 |
-
</tr>
|
162 |
-
</table>
|
163 |
-
</form>
|
164 |
-
</div>
|
165 |
-
|
166 |
-
<?php
|
167 |
-
|
168 |
-
echo '</div>';
|
169 |
-
}
|
170 |
-
|
171 |
-
add_action( 'wp_ajax_cerber_scan_control', 'cerber_manual_scan' );
|
172 |
-
function cerber_manual_scan() {
|
173 |
-
|
174 |
-
cerber_check_ajax_permissions();
|
175 |
-
|
176 |
-
ob_start(); // Collecting possible junk warnings and notices cause we need clean JSON to be sent
|
177 |
-
|
178 |
-
$scanner = array();
|
179 |
-
$console_log = array();
|
180 |
-
$scan_do = '';
|
181 |
-
|
182 |
-
if ( cerber_is_http_post() && $scan_do = crb_get_post_fields( 'cerber_scan_do' ) ) {
|
183 |
-
$scan_do = preg_replace( '/[^a-z_\-\d]/i', '', $scan_do );
|
184 |
-
//$mode = ( isset( $_POST['cerber_scan_mode'] ) ) ? preg_replace( '/[^a-z_\-\d]/i', '', $_POST['cerber_scan_mode'] ) : 'quick';
|
185 |
-
$mode = ( $mode = crb_get_post_fields( 'cerber_scan_mode' ) ) ? preg_replace( '/[^a-z_\-\d]/i', '', $mode ) : 'quick';
|
186 |
-
|
187 |
-
$scanner = cerber_scanner( $scan_do, $mode );
|
188 |
-
|
189 |
-
}
|
190 |
-
else {
|
191 |
-
$console_log[] = 'Unknown HTTP request';
|
192 |
-
}
|
193 |
-
|
194 |
-
$next_do = ( ! empty( $scanner['cerber_scan_do'] ) ) ? $scanner['cerber_scan_do'] : 'stop';
|
195 |
-
|
196 |
-
$console_log = array_merge( $console_log, cerber_db_get_errors() );
|
197 |
-
|
198 |
-
$console_log[] = 'PHP MEMORY ' . @ini_get( 'memory_limit' );
|
199 |
-
|
200 |
-
$ret = array(
|
201 |
-
'console_log' => $console_log,
|
202 |
-
'cerber_scan_do' => $next_do,
|
203 |
-
'cerber_scanner' => $scanner,
|
204 |
-
//'scan' => cerber_get_scan(), // debug only
|
205 |
-
);
|
206 |
-
|
207 |
-
if ( $scan_do != 'continue_scan' ) {
|
208 |
-
$ret['strings'] = cerber_get_strings();
|
209 |
-
}
|
210 |
-
|
211 |
-
ob_end_clean();
|
212 |
-
|
213 |
-
echo json_encode( $ret );
|
214 |
-
|
215 |
-
crb_admin_stop_ajax();
|
216 |
-
}
|
217 |
|
218 |
add_action( 'plugins_loaded', function () {
|
219 |
-
global $cerber_db_errors;
|
220 |
|
221 |
if ( ! cerber_is_cloud_request() ) {
|
222 |
return;
|
@@ -294,7 +160,7 @@ add_action( 'plugins_loaded', function () {
|
|
294 |
|
295 |
$db_errors = array_map( function ( $err ) {
|
296 |
return substr( $err, 0, 1000 );
|
297 |
-
},
|
298 |
|
299 |
$ret = array(
|
300 |
'cerber_scanner' => $scanner,
|
@@ -322,7 +188,7 @@ add_action( 'plugins_loaded', function () {
|
|
322 |
} );
|
323 |
|
324 |
function cerber_scanner( $control, $mode ) {
|
325 |
-
global $
|
326 |
|
327 |
if ( crb_get_settings( 'scan_debug' ) ) {
|
328 |
register_shutdown_function( function () {
|
@@ -339,9 +205,9 @@ function cerber_scanner( $control, $mode ) {
|
|
339 |
|
340 |
if ( function_exists( 'wp_raise_memory_limit' ) ) {
|
341 |
if ( ! wp_raise_memory_limit( 'admin' ) ) {
|
342 |
-
|
343 |
-
crb_scan_debug( $m );
|
344 |
-
|
345 |
}
|
346 |
}
|
347 |
|
@@ -436,7 +302,7 @@ function cerber_scanner( $control, $mode ) {
|
|
436 |
$ret['cerber_scan_do'] = 'stop';
|
437 |
}
|
438 |
|
439 |
-
if (
|
440 |
cerber_watchdog( true );
|
441 |
}
|
442 |
|
@@ -517,28 +383,35 @@ function cerber_step_scanning() {
|
|
517 |
break;
|
518 |
case 5:
|
519 |
$x = 0;
|
520 |
-
if ( $result = cerber_db_get_results( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan['id'] . ' AND file_hash = ""' ) ) {
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
$
|
530 |
break;
|
531 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
}
|
533 |
-
$x ++;
|
534 |
}
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
else {
|
540 |
-
$aborted = 1;
|
541 |
}
|
|
|
|
|
|
|
542 |
break;
|
543 |
case 6:
|
544 |
if ( cerber_is_check_fs() ) {
|
@@ -1735,7 +1608,7 @@ function cerber_verify_plugins() {
|
|
1735 |
continue;
|
1736 |
}
|
1737 |
|
1738 |
-
$short_name = cerber_get_short_name( $local_file );
|
1739 |
|
1740 |
if ( empty( $local_file['file_hash'] ) ) {
|
1741 |
$issues[] = array( 11, $short_name, 'file' => $local_file );
|
@@ -2045,12 +1918,23 @@ function cerber_process_files(){
|
|
2045 |
}*/
|
2046 |
|
2047 |
$in = '0';
|
|
|
2048 |
|
2049 |
-
if (
|
2050 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2051 |
return 0;
|
2052 |
}
|
2053 |
|
|
|
|
|
|
|
|
|
2054 |
// Plugins data -------------------
|
2055 |
|
2056 |
$plugins = array();
|
@@ -2079,7 +1963,6 @@ function cerber_process_files(){
|
|
2079 |
$can_be_deleted = array( CERBER_FT_UPLOAD, CERBER_FT_CNT, CERBER_FT_OTHER, CERBER_FT_LNG );
|
2080 |
|
2081 |
$issues = array();
|
2082 |
-
$remain = 0;
|
2083 |
|
2084 |
// Prevent hanging
|
2085 |
if ( $f = cerber_get_set( CRB_LAST_FILE, 0, false ) ) {
|
@@ -2247,7 +2130,7 @@ function cerber_process_files(){
|
|
2247 |
}
|
2248 |
}
|
2249 |
else {
|
2250 |
-
$short_name = cerber_get_short_name( $file );
|
2251 |
}
|
2252 |
|
2253 |
// Is file can be deleted?
|
@@ -2892,7 +2775,7 @@ function cerber_verify_files( $hash_data, $field = 'file_hash', $local_prefix =
|
|
2892 |
continue;
|
2893 |
}
|
2894 |
|
2895 |
-
$short_name = cerber_get_short_name( $local_file );
|
2896 |
|
2897 |
if ( empty( $local_file[ $field ] ) ) {
|
2898 |
$issues[] = array( 11, $short_name, 'file' => $local_file );
|
@@ -3191,7 +3074,7 @@ function cerber_obtain_hash( $url, $nocache = false ) {
|
|
3191 |
}
|
3192 |
|
3193 |
if ( ! empty( $ret['curl_error'] ) ) {
|
3194 |
-
$err
|
3195 |
$ret['curl_error'] = $err;
|
3196 |
}
|
3197 |
|
@@ -3301,7 +3184,10 @@ function cerber_is_htaccess( $file_name ) {
|
|
3301 |
}
|
3302 |
|
3303 |
function cerber_is_dropin( $file_name ) {
|
3304 |
-
$dropins
|
|
|
|
|
|
|
3305 |
if ( isset( $dropins[ basename( $file_name ) ] ) ) {
|
3306 |
if ( cerber_get_content_dir() == dirname( $file_name ) ) {
|
3307 |
return true;
|
@@ -3460,7 +3346,7 @@ function cerber_get_prev_scan_id( $scan_id = 0 ) {
|
|
3460 |
$prev_id = 0;
|
3461 |
foreach ( $scans as $item ) {
|
3462 |
$scan = unserialize( $item['the_value'] );
|
3463 |
-
if ( $scan['mode'] == $cerber_scan_mode ) {
|
3464 |
$prev_id = $scan['id'];
|
3465 |
break;
|
3466 |
}
|
@@ -3912,13 +3798,15 @@ function cerber_array_merge_recurively( $a1, $a2 ) {
|
|
3912 |
return $a1;
|
3913 |
}
|
3914 |
|
3915 |
-
function cerber_get_short_name( $file_row ) {
|
3916 |
-
|
|
|
3917 |
return '';
|
3918 |
}
|
3919 |
-
|
3920 |
$len = null;
|
3921 |
-
switch ( $file_row['file_type'] ) {
|
|
|
3922 |
case CERBER_FT_PLUGIN:
|
3923 |
$len = mb_strlen( cerber_get_plugins_dir() );
|
3924 |
break;
|
@@ -3949,244 +3837,8 @@ function cerber_get_short_name( $file_row ) {
|
|
3949 |
return $ret;
|
3950 |
}
|
3951 |
|
3952 |
-
function cerber_scanner_dashboard( $msg = '' ) {
|
3953 |
-
?>
|
3954 |
-
<div id="crb-scan-display">
|
3955 |
-
<div id="crb-the-table">
|
3956 |
-
<div class="crb-scan-info scan-tile">
|
3957 |
-
<table>
|
3958 |
-
<tr>
|
3959 |
-
<td><?php _e( 'Started', 'wp-cerber' ); ?></td>
|
3960 |
-
<td id="crb-started" data-init="-">-</td>
|
3961 |
-
</tr>
|
3962 |
-
<tr>
|
3963 |
-
<td><?php _e( 'Finished', 'wp-cerber' ); ?></td>
|
3964 |
-
<td id="crb-finished" data-init="-">-</td>
|
3965 |
-
</tr>
|
3966 |
-
<tr>
|
3967 |
-
<td><?php _e( 'Duration', 'wp-cerber' ); ?></td>
|
3968 |
-
<td id="crb-duration" data-init="-">-</td>
|
3969 |
-
</tr>
|
3970 |
-
<tr>
|
3971 |
-
<td><?php _e( 'Performance', 'wp-cerber' ); ?></td>
|
3972 |
-
<td id="crb-performance" data-init="-">-</td>
|
3973 |
-
</tr>
|
3974 |
-
<tr>
|
3975 |
-
<td>Mode</td>
|
3976 |
-
<td id="crb-smode" data-init="-">-</td>
|
3977 |
-
</tr>
|
3978 |
-
</table>
|
3979 |
-
</div>
|
3980 |
-
<div id="crb-scan-filter" class="crb-scan-info scan-tile">
|
3981 |
-
<table>
|
3982 |
-
<!--<tr id="crb-numbers-4">
|
3983 |
-
<td><span><?php _e( 'Vulnerabilities', 'wp-cerber' ); ?></span></td>
|
3984 |
-
<td class="crb-scan-number" data-init="-">-</td>
|
3985 |
-
</tr> -->
|
3986 |
-
<tr id="crb-numbers-51">
|
3987 |
-
<td><span data-itype-list="[51]"><?php _e( 'New files', 'wp-cerber' ); ?></span></td>
|
3988 |
-
<td class="crb-scan-number" data-init="-">-</td>
|
3989 |
-
</tr>
|
3990 |
-
<tr id="crb-numbers-50">
|
3991 |
-
<td><span data-itype-list="[50]"><?php _e( 'Changed files', 'wp-cerber' ); ?></span></td>
|
3992 |
-
<td class="crb-scan-number" data-init="-">-</td>
|
3993 |
-
</tr>
|
3994 |
-
<tr id="crb-numbers-15">
|
3995 |
-
<td><span data-itype-list="[15]"><?php _e( 'Checksum mismatch', 'wp-cerber' ); ?></span></td>
|
3996 |
-
<td class="crb-scan-number" data-init="-">-</td>
|
3997 |
-
</tr>
|
3998 |
-
<tr id="crb-numbers-30">
|
3999 |
-
<td><span data-itype-list="[30]"><?php _e( 'Unwanted extensions', 'wp-cerber' ); ?></span></td>
|
4000 |
-
<td class="crb-scan-number" data-init="-">-</td>
|
4001 |
-
</tr>
|
4002 |
-
<tr id="crb-numbers-18">
|
4003 |
-
<td><span data-itype-list="[18]" data-setype-list="[21]"><?php _e( 'Unattended files', 'wp-cerber' ); ?></span></td>
|
4004 |
-
<td class="crb-scan-number" data-init="-">-</td>
|
4005 |
-
</tr>
|
4006 |
-
</table>
|
4007 |
-
</div>
|
4008 |
-
<div class="scan-tile">
|
4009 |
-
<div><p><span id="crb-scanned-files" data-init="0">0</span> / <span id="crb-total-files"
|
4010 |
-
data-init="0">0</span>
|
4011 |
-
</p>
|
4012 |
-
<p><?php echo __( 'Scanned', 'wp-cerber' ) . ' / ' . __( 'Files to scan', 'wp-cerber' ); ?></p>
|
4013 |
-
</div>
|
4014 |
-
</div>
|
4015 |
-
|
4016 |
-
<div class="scan-tile">
|
4017 |
-
<div><p><span id="crb-critical" data-init="0">0</span> / <span id="crb-warning" data-init="0">0</span>
|
4018 |
-
</p>
|
4019 |
-
<p><?php _e( 'Critical issues', 'wp-cerber' ); ?> / <?php _e( 'Issues total', 'wp-cerber' ); ?></p>
|
4020 |
-
</div>
|
4021 |
-
</div>
|
4022 |
-
|
4023 |
-
</div>
|
4024 |
-
|
4025 |
-
<div id="crb-scan-progress">
|
4026 |
-
<div>
|
4027 |
-
<div id="the-scan-bar"></div>
|
4028 |
-
</div>
|
4029 |
-
</div>
|
4030 |
-
|
4031 |
-
<p id="crb-scan-message"><?php echo $msg; ?></p>
|
4032 |
-
|
4033 |
-
</div>
|
4034 |
-
<div id="crb-scan-details">
|
4035 |
-
<table class="crb-table" id="crb-browse-files">
|
4036 |
-
<?php
|
4037 |
-
$rows = array();
|
4038 |
-
$rows[] = '<tr class="crb-scan-container" id="crb-wordpress" style=""><td colspan="6">WordPress</td></tr>';
|
4039 |
-
$rows[] = '<tr class="crb-scan-container" id="crb-muplugins" style=""><td colspan="6">Must use plugins</td></tr>';
|
4040 |
-
$rows[] = '<tr class="crb-scan-container" id="crb-dropins" style=""><td colspan="6">Drop-ins</td></tr>';
|
4041 |
-
$rows[] = '<tr class="crb-scan-container" id="crb-plugins" style=""><td colspan="6">Plugins</td></tr>';
|
4042 |
-
|
4043 |
-
/*
|
4044 |
-
$plugins = get_plugins();
|
4045 |
-
foreach ( $plugins as $plugin ) {
|
4046 |
-
$rows[] = '<tr class="crb-scan-section" id="' . sha1( $plugin['Name'] ) . '" style="display:none;"></tr>';
|
4047 |
-
}
|
4048 |
-
*/
|
4049 |
-
$rows[] = '<tr class="crb-scan-container" id="crb-themes" style=""><td colspan="6">Themes</td></tr>';
|
4050 |
-
|
4051 |
-
/*$themes = wp_get_themes();
|
4052 |
-
foreach ( $themes as $theme_folder => $theme ) {
|
4053 |
-
$rows[] = '<tr class="crb-scan-section" id="' . sha1( $theme->get( 'Name' ) ) . '" style="display:none;"></tr>';
|
4054 |
-
}*/
|
4055 |
-
|
4056 |
-
$rows[] = '<tr class="crb-scan-container" id="crb-uploads" style=""><td colspan="6">Uploads folder</td></tr>';
|
4057 |
-
$rows[] = '<tr class="crb-scan-container" id="crb-unattended" style=""><td colspan="6">Unattended files</td></tr>';
|
4058 |
-
echo implode("\n",$rows);
|
4059 |
-
?>
|
4060 |
-
</table>
|
4061 |
-
</div>
|
4062 |
-
|
4063 |
-
<?php
|
4064 |
-
|
4065 |
-
cerber_ref_upload_form();
|
4066 |
-
}
|
4067 |
-
|
4068 |
-
/**
|
4069 |
-
* Finalizes current AJAX request and sends data to the client
|
4070 |
-
*
|
4071 |
-
* @param $data array
|
4072 |
-
*/
|
4073 |
-
function cerber_end_ajax( $data = array() ) {
|
4074 |
-
global $cerber_db_errors;
|
4075 |
-
|
4076 |
-
if ( ! $data ) {
|
4077 |
-
$data = array();
|
4078 |
-
}
|
4079 |
-
|
4080 |
-
if ( ! $cerber_db_errors ) {
|
4081 |
-
$data['OK'] = 'OK!';
|
4082 |
-
}
|
4083 |
-
|
4084 |
-
$data['cerber_db_errors'] = $cerber_db_errors;
|
4085 |
-
|
4086 |
-
echo json_encode( $data );
|
4087 |
-
|
4088 |
-
if ( ! nexus_is_valid_request() ) {
|
4089 |
-
wp_die();
|
4090 |
-
}
|
4091 |
-
}
|
4092 |
-
|
4093 |
-
function crb_admin_stop_ajax( $msg = '' ) {
|
4094 |
-
if ( $msg ) {
|
4095 |
-
echo $msg;
|
4096 |
-
}
|
4097 |
-
if ( ! nexus_is_valid_request() ) {
|
4098 |
-
//wp_die();
|
4099 |
-
exit;
|
4100 |
-
}
|
4101 |
-
}
|
4102 |
-
|
4103 |
-
|
4104 |
-
|
4105 |
// ======================================================================================================
|
4106 |
|
4107 |
-
|
4108 |
-
|
4109 |
-
function cerber_ref_upload_form() {
|
4110 |
-
?>
|
4111 |
-
<div id="crb-ref-upload-dialog" style="display: none;">
|
4112 |
-
<p><?php _e( 'We have not found any integrity data to verify', 'wp-cerber' ); ?> <span
|
4113 |
-
id="ref-section-name"></span>.</p>
|
4114 |
-
<p><?php _e( "You have to upload a ZIP archive from which you've installed it. This enables the security scanner to verify the integrity of the code and detect malware.", 'wp-cerber' ); ?></p>
|
4115 |
-
<p><?php echo sprintf( __( 'Maximum upload file size: %s.'), esc_html(size_format(wp_max_upload_size()))); ?></p>
|
4116 |
-
<form enctype="multipart/form-data">
|
4117 |
-
<input type="file" name="refile" id="refile" required="required" accept=".zip">
|
4118 |
-
<input type="submit" name="submit" value="<?php _e( 'Upload file', 'wp-cerber' ); ?>"
|
4119 |
-
class="button button-primary">
|
4120 |
-
<ul style="list-style: none;">
|
4121 |
-
<li style="display:none;" class="crb-status-msg">Uploading the file, please wait…</li>
|
4122 |
-
<li style="display:none;" class="crb-status-msg">Processing the file, please wait…</li>
|
4123 |
-
</ul>
|
4124 |
-
</form>
|
4125 |
-
</div>
|
4126 |
-
|
4127 |
-
<?php
|
4128 |
-
}
|
4129 |
-
|
4130 |
-
/**
|
4131 |
-
* Upload a reference ZIP archive for a theme or a plugin
|
4132 |
-
*
|
4133 |
-
*/
|
4134 |
-
add_action( 'wp_ajax_cerber_ref_upload', function () {
|
4135 |
-
|
4136 |
-
cerber_check_ajax_permissions();
|
4137 |
-
|
4138 |
-
//ob_start(); // Collecting possible junk warnings and notices cause we need clean JSON to be sent
|
4139 |
-
|
4140 |
-
$error = '';
|
4141 |
-
|
4142 |
-
$folder = cerber_get_tmp_file_folder();
|
4143 |
-
if ( is_wp_error( $folder ) ) {
|
4144 |
-
cerber_end_ajax( array( 'error' => $folder->get_error_message() ) );
|
4145 |
-
}
|
4146 |
-
|
4147 |
-
if ( isset( $_FILES['refile'] ) ) {
|
4148 |
-
|
4149 |
-
// Step 1, saving file
|
4150 |
-
|
4151 |
-
if ( ! is_uploaded_file( $_FILES['refile']['tmp_name'] ) ) {
|
4152 |
-
$error = 'Unable to read uploaded file';
|
4153 |
-
}
|
4154 |
-
|
4155 |
-
if ( ! cerber_check_extension( $_FILES['refile']['name'], array( 'zip' ) ) ) {
|
4156 |
-
$error = 'Incorrect file format';
|
4157 |
-
}
|
4158 |
-
|
4159 |
-
if ( cerber_detect_exec_extension( $_FILES['refile']['name'] ) ) {
|
4160 |
-
$error = 'Incorrect file format';
|
4161 |
-
}
|
4162 |
-
|
4163 |
-
if ( false !== strpos( $_FILES['refile']['name'], '/' ) ) {
|
4164 |
-
$error = 'Incorrect filename';
|
4165 |
-
}
|
4166 |
-
|
4167 |
-
if ( $error ) {
|
4168 |
-
cerber_end_ajax( array( 'error' => $error ) );
|
4169 |
-
}
|
4170 |
-
|
4171 |
-
if ( false === @move_uploaded_file( $_FILES['refile']['tmp_name'], $folder . $_FILES['refile']['name'] ) ) {
|
4172 |
-
cerber_end_ajax( array( 'error' => 'Unable to copy file to ' . $folder ) );
|
4173 |
-
}
|
4174 |
-
|
4175 |
-
}
|
4176 |
-
else {
|
4177 |
-
|
4178 |
-
// Step 2, creating hash
|
4179 |
-
|
4180 |
-
$result = cerber_need_for_hash();
|
4181 |
-
if ( is_wp_error( $result ) ) {
|
4182 |
-
cerber_end_ajax( array( 'error' => $result->get_error_message() ) );
|
4183 |
-
}
|
4184 |
-
}
|
4185 |
-
|
4186 |
-
cerber_end_ajax();
|
4187 |
-
|
4188 |
-
} );
|
4189 |
-
|
4190 |
// Process a manually installed/upgraded plugin/theme, part 1
|
4191 |
add_filter( 'wp_insert_attachment_data', function ( $data, $postarr ) {
|
4192 |
global $crb_new_zip_file;
|
@@ -4563,31 +4215,6 @@ function cerber_unzip( $file_name, $folder ) {
|
|
4563 |
|
4564 |
}
|
4565 |
|
4566 |
-
/**
|
4567 |
-
* @return WP_Error|WP_Filesystem_Direct
|
4568 |
-
*/
|
4569 |
-
function cerber_init_wp_filesystem() {
|
4570 |
-
global $wp_filesystem;
|
4571 |
-
|
4572 |
-
if ( $wp_filesystem instanceof WP_Filesystem_Direct ) { // @since 8.1.5
|
4573 |
-
return $wp_filesystem;
|
4574 |
-
}
|
4575 |
-
|
4576 |
-
require_once( ABSPATH . 'wp-admin/includes/file.php' );
|
4577 |
-
|
4578 |
-
add_filter( 'filesystem_method', '__ret_direct' );
|
4579 |
-
if ( ! WP_Filesystem() ) {
|
4580 |
-
return new WP_Error( 'cerber-file', 'Unable to init WP_Filesystem' );
|
4581 |
-
}
|
4582 |
-
remove_filter( 'filesystem_method', '__ret_direct' );
|
4583 |
-
|
4584 |
-
return $wp_filesystem;
|
4585 |
-
}
|
4586 |
-
|
4587 |
-
function __ret_direct() {
|
4588 |
-
return 'direct';
|
4589 |
-
}
|
4590 |
-
|
4591 |
function cerber_detect_object( $folder = '' ) {
|
4592 |
|
4593 |
// Look for a theme
|
@@ -4703,286 +4330,113 @@ function cerber_check_theme_data( $folder ) {
|
|
4703 |
}
|
4704 |
|
4705 |
/**
|
4706 |
-
*
|
|
|
|
|
|
|
|
|
4707 |
*
|
|
|
4708 |
*/
|
4709 |
-
|
4710 |
-
|
4711 |
-
|
4712 |
-
|
4713 |
-
$get = crb_get_query_params();
|
4714 |
-
$file_name = $get['file'];
|
4715 |
-
|
4716 |
-
if ( ! @is_file( $file_name ) ) {
|
4717 |
-
crb_admin_stop_ajax( 'I/O Error' );
|
4718 |
-
|
4719 |
-
return;
|
4720 |
}
|
4721 |
|
4722 |
-
$
|
4723 |
-
|
4724 |
-
|
4725 |
-
crb_admin_stop_ajax( 'Error: This file is too large to display.' );
|
4726 |
|
4727 |
-
|
|
|
4728 |
}
|
4729 |
|
4730 |
-
|
4731 |
-
|
4732 |
-
|
4733 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4734 |
}
|
4735 |
|
4736 |
-
|
4737 |
-
|
4738 |
-
$the_file = cerber_db_get_row( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan_id . ' AND file_name = "' . $file_name . '"' );
|
4739 |
-
|
4740 |
-
if ( ! $the_file ) {
|
4741 |
-
crb_admin_stop_ajax( __( 'File access error. Possibly scan results are outdated. Please run Quick or Full Scan.', 'wp-cerber' ) );
|
4742 |
|
4743 |
-
|
|
|
|
|
|
|
|
|
4744 |
}
|
4745 |
-
|
4746 |
-
|
4747 |
-
|
4748 |
-
|
4749 |
-
|
|
|
|
|
4750 |
}
|
4751 |
-
|
4752 |
-
|
4753 |
-
|
4754 |
-
if ( ! $source ) {
|
4755 |
-
$source = 'Unable to display the contents of the file. This file contains non-printable characters.';
|
4756 |
}
|
|
|
|
|
|
|
|
|
|
|
4757 |
|
4758 |
-
|
4759 |
-
|
4760 |
-
|
4761 |
-
|
4762 |
-
|
4763 |
-
|
4764 |
-
|
4765 |
-
|
4766 |
-
|
4767 |
-
|
4768 |
-
$overlay = '';
|
4769 |
-
if ( $paint ) {
|
4770 |
-
$overlay = '<div id="crb-overlay">Loading, please wait...</div>';
|
4771 |
-
}
|
4772 |
-
|
4773 |
-
$sh_url = plugin_dir_url( __FILE__ ) . 'assets/sh/';
|
4774 |
-
$sheight = absint( $get['sheight'] ) - 100; // highlighter is un-responsible, so we need tell him the real height
|
4775 |
-
$c_height = absint( $get['sheight'] );
|
4776 |
-
|
4777 |
-
?>
|
4778 |
-
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
|
4779 |
-
<head>
|
4780 |
-
<script type="text/javascript" src="<?php echo $sh_url ?>scripts/shCore.js"></script>
|
4781 |
-
<script type="text/javascript" src="<?php echo $sh_url; ?>scripts/shBrushPhp.js"></script>
|
4782 |
-
<link href="<?php echo $sh_url; ?>styles/shCore.css" rel="stylesheet" type="text/css" />
|
4783 |
-
<link href="<?php echo $sh_url; ?>styles/shThemeDefault.css" rel="stylesheet" type="text/css" />
|
4784 |
-
<style type="text/css" media="all">
|
4785 |
-
body {
|
4786 |
-
overflow: hidden;
|
4787 |
-
font-family: 'Roboto', sans-serif;
|
4788 |
-
font-size: 14px;
|
4789 |
-
}
|
4790 |
|
4791 |
-
|
4792 |
-
|
4793 |
-
justify-content: center;
|
4794 |
-
align-items: center;
|
4795 |
-
text-align: center;
|
4796 |
-
background-color: #fff;
|
4797 |
-
position: fixed;
|
4798 |
-
width: 100%;
|
4799 |
-
height: 100%
|
4800 |
-
z-index: 2;
|
4801 |
-
top: 0;
|
4802 |
-
left: 0;
|
4803 |
-
right: 0;
|
4804 |
-
bottom: 0;
|
4805 |
-
}
|
4806 |
|
4807 |
-
#crb-issue {
|
4808 |
-
border-left: 3px solid crimson;
|
4809 |
-
background-color: #eee;
|
4810 |
-
padding: 1em;
|
4811 |
-
overflow: auto;
|
4812 |
-
}
|
4813 |
-
|
4814 |
-
#crb-file-content {
|
4815 |
-
<?php
|
4816 |
-
if (!$paint) {
|
4817 |
-
echo '
|
4818 |
-
max-height: '.$sheight .'px;
|
4819 |
-
overflow: auto;
|
4820 |
-
padding: 15px;
|
4821 |
-
';
|
4822 |
-
}
|
4823 |
-
else {
|
4824 |
-
echo 'overflow: hidden;';
|
4825 |
-
}
|
4826 |
-
?>
|
4827 |
-
}
|
4828 |
-
|
4829 |
-
.syntaxhighlighter {
|
4830 |
-
max-height: <?php echo $sheight; ?>px;
|
4831 |
-
}
|
4832 |
-
|
4833 |
-
.syntaxhighlighter code {
|
4834 |
-
font-family: Menlo, Consolas, Monaco, monospace !important;
|
4835 |
-
font-size: 13px !important;
|
4836 |
-
}
|
4837 |
-
|
4838 |
-
.syntaxhighlighter .gutter .line{
|
4839 |
-
border-right: 3px solid #c7c7c7 !important;
|
4840 |
-
}
|
4841 |
-
|
4842 |
-
</style>
|
4843 |
-
</head>
|
4844 |
-
|
4845 |
-
<body>
|
4846 |
-
|
4847 |
-
<?php
|
4848 |
-
|
4849 |
-
echo $overlay;
|
4850 |
-
|
4851 |
-
echo '<pre id="crb-file-content" class="brush: php; toolbar: false;">' . $source . '</pre>';
|
4852 |
-
|
4853 |
-
if ( $the_file ) {
|
4854 |
-
echo '<div id="crb-issue">Issue: ' . cerber_get_issue_label( $the_file['scan_status'] ) . '</div>';
|
4855 |
-
}
|
4856 |
-
|
4857 |
-
if ( $paint ) :
|
4858 |
-
?>
|
4859 |
-
|
4860 |
-
<script type="text/javascript">
|
4861 |
-
SyntaxHighlighter.defaults["highlight"];
|
4862 |
-
SyntaxHighlighter.all();
|
4863 |
-
function crb_waitUntilRender() {
|
4864 |
-
var overlay = document.getElementById("crb-overlay").style.visibility = "hidden";
|
4865 |
-
}
|
4866 |
-
var intervalID = setInterval(crb_waitUntilRender, 200);
|
4867 |
-
|
4868 |
-
|
4869 |
-
</script>
|
4870 |
-
|
4871 |
-
<?php
|
4872 |
-
|
4873 |
-
endif;
|
4874 |
-
|
4875 |
-
?>
|
4876 |
-
|
4877 |
-
</body>
|
4878 |
-
</html>
|
4879 |
-
|
4880 |
-
<?php
|
4881 |
-
|
4882 |
-
crb_admin_stop_ajax();
|
4883 |
-
|
4884 |
-
} );
|
4885 |
-
|
4886 |
-
|
4887 |
-
/**
|
4888 |
-
* Deleting files, server side AJAX
|
4889 |
-
*
|
4890 |
-
*/
|
4891 |
-
add_action( 'wp_ajax_cerber_scan_bulk_files', function () {
|
4892 |
-
|
4893 |
-
cerber_check_ajax_permissions();
|
4894 |
-
|
4895 |
-
$post = crb_get_post_fields();
|
4896 |
-
|
4897 |
-
if ( empty( $post['files'] ) || empty( $post['scan_id'] ) ) {
|
4898 |
-
crb_admin_stop_ajax( 'Error!' );
|
4899 |
-
|
4900 |
-
return;
|
4901 |
-
}
|
4902 |
-
|
4903 |
-
$scan_id = absint( $post['scan_id'] );
|
4904 |
-
|
4905 |
-
if ( ! cerber_get_scan( $scan_id ) ) {
|
4906 |
-
crb_admin_stop_ajax( 'Error!' );
|
4907 |
-
|
4908 |
-
return;
|
4909 |
-
}
|
4910 |
-
|
4911 |
-
$operation = $post['scan_file_operation'];
|
4912 |
-
|
4913 |
-
if ( ( ! $ignore = cerber_get_set( 'ignore-list' ) ) || ! is_array( $ignore ) ) {
|
4914 |
-
$ignore = array();
|
4915 |
-
}
|
4916 |
-
|
4917 |
-
global $crb_list;
|
4918 |
-
$crb_list = array();
|
4919 |
-
$i = 0;
|
4920 |
-
$errors = array();
|
4921 |
-
$time = time();
|
4922 |
-
$user_id = get_current_user_id();
|
4923 |
-
|
4924 |
-
foreach ( $post['files'] as $file_name ) {
|
4925 |
-
|
4926 |
-
if ( ! is_file( $file_name ) ) {
|
4927 |
-
continue;
|
4928 |
-
}
|
4929 |
-
|
4930 |
-
$the_file = cerber_db_get_row( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan_id . ' AND file_name = "' . $file_name . '"', MYSQL_FETCH_OBJECT );
|
4931 |
-
if ( ! $the_file || ! is_file( $the_file->file_name ) ) {
|
4932 |
-
$errors[] = 'Unknown file: '.$file_name;
|
4933 |
-
continue;
|
4934 |
-
}
|
4935 |
-
|
4936 |
-
switch ( $operation ) {
|
4937 |
-
case 'delete_file':
|
4938 |
-
$result = cerber_quarantine_file( $file_name, $scan_id );
|
4939 |
-
break;
|
4940 |
-
case 'ignore_add_file':
|
4941 |
-
$ignore[ $the_file->file_name_hash ] = array(
|
4942 |
-
$the_file->file_name,
|
4943 |
-
@hash_file( 'sha256', $the_file->file_name ),
|
4944 |
-
$user_id,
|
4945 |
-
$time,
|
4946 |
-
);
|
4947 |
-
$result = true;
|
4948 |
-
break;
|
4949 |
-
}
|
4950 |
-
|
4951 |
-
if ( is_wp_error( $result ) ) {
|
4952 |
-
$errors[] = $result->get_error_message();
|
4953 |
-
}
|
4954 |
-
elseif ( ! $result ) {
|
4955 |
-
$errors[] = 'Unknown error 55';
|
4956 |
-
}
|
4957 |
-
else {
|
4958 |
-
$i ++;
|
4959 |
-
$crb_list[] = $file_name;
|
4960 |
-
}
|
4961 |
-
|
4962 |
-
}
|
4963 |
-
|
4964 |
-
if ( $operation == 'ignore_add_file' ) {
|
4965 |
-
// Update the last scan results to keep it up to date and avoid user confusing
|
4966 |
-
if ( $scan = cerber_get_scan() ) {
|
4967 |
-
$scan['issues'] = crb_issue_filer( $scan['issues'], function ( $file_name ) {
|
4968 |
-
global $crb_list;
|
4969 |
-
if ( in_array( $file_name, $crb_list ) ) {
|
4970 |
-
return false;
|
4971 |
-
}
|
4972 |
-
return true;
|
4973 |
-
});
|
4974 |
-
cerber_update_scan( $scan );
|
4975 |
-
}
|
4976 |
-
if ( ! cerber_update_set( 'ignore-list', $ignore ) ) {
|
4977 |
-
$errors [] = 'Unable to update the ignore list';
|
4978 |
-
}
|
4979 |
-
}
|
4980 |
-
|
4981 |
-
crb_scan_debug( $errors );
|
4982 |
-
|
4983 |
-
cerber_end_ajax( array( 'errors' => $errors, 'number' => $i, 'processed' => $crb_list ) );
|
4984 |
-
|
4985 |
-
});
|
4986 |
/**
|
4987 |
* Move files to the quarantine folder
|
4988 |
*
|
@@ -5077,9 +4531,16 @@ function cerber_quarantine_file( $file_name, $scan_id, $move = true ) {
|
|
5077 |
}
|
5078 |
|
5079 |
// Save restoring info
|
5080 |
-
fwrite( $f, PHP_EOL . cerber_date( time() ) . ' | ' . basename( $new_name ) . ' => ' . $file_name );
|
|
|
|
|
|
|
|
|
|
|
5081 |
fclose( $f );
|
5082 |
|
|
|
|
|
5083 |
return true;
|
5084 |
}
|
5085 |
|
@@ -5712,338 +5173,10 @@ function cerber_make_numbers( &$update = array(), &$scan = array() ) {
|
|
5712 |
}
|
5713 |
}
|
5714 |
|
5715 |
-
function cerber_show_quarantine() {
|
5716 |
-
|
5717 |
-
$folder = cerber_get_the_folder( true );
|
5718 |
-
if ( is_wp_error( $folder ) ) {
|
5719 |
-
echo $folder->get_error_message();
|
5720 |
-
|
5721 |
-
return;
|
5722 |
-
}
|
5723 |
-
|
5724 |
-
$no_files = __( 'There are no files in the quarantine at the moment.', 'wp-cerber' );
|
5725 |
-
$per_page = crb_admin_get_per_page();
|
5726 |
-
$first = ( cerber_get_pn() - 1 ) * $per_page;
|
5727 |
-
$last = $first + $per_page;
|
5728 |
-
$list = array();
|
5729 |
-
|
5730 |
-
$filter_scan = crb_get_query_params( 'scan', '\d+' );
|
5731 |
-
//$filter_scan = intval( crb_array_get( $get, 'scan' ) );
|
5732 |
-
//$dirs = array( $folder . 'quarantine' . DIRECTORY_SEPARATOR . absint( $_GET['scan'] ));
|
5733 |
-
if ( ! $dirs = glob( $folder . 'quarantine' . DIRECTORY_SEPARATOR . '*', GLOB_ONLYDIR ) ) {
|
5734 |
-
echo $no_files;
|
5735 |
-
|
5736 |
-
return;
|
5737 |
-
}
|
5738 |
-
|
5739 |
-
$scan_list = array();
|
5740 |
-
$count = 0;
|
5741 |
-
foreach ( $dirs as $dir ) {
|
5742 |
-
$f = $dir . '/.restore';
|
5743 |
-
$scan_id = basename( $dir );
|
5744 |
-
$inc = false;
|
5745 |
-
if ( file_exists( $f ) && $handle = @fopen( $f, "r" ) ) {
|
5746 |
-
$ln = 0;
|
5747 |
-
$included = array();
|
5748 |
-
while ( ( $line = fgets( $handle ) ) !== false ) {
|
5749 |
-
$ln ++;
|
5750 |
-
if ( $ln <= 4 || empty( $line ) ) {
|
5751 |
-
continue;
|
5752 |
-
}
|
5753 |
-
$line = trim( $line );
|
5754 |
-
if ( empty( $line ) ) {
|
5755 |
-
continue;
|
5756 |
-
}
|
5757 |
-
$v = crb_parse_qline( $dir, $line );
|
5758 |
-
if ( $v ) {
|
5759 |
-
if ( in_array( $v['qfile'], $included ) ) {
|
5760 |
-
continue; // Prevent listing the same file several times
|
5761 |
-
}
|
5762 |
-
$inc = true;
|
5763 |
-
if ( ! $filter_scan || $filter_scan == $scan_id ) {
|
5764 |
-
if ( $count >= $first && $count <= $last ) {
|
5765 |
-
$v['scan_id'] = $scan_id;
|
5766 |
-
$list[] = $v;
|
5767 |
-
$included[] = $v['qfile'];
|
5768 |
-
}
|
5769 |
-
$count ++;
|
5770 |
-
}
|
5771 |
-
else {
|
5772 |
-
continue; // skip the rest of the lines
|
5773 |
-
}
|
5774 |
-
}
|
5775 |
-
}
|
5776 |
-
if ( ! feof( $handle ) ) {
|
5777 |
-
echo "Error: unexpected I/O Error";
|
5778 |
-
}
|
5779 |
-
fclose( $handle );
|
5780 |
-
}
|
5781 |
-
if ( $inc ) {
|
5782 |
-
$scan_list[] = $scan_id;
|
5783 |
-
}
|
5784 |
-
}
|
5785 |
-
|
5786 |
-
if ( ! $list ) {
|
5787 |
-
if ( ! $filter_scan ) {
|
5788 |
-
echo $no_files;
|
5789 |
-
}
|
5790 |
-
else {
|
5791 |
-
echo __( 'No files match the specified filter.', 'wp-cerber' ) . ' <a href="' . cerber_admin_link( 'scan_quarantine' ) . '">' . __( 'Click here to see the full list of files', 'wp-cerber' ) . '</a>.';
|
5792 |
-
}
|
5793 |
-
|
5794 |
-
return;
|
5795 |
-
}
|
5796 |
-
|
5797 |
-
//echo nl2br( print_r( $list, 1 ) );
|
5798 |
-
|
5799 |
-
$rows = array();
|
5800 |
-
$ofs = get_option( 'gmt_offset' ) * 3600;
|
5801 |
-
$confirm = ' onclick="return confirm(\'' . __( 'Are you sure?', 'wp-cerber' ) . '\');"';
|
5802 |
-
|
5803 |
-
foreach ( $list as $file ) {
|
5804 |
-
$p = array(
|
5805 |
-
'cerber_admin_do' => 'scan_tegrity',
|
5806 |
-
'crb_scan_id' => $file['scan_id'],
|
5807 |
-
'crb_file_id' => $file['qfile']
|
5808 |
-
);
|
5809 |
-
|
5810 |
-
$p['crb_scan_adm'] = 'delete';
|
5811 |
-
$delete = '<a ' . $confirm . ' href="' . cerber_admin_link_add( $p ) . '">' . __( 'Delete permanently', 'wp-cerber' ) . '</a>';
|
5812 |
-
|
5813 |
-
$p['crb_scan_adm'] = 'restore';
|
5814 |
-
$restore = ( ! $file['can'] ) ? '' : ' | <a ' . $confirm . ' href="' . cerber_admin_link_add( $p ) . '">' . __( 'Restore', 'wp-cerber' ) . '</a>';
|
5815 |
-
|
5816 |
-
$moved = strtotime( $file['date'] ) - $ofs;
|
5817 |
-
$will = cerber_auto_date( $file['scan_id'] + DAY_IN_SECONDS * crb_get_settings( 'scan_qcleanup' ) );
|
5818 |
-
|
5819 |
-
$file_name = str_replace( DIRECTORY_SEPARATOR, '<wbr>' . DIRECTORY_SEPARATOR, $file['source'] );
|
5820 |
-
|
5821 |
-
$rows[] = '<td><span title="' . cerber_date( $file['scan_id'] ) . '">' . cerber_auto_date( $file['scan_id'] ) . '</span></td><td><span title="' . cerber_date( $moved ) . '">' . cerber_auto_date( $moved ) . '</span></td><td>' . $will . '</td><td>' . $file['size'] . '</td><td>' . $file_name . '</td><td style="white-space: pre;">' . $delete . $restore . '</td>';
|
5822 |
-
}
|
5823 |
-
|
5824 |
-
$heading = array(
|
5825 |
-
__( 'Scanned', 'wp-cerber' ),
|
5826 |
-
__( 'Moved to quarantine', 'wp-cerber' ),
|
5827 |
-
__( 'Automatic deletion', 'wp-cerber' ),
|
5828 |
-
__( 'Size', 'wp-cerber' ),
|
5829 |
-
__( 'File', 'wp-cerber' ),
|
5830 |
-
__( 'Action', 'wp-cerber' ),
|
5831 |
-
);
|
5832 |
-
|
5833 |
-
|
5834 |
-
$titles = '<tr><th>' . implode( '</th><th>', $heading ) . '</th></tr>';
|
5835 |
-
|
5836 |
-
$table = '<table id="crb-quarantine" class="widefat crb-table cerber-margin"><thead>' . $titles . '</thead><tfoot>' . $titles . '</tfoot>' . implode( '</tr><tr>', $rows ) . '</tr></table>';
|
5837 |
-
|
5838 |
-
$table .= cerber_page_navi( $count, $per_page );
|
5839 |
-
|
5840 |
-
$filter = '';
|
5841 |
-
if ( count( $scan_list ) > 1 ) {
|
5842 |
-
krsort( $scan_list );
|
5843 |
-
$list = array( 0 => __( 'All scans', 'wp-cerber' ) );
|
5844 |
-
foreach ( $scan_list as $s ) {
|
5845 |
-
$list[ $s ] = cerber_date( $s );
|
5846 |
-
}
|
5847 |
-
$filter = '<div style="text-align: right; margin-bottom: 1em;"><form style="width: auto;" action="">' . cerber_select( 'scan', $list, $filter_scan ) . ' <input value="Filter" class="button" type="submit"><input name="page" value="cerber-integrity" type="hidden"><input name="tab" value="scan_quarantine" type="hidden"></form></div>';
|
5848 |
-
}
|
5849 |
-
|
5850 |
-
echo $filter.$table;
|
5851 |
-
}
|
5852 |
-
|
5853 |
-
function cerber_quarantine_do( $what, $scan_id, $qfile ) {
|
5854 |
-
$scan_id = absint( $scan_id );
|
5855 |
-
if ( ! $scan_id ) {
|
5856 |
-
cerber_admin_notice( 'Error: Wrong scan parameters.' );
|
5857 |
-
|
5858 |
-
return;
|
5859 |
-
}
|
5860 |
-
//$dir = cerber_get_the_folder() . 'quarantine' . DIRECTORY_SEPARATOR . $scan_id;
|
5861 |
-
$dir = cerber_get_the_folder( true );
|
5862 |
-
if ( is_wp_error( $dir ) ) {
|
5863 |
-
cerber_admin_notice( $dir->get_error_message() );
|
5864 |
-
|
5865 |
-
return;
|
5866 |
-
}
|
5867 |
-
|
5868 |
-
$dir .= 'quarantine' . DIRECTORY_SEPARATOR . $scan_id;
|
5869 |
-
|
5870 |
-
$file = $dir . DIRECTORY_SEPARATOR . $qfile;
|
5871 |
-
if ( ! @is_file( $file ) || is_link( $file ) ) {
|
5872 |
-
cerber_admin_notice( 'Error: No file to process' );
|
5873 |
-
|
5874 |
-
return;
|
5875 |
-
}
|
5876 |
-
|
5877 |
-
$rst = $dir . '/.restore';
|
5878 |
-
if ( ! file_exists( $rst ) || ! $handle = @fopen( $rst, 'r' ) ) {
|
5879 |
-
cerber_admin_notice( 'Error: A restore registry file is corrupt or missing.' );
|
5880 |
-
|
5881 |
-
return;
|
5882 |
-
}
|
5883 |
-
|
5884 |
-
$data = null;
|
5885 |
-
while ( ( $line = fgets( $handle ) ) !== false ) {
|
5886 |
-
if ( $p = crb_parse_qline( $dir, $line ) ) {
|
5887 |
-
if ( $p['qfile'] == $qfile ) {
|
5888 |
-
$data = $p;
|
5889 |
-
break;
|
5890 |
-
}
|
5891 |
-
}
|
5892 |
-
}
|
5893 |
-
|
5894 |
-
if ( ! $data ) {
|
5895 |
-
cerber_admin_notice( 'Error: No information about this file. Unable to proceed.' );
|
5896 |
-
|
5897 |
-
return;
|
5898 |
-
}
|
5899 |
-
|
5900 |
-
$err = null;
|
5901 |
-
$msg = null;
|
5902 |
-
switch ( $what ) {
|
5903 |
-
case 'delete':
|
5904 |
-
if ( unlink( $file ) ) {
|
5905 |
-
$msg = __( 'The file has been deleted permanently.', 'wp-cerber' );
|
5906 |
-
}
|
5907 |
-
else {
|
5908 |
-
$err = 'Unable to delete the file: ' . $file;
|
5909 |
-
}
|
5910 |
-
break;
|
5911 |
-
case 'restore':
|
5912 |
-
if ( $data['can'] ) {
|
5913 |
-
$target_dir = dirname( $data['source'] );
|
5914 |
-
if ( ! file_exists( $target_dir ) && ! mkdir( $target_dir, 0755, true ) ) {
|
5915 |
-
$err = 'Unable to create the folder <b>' . $target_dir . '</b>. Check permissions of parent folders.';
|
5916 |
-
}
|
5917 |
-
if ( ! $err ) {
|
5918 |
-
if ( @rename( $file, $data['source'] ) ) {
|
5919 |
-
$msg = __( 'The file has been restored to its original location.', 'wp-cerber' );
|
5920 |
-
}
|
5921 |
-
else {
|
5922 |
-
$err = 'A file error occurred while restoring the file. Check permissions of folders.';
|
5923 |
-
}
|
5924 |
-
}
|
5925 |
-
}
|
5926 |
-
else {
|
5927 |
-
$err = 'This file cannot be restored and needs to be manually copied. <p>See instructions in this file: ' . $rst . '</p>';
|
5928 |
-
}
|
5929 |
-
break;
|
5930 |
-
}
|
5931 |
-
if ( $err ) {
|
5932 |
-
cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' ' . $err );
|
5933 |
-
}
|
5934 |
-
if ( $msg ) {
|
5935 |
-
cerber_admin_message( $msg );
|
5936 |
-
}
|
5937 |
-
}
|
5938 |
-
|
5939 |
-
function cerber_show_ignore() {
|
5940 |
-
|
5941 |
-
// For translators
|
5942 |
-
__( 'Apply', 'wp-cerber' );
|
5943 |
-
__( 'Remove from the list', 'wp-cerber' );
|
5944 |
-
__( 'User Insights', 'wp-cerber' );
|
5945 |
-
__( 'Traffic Insights', 'wp-cerber' );
|
5946 |
-
__( 'Activity Insights', 'wp-cerber' );
|
5947 |
-
|
5948 |
-
$no_files = __( 'The list is empty.', 'wp-cerber' );
|
5949 |
-
$per_page = crb_admin_get_per_page();
|
5950 |
-
$first = ( cerber_get_pn() - 1 ) * $per_page;
|
5951 |
-
|
5952 |
-
if ( ! $list = cerber_get_set( 'ignore-list' ) ) {
|
5953 |
-
echo $no_files;
|
5954 |
-
|
5955 |
-
return;
|
5956 |
-
}
|
5957 |
-
|
5958 |
-
$count = count( $list );
|
5959 |
-
$list = array_slice( $list, $first, $per_page );
|
5960 |
-
|
5961 |
-
$rows = array();
|
5962 |
-
$confirm = ' onclick="return confirm(\'' . __( 'Are you sure?', 'wp-cerber' ) . '\');"';
|
5963 |
-
|
5964 |
-
foreach ( $list as $key => $file ) {
|
5965 |
-
|
5966 |
-
$delete = '<a ' . $confirm . ' href="' . cerber_admin_link_add( array(
|
5967 |
-
'cerber_admin_do' => 'scan_tegrity',
|
5968 |
-
'crb_scan_adm' => 'remove_ignore',
|
5969 |
-
'crb_file_id' => $key
|
5970 |
-
) ) . '">' . __( 'Remove from the list', 'wp-cerber' ) . '</a>';
|
5971 |
-
|
5972 |
-
$rows[] = '<td>' . cerber_date( $file[3] ) . '</td><td>' . $file[0] . '</td><td style="white-space: pre;">'.$delete . '</td>';
|
5973 |
-
}
|
5974 |
-
|
5975 |
-
$heading = array(
|
5976 |
-
__( 'Added', 'wp-cerber' ),
|
5977 |
-
__( 'File', 'wp-cerber' ),
|
5978 |
-
__( 'Action', 'wp-cerber' ),
|
5979 |
-
);
|
5980 |
-
|
5981 |
-
|
5982 |
-
$titles = '<tr><th>' . implode( '</th><th>', $heading ) . '</th></tr>';
|
5983 |
-
|
5984 |
-
$table = '<table class="widefat crb-table cerber-margin"><thead>' . $titles . '</thead><tfoot>' . $titles . '</tfoot>' . implode( '</tr><tr>', $rows ) . '</tr></table>';
|
5985 |
-
|
5986 |
-
$table .= cerber_page_navi( $count, $per_page );
|
5987 |
-
|
5988 |
-
echo $table;
|
5989 |
-
}
|
5990 |
-
|
5991 |
-
function crb_remove_ignore( $id ) {
|
5992 |
-
if ( ! $list = cerber_get_set( 'ignore-list' ) ) {
|
5993 |
-
return false;
|
5994 |
-
}
|
5995 |
-
if ( ! isset( $list[ $id ] ) ) {
|
5996 |
-
return false;
|
5997 |
-
}
|
5998 |
-
|
5999 |
-
unset( $list[ $id ] );
|
6000 |
-
|
6001 |
-
return cerber_update_set( 'ignore-list', $list );
|
6002 |
-
|
6003 |
-
}
|
6004 |
-
|
6005 |
-
function crb_parse_qline( $dir, $line ) {
|
6006 |
-
if ( ! $line
|
6007 |
-
|| ! strpos( $line, '|' )
|
6008 |
-
|| ! strpos( $line, '=>' ) ) {
|
6009 |
-
return false;
|
6010 |
-
}
|
6011 |
-
list( $date, $info ) = explode( '|', $line );
|
6012 |
-
list( $qfile, $source ) = explode( '=>', $info );
|
6013 |
-
$date = trim( $date );
|
6014 |
-
$qfile = trim( $qfile );
|
6015 |
-
$source = trim( $source );
|
6016 |
-
if ( ! $qfile ) {
|
6017 |
-
return false;
|
6018 |
-
}
|
6019 |
-
$fname = $dir . '/' . $qfile;
|
6020 |
-
if ( ! @is_file( $fname ) ) {
|
6021 |
-
return false;
|
6022 |
-
}
|
6023 |
-
$size = @filesize( $fname );
|
6024 |
-
$size = ( is_numeric( $size ) ) ? $size : 0;
|
6025 |
-
//$sdir = dirname( $source ) . DIRECTORY_SEPARATOR;
|
6026 |
-
//$can = ( file_exists( $sdir ) ) ? true : false;
|
6027 |
-
//$can = ( file_exists( $source ) ) ? false : true;
|
6028 |
-
|
6029 |
-
$ret = array(
|
6030 |
-
'date' => $date,
|
6031 |
-
'size' => crb_size_format( $size ),
|
6032 |
-
'qfile' => $qfile,
|
6033 |
-
'source' => $source,
|
6034 |
-
//'sdir' => $sdir,
|
6035 |
-
//'can' => $can
|
6036 |
-
'can' => true
|
6037 |
-
);
|
6038 |
-
|
6039 |
-
return $ret;
|
6040 |
-
}
|
6041 |
-
|
6042 |
function crb_scan_debug( $msg ) {
|
6043 |
-
global $cerber_db_errors;
|
6044 |
|
6045 |
if ( crb_get_settings( 'scan_debug' ) ) {
|
6046 |
-
cerber_diag_log(
|
6047 |
cerber_diag_log( $msg, 'Scanner' );
|
6048 |
}
|
6049 |
}
|
@@ -6074,4 +5207,28 @@ function crb_issue_filer( $list, $function ) {
|
|
6074 |
}
|
6075 |
//$response['issues'] = $filtered;
|
6076 |
return $filtered;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6077 |
}
|
80 |
|
81 |
define( 'CRB_SCAN_RCV_DIR', 'recovery' );
|
82 |
|
83 |
+
define( 'CRB_SQL_CHUNK', 10000 ); // @since 8.6.4 Split queries into chunks to reduce memory consumption
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
|
85 |
add_action( 'plugins_loaded', function () {
|
|
|
86 |
|
87 |
if ( ! cerber_is_cloud_request() ) {
|
88 |
return;
|
160 |
|
161 |
$db_errors = array_map( function ( $err ) {
|
162 |
return substr( $err, 0, 1000 );
|
163 |
+
}, cerber_db_get_errors() );
|
164 |
|
165 |
$ret = array(
|
166 |
'cerber_scanner' => $scanner,
|
188 |
} );
|
189 |
|
190 |
function cerber_scanner( $control, $mode ) {
|
191 |
+
global $cerber_scan_mode;
|
192 |
|
193 |
if ( crb_get_settings( 'scan_debug' ) ) {
|
194 |
register_shutdown_function( function () {
|
205 |
|
206 |
if ( function_exists( 'wp_raise_memory_limit' ) ) {
|
207 |
if ( ! wp_raise_memory_limit( 'admin' ) ) {
|
208 |
+
//$m = 'WARNING: Unable to raise memory limit';
|
209 |
+
//crb_scan_debug( $m );
|
210 |
+
//$errors[] = $m;
|
211 |
}
|
212 |
}
|
213 |
|
302 |
$ret['cerber_scan_do'] = 'stop';
|
303 |
}
|
304 |
|
305 |
+
if ( cerber_db_get_errors() ) {
|
306 |
cerber_watchdog( true );
|
307 |
}
|
308 |
|
383 |
break;
|
384 |
case 5:
|
385 |
$x = 0;
|
386 |
+
//if ( $result = cerber_db_get_results( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan['id'] . ' AND file_hash = ""' ) ) {
|
387 |
+
$done = false;
|
388 |
+
while ( ! $aborted && ! $exceed && ! $done ) {
|
389 |
+
// Split into several SQL requests to avoid memory exhausted error on a website with hundreds of thousands files
|
390 |
+
if ( $result = cerber_db_get_results( 'SELECT file_name, scan_id, file_name_hash FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan['id'] . ' AND file_hash = "" LIMIT ' . CRB_SQL_CHUNK ) ) {
|
391 |
+
//cerber_log_scan_error( 'CHUNK ' . count( $result ) );
|
392 |
+
foreach ( $result as $row ) {
|
393 |
+
if ( ! cerber_add_file_info( $row ) ) {
|
394 |
+
cerber_log_scan_error( 'Unable to update file info. Scanning has been aborted.' );
|
395 |
+
$aborted = 1;
|
396 |
break;
|
397 |
}
|
398 |
+
if ( 0 === ( $x % 100 ) ) {
|
399 |
+
if ( cerber_exec_timer() ) {
|
400 |
+
$exceed = true;
|
401 |
+
break;
|
402 |
+
}
|
403 |
+
}
|
404 |
+
$x ++;
|
405 |
}
|
|
|
406 |
}
|
407 |
+
else {
|
408 |
+
//$aborted = 1;
|
409 |
+
$done = true;
|
410 |
+
}
|
|
|
|
|
411 |
}
|
412 |
+
// Some files might be symlinks
|
413 |
+
$update['total']['files'] = cerber_get_num_files( $scan['id'] );
|
414 |
+
$update['total']['parsed'] = cerber_db_get_var( 'SELECT COUNT(scan_id) FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE . ' WHERE scan_id = ' . $scan['id'] . ' AND file_type !=0' );
|
415 |
break;
|
416 |
case 6:
|
417 |
if ( cerber_is_check_fs() ) {
|
1608 |
continue;
|
1609 |
}
|
1610 |
|
1611 |
+
$short_name = cerber_get_short_name( $local_file['file_name'], $local_file['file_type'] );
|
1612 |
|
1613 |
if ( empty( $local_file['file_hash'] ) ) {
|
1614 |
$issues[] = array( 11, $short_name, 'file' => $local_file );
|
1918 |
}*/
|
1919 |
|
1920 |
$in = '0';
|
1921 |
+
$remain = 0;
|
1922 |
|
1923 |
+
/* if ( ! $files = cerber_db_get_results( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE .
|
1924 |
+
' WHERE scan_id = ' . $scan['id'] . ' AND scan_status IN (' . $in . ')' ) ) {
|
1925 |
+
return 0;
|
1926 |
+
}
|
1927 |
+
*/
|
1928 |
+
|
1929 |
+
if ( ! $files = cerber_db_get_results( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SCAN_TABLE .
|
1930 |
+
' WHERE scan_id = ' . $scan['id'] . ' AND scan_status IN (' . $in . ') LIMIT ' . CRB_SQL_CHUNK ) ) {
|
1931 |
return 0;
|
1932 |
}
|
1933 |
|
1934 |
+
if ( count( $files ) >= CRB_SQL_CHUNK ) {
|
1935 |
+
$remain = 1;
|
1936 |
+
}
|
1937 |
+
|
1938 |
// Plugins data -------------------
|
1939 |
|
1940 |
$plugins = array();
|
1963 |
$can_be_deleted = array( CERBER_FT_UPLOAD, CERBER_FT_CNT, CERBER_FT_OTHER, CERBER_FT_LNG );
|
1964 |
|
1965 |
$issues = array();
|
|
|
1966 |
|
1967 |
// Prevent hanging
|
1968 |
if ( $f = cerber_get_set( CRB_LAST_FILE, 0, false ) ) {
|
2130 |
}
|
2131 |
}
|
2132 |
else {
|
2133 |
+
$short_name = cerber_get_short_name( $file['file_name'], $file['file_type'] );
|
2134 |
}
|
2135 |
|
2136 |
// Is file can be deleted?
|
2775 |
continue;
|
2776 |
}
|
2777 |
|
2778 |
+
$short_name = cerber_get_short_name( $local_file['file_name'], $local_file['file_type'] );
|
2779 |
|
2780 |
if ( empty( $local_file[ $field ] ) ) {
|
2781 |
$issues[] = array( 11, $short_name, 'file' => $local_file );
|
3074 |
}
|
3075 |
|
3076 |
if ( ! empty( $ret['curl_error'] ) ) {
|
3077 |
+
$err = '#' . curl_errno( $curl ) . ' ' . $ret['curl_error'] . ' while attempting to retrieve: ' . $url;
|
3078 |
$ret['curl_error'] = $err;
|
3079 |
}
|
3080 |
|
3184 |
}
|
3185 |
|
3186 |
function cerber_is_dropin( $file_name ) {
|
3187 |
+
static $dropins;
|
3188 |
+
if ( ! $dropins ) {
|
3189 |
+
$dropins = _get_dropins();
|
3190 |
+
}
|
3191 |
if ( isset( $dropins[ basename( $file_name ) ] ) ) {
|
3192 |
if ( cerber_get_content_dir() == dirname( $file_name ) ) {
|
3193 |
return true;
|
3346 |
$prev_id = 0;
|
3347 |
foreach ( $scans as $item ) {
|
3348 |
$scan = unserialize( $item['the_value'] );
|
3349 |
+
if ( $scan['finished'] && $scan['mode'] == $cerber_scan_mode ) {
|
3350 |
$prev_id = $scan['id'];
|
3351 |
break;
|
3352 |
}
|
3798 |
return $a1;
|
3799 |
}
|
3800 |
|
3801 |
+
//function cerber_get_short_name( $file_row ) {
|
3802 |
+
function cerber_get_short_name( $file_name, $file_type ) {
|
3803 |
+
if ( ! $file_name || ! $file_type ) {
|
3804 |
return '';
|
3805 |
}
|
3806 |
+
//$file_name = $file_row['file_name'];
|
3807 |
$len = null;
|
3808 |
+
//switch ( $file_row['file_type'] ) {
|
3809 |
+
switch ( $file_type ) {
|
3810 |
case CERBER_FT_PLUGIN:
|
3811 |
$len = mb_strlen( cerber_get_plugins_dir() );
|
3812 |
break;
|
3837 |
return $ret;
|
3838 |
}
|
3839 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3840 |
// ======================================================================================================
|
3841 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3842 |
// Process a manually installed/upgraded plugin/theme, part 1
|
3843 |
add_filter( 'wp_insert_attachment_data', function ( $data, $postarr ) {
|
3844 |
global $crb_new_zip_file;
|
4215 |
|
4216 |
}
|
4217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4218 |
function cerber_detect_object( $folder = '' ) {
|
4219 |
|
4220 |
// Look for a theme
|
4330 |
}
|
4331 |
|
4332 |
/**
|
4333 |
+
* @param int $first
|
4334 |
+
* @param int $last
|
4335 |
+
* @param int $filter_scan
|
4336 |
+
*
|
4337 |
+
* @return array|WP_Error
|
4338 |
*
|
4339 |
+
* @since 8.6.4
|
4340 |
*/
|
4341 |
+
function cerber_quarantine_get_files( $first = 0, $last = null, $filter_scan = null ) {
|
4342 |
+
$folder = cerber_get_the_folder( true );
|
4343 |
+
if ( is_wp_error( $folder ) ) {
|
4344 |
+
return $folder;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4345 |
}
|
4346 |
|
4347 |
+
$list = array();
|
4348 |
+
$count = 0;
|
4349 |
+
$scan_list = array();
|
|
|
4350 |
|
4351 |
+
if ( ! $dirs = glob( $folder . 'quarantine' . DIRECTORY_SEPARATOR . '*', GLOB_ONLYDIR ) ) {
|
4352 |
+
return array( $list, $count, $scan_list );
|
4353 |
}
|
4354 |
|
4355 |
+
foreach ( $dirs as $dir ) {
|
4356 |
+
$f = $dir . '/.restore';
|
4357 |
+
$scan_id = basename( $dir );
|
4358 |
+
$inc = false;
|
4359 |
+
if ( file_exists( $f ) && $handle = @fopen( $f, "r" ) ) {
|
4360 |
+
$ln = 0;
|
4361 |
+
$included = array();
|
4362 |
+
while ( ( $line = fgets( $handle ) ) !== false ) {
|
4363 |
+
$ln ++;
|
4364 |
+
if ( $ln <= 4 || empty( $line ) ) {
|
4365 |
+
continue;
|
4366 |
+
}
|
4367 |
+
$line = trim( $line );
|
4368 |
+
if ( empty( $line ) ) {
|
4369 |
+
continue;
|
4370 |
+
}
|
4371 |
+
$v = crb_parse_qline( $dir, $line );
|
4372 |
+
if ( $v ) {
|
4373 |
+
if ( in_array( $v['qfile'], $included ) ) {
|
4374 |
+
continue; // Prevent listing the same file several times
|
4375 |
+
}
|
4376 |
+
$inc = true;
|
4377 |
+
if ( ! $filter_scan || $filter_scan == $scan_id ) {
|
4378 |
+
if ( $count >= $first && ( ! $last || $count <= $last ) ) {
|
4379 |
+
$v['scan_id'] = $scan_id;
|
4380 |
+
$list[] = $v;
|
4381 |
+
$included[] = $v['qfile'];
|
4382 |
+
}
|
4383 |
+
$count ++;
|
4384 |
+
}
|
4385 |
+
else {
|
4386 |
+
continue; // skip the rest of the lines
|
4387 |
+
}
|
4388 |
+
}
|
4389 |
+
}
|
4390 |
+
if ( ! feof( $handle ) ) {
|
4391 |
+
echo "Error: unexpected I/O Error";
|
4392 |
+
}
|
4393 |
+
fclose( $handle );
|
4394 |
+
}
|
4395 |
+
if ( $inc ) {
|
4396 |
+
$scan_list[] = $scan_id;
|
4397 |
+
}
|
4398 |
}
|
4399 |
|
4400 |
+
return array( $list, $count, $scan_list );
|
4401 |
+
}
|
|
|
|
|
|
|
|
|
4402 |
|
4403 |
+
function crb_parse_qline( $dir, $line ) {
|
4404 |
+
if ( ! $line
|
4405 |
+
|| ! strpos( $line, '|' )
|
4406 |
+
|| ! strpos( $line, '=>' ) ) {
|
4407 |
+
return false;
|
4408 |
}
|
4409 |
+
list( $date, $info ) = explode( '|', $line );
|
4410 |
+
list( $qfile, $source ) = explode( '=>', $info );
|
4411 |
+
$date = trim( $date );
|
4412 |
+
$qfile = trim( $qfile );
|
4413 |
+
$source = trim( $source );
|
4414 |
+
if ( ! $qfile ) {
|
4415 |
+
return false;
|
4416 |
}
|
4417 |
+
$fname = $dir . '/' . $qfile;
|
4418 |
+
if ( ! @is_file( $fname ) ) {
|
4419 |
+
return false;
|
|
|
|
|
4420 |
}
|
4421 |
+
$size = @filesize( $fname );
|
4422 |
+
$size = ( is_numeric( $size ) ) ? $size : 0;
|
4423 |
+
//$sdir = dirname( $source ) . DIRECTORY_SEPARATOR;
|
4424 |
+
//$can = ( file_exists( $sdir ) ) ? true : false;
|
4425 |
+
//$can = ( file_exists( $source ) ) ? false : true;
|
4426 |
|
4427 |
+
$ret = array(
|
4428 |
+
'date' => $date,
|
4429 |
+
'size' => crb_size_format( $size ),
|
4430 |
+
'qfile' => $qfile,
|
4431 |
+
'source' => $source,
|
4432 |
+
//'sdir' => $sdir,
|
4433 |
+
//'can' => $can
|
4434 |
+
'can' => true
|
4435 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4436 |
|
4437 |
+
return $ret;
|
4438 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4439 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4440 |
/**
|
4441 |
* Move files to the quarantine folder
|
4442 |
*
|
4531 |
}
|
4532 |
|
4533 |
// Save restoring info
|
4534 |
+
//fwrite( $f, PHP_EOL . cerber_date( time(), false ) . ' | ' . basename( $new_name ) . ' => ' . $file_name );
|
4535 |
+
static $gmt_offset;
|
4536 |
+
if ( ! isset( $gmt_offset ) ) {
|
4537 |
+
$gmt_offset = get_option( 'gmt_offset' ) * 3600;
|
4538 |
+
}
|
4539 |
+
fwrite( $f, PHP_EOL . date( 'Y-m-d H:i:s', time() + $gmt_offset ) . ' | ' . basename( $new_name ) . ' => ' . $file_name );
|
4540 |
fclose( $f );
|
4541 |
|
4542 |
+
crb_qr_total_update( 1 );
|
4543 |
+
|
4544 |
return true;
|
4545 |
}
|
4546 |
|
5173 |
}
|
5174 |
}
|
5175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5176 |
function crb_scan_debug( $msg ) {
|
|
|
5177 |
|
5178 |
if ( crb_get_settings( 'scan_debug' ) ) {
|
5179 |
+
cerber_diag_log( cerber_db_get_errors( true ), 'Scanner' );
|
5180 |
cerber_diag_log( $msg, 'Scanner' );
|
5181 |
}
|
5182 |
}
|
5207 |
}
|
5208 |
//$response['issues'] = $filtered;
|
5209 |
return $filtered;
|
5210 |
+
}
|
5211 |
+
|
5212 |
+
function crb_qr_total_update( $diff ) {
|
5213 |
+
if ( ! $numq = cerber_get_set( 'quarantined_total', null, false ) ) {
|
5214 |
+
$numq = 0;
|
5215 |
+
}
|
5216 |
+
$numq = $numq + $diff;
|
5217 |
+
if ( $numq < 0 ) {
|
5218 |
+
$numq = 0;
|
5219 |
+
}
|
5220 |
+
|
5221 |
+
cerber_update_set( 'quarantined_total', $numq, null, false );
|
5222 |
+
}
|
5223 |
+
|
5224 |
+
function _crb_qr_total_sync( $total = null ) {
|
5225 |
+
if ( ! $total ) {
|
5226 |
+
$q = cerber_quarantine_get_files();
|
5227 |
+
if ( is_wp_error( $q ) ) {
|
5228 |
+
return;
|
5229 |
+
}
|
5230 |
+
$total = $q[1];
|
5231 |
+
}
|
5232 |
+
|
5233 |
+
cerber_update_set( 'quarantined_total', $total, null, false );
|
5234 |
}
|
cerber-tools.php
CHANGED
@@ -49,12 +49,26 @@ function cerber_show_imex() {
|
|
49 |
$form .= '<p><input id="importacl" name="importacl" value="1" type="checkbox" checked> <label for="importacl">' . __( 'Access Lists', 'wp-cerber' ) . '</label>';
|
50 |
$form .= '<p><input type="submit" name="cerber_import" id="submit" class="button button-primary" value="' . __( 'Upload file', 'wp-cerber' ) . '"></p></form>';
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
$form .= '<h3 style="margin-top:2em;">Bulk load access list entries</h3>';
|
53 |
|
54 |
$form .= '<form method="post"><input type="hidden" name="acl_text" value="1">' . $nf;
|
55 |
$form .= '<p><input type="radio" name="target_acl" value="W" checked="checked">Load to ' . __( 'White IP Access List', 'wp-cerber' ) . '</p>';
|
56 |
$form .= '<p><input type="radio" name="target_acl" value="B">Load to ' . __( 'Black IP Access List', 'wp-cerber' ) . '</p>';
|
57 |
-
$form .= '<p><textarea name="import_acl_entries" rows="8" cols="70" placeholder="Enter access list entries, one item per line. To add entry comments, use the CSV format."></textarea></p>';
|
58 |
$form .= '<p><input type="submit" name="cerber_import" id="submit" class="button button-primary" value="' . __( 'Load entries', 'wp-cerber' ) . '"></p></form>';
|
59 |
|
60 |
echo $form;
|
@@ -62,7 +76,6 @@ function cerber_show_imex() {
|
|
62 |
/*
|
63 |
Create export file
|
64 |
*/
|
65 |
-
add_action( 'admin_init', 'cerber_export' );
|
66 |
function cerber_export() {
|
67 |
global $wpdb;
|
68 |
|
@@ -95,7 +108,6 @@ function cerber_export() {
|
|
95 |
* Import plugin settings from a file
|
96 |
*
|
97 |
*/
|
98 |
-
add_action( 'admin_init', 'cerber_import' );
|
99 |
function cerber_import() {
|
100 |
global $wpdb, $wp_cerber;
|
101 |
|
@@ -192,7 +204,7 @@ function cerber_import() {
|
|
192 |
}
|
193 |
cerber_save_settings( $data['options'] ); // @since 2.0
|
194 |
if ( isset( $data['geo-rules'] ) ) {
|
195 |
-
update_site_option(
|
196 |
}
|
197 |
if ( ! empty( $data['options']['crb_role_policies'] ) ) {
|
198 |
update_site_option( CERBER_SETTINGS, array( 'crb_role_policies' => $data['options']['crb_role_policies'] ) );
|
@@ -245,89 +257,76 @@ function cerber_show_diag(){
|
|
245 |
}
|
246 |
|
247 |
?>
|
248 |
-
|
249 |
-
<a href="javascript:void(0)" onclick="toggle_visibility('diagnostic'); return false;">Show diagnostic information</a>
|
250 |
-
-->
|
251 |
<form id="diagnostic">
|
|
|
252 |
<?php
|
|
|
253 |
foreach ($sections as $section){
|
254 |
-
echo '<div class="diag-section">';
|
255 |
echo '<h3>'.$section[0].'</h3>';
|
256 |
echo $section[1];
|
257 |
echo '</div>';
|
258 |
}
|
|
|
259 |
?>
|
260 |
-
|
261 |
-
<h3>System Info</h3>
|
262 |
-
<div class="diag-text"><?php cerber_show_wp_diag(); ?></div>
|
263 |
-
</div>
|
264 |
-
<div class="diag-section">
|
265 |
-
<h3>Database Info</h3>
|
266 |
-
<?php echo cerber_db_diag(); ?>
|
267 |
-
<?php echo '<p style="text-align: right;"><a class="button button-secondary" href="' . wp_nonce_url( add_query_arg( array( 'force_repair_db' => 1 ) ), 'control', 'cerber_nonce' ) . '"><span class="dashicons dashicons-admin-tools" style="vertical-align: middle;"></span> Repair Cerber\'s Tables</a></p>'; ?>
|
268 |
-
</div>
|
269 |
-
<div class="diag-section">
|
270 |
-
<h3>Server Environment Variables</h3>
|
271 |
-
<?php
|
272 |
-
$server = $_SERVER;
|
273 |
-
if ( ! empty( $server['HTTP_COOKIE'] ) ) {
|
274 |
-
unset( $server['HTTP_COOKIE'] );
|
275 |
-
}
|
276 |
-
if ( ! empty( $server['HTTP_X_COOKIES'] ) ) {
|
277 |
-
unset( $server['HTTP_X_COOKIES'] );
|
278 |
-
}
|
279 |
-
$se = array();
|
280 |
-
foreach ( $server as $key => $value ) {
|
281 |
-
$se[] = array( $key, @strip_tags( $value ) );
|
282 |
-
}
|
283 |
-
echo cerber_make_plain_table( $se );
|
284 |
-
?>
|
285 |
-
</div>
|
286 |
-
<div class="diag-section">
|
287 |
-
<h3>Cerber Security Cloud Status</h3>
|
288 |
-
<?php
|
289 |
-
echo lab_status();
|
290 |
-
?>
|
291 |
-
<p style="text-align: right;">
|
292 |
-
<a class="button button-secondary" href="<?php echo wp_nonce_url( add_query_arg( array( 'clean_up_the_cache' => 1 ) ), 'control', 'cerber_nonce' ); ?>">Clear Up Cache</a>
|
293 |
-
<a class="button button-secondary" href="<?php echo wp_nonce_url( add_query_arg( array( 'force_check_nodes' => 1 ) ), 'control', 'cerber_nonce' ); ?>">Recheck Node Statuses</a>
|
294 |
-
</p>
|
295 |
-
</div>
|
296 |
<?php
|
297 |
|
298 |
-
|
299 |
-
|
300 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
|
302 |
if ( $report = get_site_option( '_cerber_report' ) ) {
|
303 |
-
|
304 |
-
echo cerber_ago_time($report[0]).' ('.cerber_date($report[0]).')';
|
305 |
if ($report[1]) {
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
|
|
312 |
}
|
|
|
313 |
if ( $subs = get_site_option( '_cerber_subs' ) ) {
|
314 |
-
|
315 |
-
|
316 |
-
<h3>Subscriptions for notifications</h3>';
|
317 |
-
echo '<ol>';
|
318 |
foreach ( $subs as $hash => $sub ) {
|
319 |
-
|
320 |
}
|
321 |
-
|
322 |
-
|
|
|
|
|
323 |
}
|
324 |
|
325 |
if ( $status = CRB_DS::get_status() ) {
|
326 |
-
|
327 |
-
<div class="diag-section">
|
328 |
-
<h3>Data Shield Status</h3>';
|
329 |
-
echo $status;
|
330 |
-
echo '</div>';
|
331 |
}
|
332 |
|
333 |
?>
|
@@ -344,6 +343,10 @@ function cerber_show_diag(){
|
|
344 |
<?php
|
345 |
}
|
346 |
|
|
|
|
|
|
|
|
|
347 |
function cerber_show_lic() {
|
348 |
$key = lab_get_key();
|
349 |
$valid = '';
|
@@ -392,13 +395,9 @@ function cerber_show_lic() {
|
|
392 |
<?php
|
393 |
}
|
394 |
|
395 |
-
|
396 |
-
|
397 |
function cerber_show_wp_diag(){
|
398 |
global $wpdb;
|
399 |
|
400 |
-
$ret = array();
|
401 |
-
|
402 |
$tz = date_default_timezone_get();
|
403 |
$tz = ( $tz !== 'UTC' ) ? '<span style="color: red;">' . $tz . '!</span>' : $tz;
|
404 |
|
@@ -447,9 +446,9 @@ function cerber_show_wp_diag(){
|
|
447 |
$sys[] = array( 'Your IP address is detected as', cerber_get_remote_ip() . ' (check it on the <a href="https://wpcerber.com/what-is-my-ip/" target="_blank">What Is My IP Address</a> page)' );
|
448 |
}
|
449 |
|
450 |
-
|
451 |
|
452 |
-
$folder =
|
453 |
if ( is_wp_error( $folder ) ) {
|
454 |
$folder = $folder->get_error_message();
|
455 |
}
|
@@ -478,8 +477,8 @@ function cerber_show_wp_diag(){
|
|
478 |
array( 'PHP folder for uploading files', ini_get( 'upload_tmp_dir' ) ),
|
479 |
array( 'Server folder for temporary files', sys_get_temp_dir() ),
|
480 |
array( 'Server folder for user session data', session_save_path() ),
|
481 |
-
array( 'Cerber\'s quarantine folder', $folder ),
|
482 |
-
array( 'Cerber\'s diagnostic log', cerber_get_diag_log() )
|
483 |
);
|
484 |
|
485 |
//$folders[] = array( 'WordPress config file', $config );
|
@@ -508,7 +507,7 @@ function cerber_show_wp_diag(){
|
|
508 |
|
509 |
$folders[] = array( 'Directory separator', DIRECTORY_SEPARATOR );
|
510 |
|
511 |
-
|
512 |
|
513 |
if ( is_multisite() ) {
|
514 |
$mu = array();
|
@@ -524,7 +523,7 @@ function cerber_show_wp_diag(){
|
|
524 |
|
525 |
$mu[] = array( 'Uploads folder for sites', cerber_get_upload_dir_mu() );
|
526 |
|
527 |
-
|
528 |
}
|
529 |
|
530 |
$pls = array();
|
@@ -534,9 +533,7 @@ function cerber_show_wp_diag(){
|
|
534 |
$pls[] = array($data['Name'], $data['Version']);
|
535 |
}
|
536 |
|
537 |
-
|
538 |
-
|
539 |
-
echo implode("\n",$ret);
|
540 |
}
|
541 |
|
542 |
function cerber_make_plain_table( $data, $header = null, $first_header = false, $eq = false ) {
|
@@ -559,10 +556,6 @@ function cerber_make_plain_table( $data, $header = null, $first_header = false,
|
|
559 |
return $ret;
|
560 |
}
|
561 |
|
562 |
-
function cerber_get_chmod( $file ) {
|
563 |
-
return substr( sprintf( '%o', @fileperms( $file ) ), - 4 );
|
564 |
-
}
|
565 |
-
|
566 |
/*
|
567 |
* Create database diagnostic report
|
568 |
*
|
@@ -664,19 +657,19 @@ function cerber_table_info( $table ) {
|
|
664 |
function cerber_environment_diag() {
|
665 |
$issues = array();
|
666 |
if ( version_compare( '7.0', phpversion(), '>' ) ) {
|
667 |
-
$issues[] = 'Your site run on an outdated (unsupported) version of PHP which is ' . phpversion() . '. We strongly encourage you to upgrade
|
668 |
}
|
669 |
if ( ! function_exists( 'http_response_code' ) ) {
|
670 |
$issues[] = 'The PHP function http_response_code() is not found or disabled.';
|
671 |
}
|
|
|
|
|
|
|
|
|
672 |
if ( ! is_numeric( $_SERVER['REQUEST_TIME_FLOAT'] ) ) {
|
673 |
$issues[] = 'The server environment variable $_SERVER[\'REQUEST_TIME_FLOAT\'] is not set correctly.';
|
674 |
}
|
675 |
|
676 |
-
/*if ( $c = cerber_cron_diag() ) {
|
677 |
-
$issues[] = $c;
|
678 |
-
}*/
|
679 |
-
|
680 |
$ret = null;
|
681 |
if ( $issues ) {
|
682 |
$issues = '<p>' . implode( '</p><p>', $issues ) . '</p>';
|
@@ -691,11 +684,11 @@ function cerber_environment_diag() {
|
|
691 |
|
692 |
function cerber_cron_diag() {
|
693 |
|
694 |
-
$planned
|
695 |
$crb_crons = array(
|
696 |
-
'cerber_hourly_1'
|
697 |
-
'cerber_hourly_2'
|
698 |
-
'cerber_daily'
|
699 |
//'cerber_bg_launcher' => 'Background tasks'
|
700 |
);
|
701 |
foreach ( _get_cron_array() as $time => $item ) {
|
@@ -709,8 +702,8 @@ function cerber_cron_diag() {
|
|
709 |
unset( $crb_crons['cerber_daily'] );
|
710 |
$crb_crons['cerber_daily_1'] = 'Daily task';
|
711 |
|
712 |
-
$errors
|
713 |
-
$ok
|
714 |
$no_cron = false;
|
715 |
foreach ( $crb_crons as $key => $task ) {
|
716 |
$h = get_site_transient( $key );
|
@@ -745,41 +738,43 @@ function cerber_cron_diag() {
|
|
745 |
}
|
746 |
}
|
747 |
|
|
|
|
|
748 |
if ( $errors ) {
|
749 |
-
|
750 |
-
echo '<p style="color: red;">' . implode( '<br/>', $errors ) . '</p>';
|
751 |
}
|
752 |
if ( $ok ) {
|
753 |
-
|
754 |
}
|
755 |
if ( $planned ) {
|
756 |
-
|
757 |
}
|
758 |
|
759 |
$num = 0;
|
760 |
if ( $bg = cerber_bg_task_get_all() ) {
|
761 |
$num = count( $bg );
|
762 |
}
|
763 |
-
|
764 |
|
765 |
if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON ) {
|
766 |
-
|
767 |
if ( $no_cron ) {
|
768 |
-
|
769 |
}
|
770 |
}
|
771 |
|
|
|
772 |
}
|
773 |
|
774 |
function cerber_show_diag_log() {
|
775 |
$file = cerber_get_diag_log();
|
776 |
if ( ! is_file( $file ) ) {
|
777 |
-
echo 'The log file has not been created yet
|
778 |
|
779 |
return;
|
780 |
}
|
781 |
if ( ! filesize( $file ) ) {
|
782 |
-
echo 'The diagnostic log file is empty
|
783 |
|
784 |
return;
|
785 |
}
|
@@ -847,7 +842,7 @@ function cerber_show_change_log() {
|
|
847 |
return;
|
848 |
}
|
849 |
|
850 |
-
echo '<div id="crb-change-log-view">';
|
851 |
foreach ( $text as $line ) {
|
852 |
$line = htmlspecialchars( $line );
|
853 |
if ( preg_match_all( '/(\[.+?\])(\(.+?\))/', $line, $m ) ) {
|
49 |
$form .= '<p><input id="importacl" name="importacl" value="1" type="checkbox" checked> <label for="importacl">' . __( 'Access Lists', 'wp-cerber' ) . '</label>';
|
50 |
$form .= '<p><input type="submit" name="cerber_import" id="submit" class="button button-primary" value="' . __( 'Upload file', 'wp-cerber' ) . '"></p></form>';
|
51 |
|
52 |
+
$form .= '<h3 style="margin-top:2em;">' . __( 'Load the default plugin settings', 'wp-cerber' ) . '</h3>';
|
53 |
+
$form .= '<p>' . __( 'When you click the button below, the default WP Cerber settings will be loaded. The Custom login URL and Access Lists will not be changed.', 'wp-cerber' ) . '</p>';
|
54 |
+
$form .= '<p>' . __( 'To get the most out of WP Cerber, follow these steps:', 'wp-cerber' ) . ' <a target="_blank" href="https://wpcerber.com/getting-started/">Getting Stared Guide</a></p>';
|
55 |
+
|
56 |
+
$form .= '<p>
|
57 |
+
<input type="button" class="button button-primary" value="' . __( 'Load default settings', 'wp-cerber' ) . '" onclick="button_default_settings()" />
|
58 |
+
<script type="text/javascript">function button_default_settings(){
|
59 |
+
if (confirm("' . __( 'Are you sure?', 'wp-cerber' ) . '")) {
|
60 |
+
let click_url = "' . cerber_admin_link_add( array( 'load_settings' => 'default', 'cerber_admin_do' => 'load_defaults' ) ) . '";
|
61 |
+
window.location = click_url.replace(/&|&/g,"&");
|
62 |
+
}
|
63 |
+
}</script>
|
64 |
+
</p>';
|
65 |
+
|
66 |
$form .= '<h3 style="margin-top:2em;">Bulk load access list entries</h3>';
|
67 |
|
68 |
$form .= '<form method="post"><input type="hidden" name="acl_text" value="1">' . $nf;
|
69 |
$form .= '<p><input type="radio" name="target_acl" value="W" checked="checked">Load to ' . __( 'White IP Access List', 'wp-cerber' ) . '</p>';
|
70 |
$form .= '<p><input type="radio" name="target_acl" value="B">Load to ' . __( 'Black IP Access List', 'wp-cerber' ) . '</p>';
|
71 |
+
$form .= '<p><textarea class="crb-monospace" name="import_acl_entries" rows="8" cols="70" placeholder="Enter access list entries, one item per line. To add entry comments, use the CSV format."></textarea></p>';
|
72 |
$form .= '<p><input type="submit" name="cerber_import" id="submit" class="button button-primary" value="' . __( 'Load entries', 'wp-cerber' ) . '"></p></form>';
|
73 |
|
74 |
echo $form;
|
76 |
/*
|
77 |
Create export file
|
78 |
*/
|
|
|
79 |
function cerber_export() {
|
80 |
global $wpdb;
|
81 |
|
108 |
* Import plugin settings from a file
|
109 |
*
|
110 |
*/
|
|
|
111 |
function cerber_import() {
|
112 |
global $wpdb, $wp_cerber;
|
113 |
|
204 |
}
|
205 |
cerber_save_settings( $data['options'] ); // @since 2.0
|
206 |
if ( isset( $data['geo-rules'] ) ) {
|
207 |
+
update_site_option( CERBER_GEO_RULES, $data['geo-rules'] );
|
208 |
}
|
209 |
if ( ! empty( $data['options']['crb_role_policies'] ) ) {
|
210 |
update_site_option( CERBER_SETTINGS, array( 'crb_role_policies' => $data['options']['crb_role_policies'] ) );
|
257 |
}
|
258 |
|
259 |
?>
|
260 |
+
|
|
|
|
|
261 |
<form id="diagnostic">
|
262 |
+
|
263 |
<?php
|
264 |
+
|
265 |
foreach ($sections as $section){
|
266 |
+
echo '<div class="crb-diag-section">';
|
267 |
echo '<h3>'.$section[0].'</h3>';
|
268 |
echo $section[1];
|
269 |
echo '</div>';
|
270 |
}
|
271 |
+
|
272 |
?>
|
273 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
<?php
|
275 |
|
276 |
+
cerber_show_wp_diag();
|
277 |
+
|
278 |
+
$button = '<p style="text-align: right;"><a class="button button-secondary" href="' . wp_nonce_url( add_query_arg( array( 'force_repair_db' => 1 ) ), 'control', 'cerber_nonce' ) . '">Repair Cerber\'s Tables</a></p>';
|
279 |
+
crb_show_diag_section( 'Database Info', cerber_db_diag() . $button );
|
280 |
+
|
281 |
+
$server = $_SERVER;
|
282 |
+
if ( ! empty( $server['HTTP_COOKIE'] ) ) {
|
283 |
+
unset( $server['HTTP_COOKIE'] );
|
284 |
+
}
|
285 |
+
if ( ! empty( $server['HTTP_X_COOKIES'] ) ) {
|
286 |
+
unset( $server['HTTP_X_COOKIES'] );
|
287 |
+
}
|
288 |
+
ksort( $server );
|
289 |
+
$se = array();
|
290 |
+
foreach ( $server as $key => $value ) {
|
291 |
+
$se[] = array( $key, @strip_tags( $value ) );
|
292 |
+
}
|
293 |
+
|
294 |
+
crb_show_diag_section( 'Server Environment Variables', cerber_make_plain_table( $se ) );
|
295 |
+
|
296 |
+
$buttons = '<p style="text-align: right;">
|
297 |
+
<a class="button button-secondary" href="' . wp_nonce_url( add_query_arg( array( 'clear_up_the_cache' => 1 ) ), 'control', 'cerber_nonce' ) . '">Clear Up Cache</a>
|
298 |
+
<a class="button button-secondary" href="' . wp_nonce_url( add_query_arg( array( 'force_check_nodes' => 1 ) ), 'control', 'cerber_nonce' ) . '">Recheck Status</a>
|
299 |
+
</p>';
|
300 |
+
crb_show_diag_section( 'Cerber Security Cloud Status', lab_status() . $buttons );
|
301 |
+
|
302 |
+
crb_show_diag_section( 'Maintenance Tasks', cerber_cron_diag() );
|
303 |
|
304 |
if ( $report = get_site_option( '_cerber_report' ) ) {
|
305 |
+
$rep = cerber_ago_time( $report[0] ) . ' (' . cerber_date( $report[0] ) . ')';
|
|
|
306 |
if ($report[1]) {
|
307 |
+
$rep .= ' OK | '.get_site_transient( 'crb_hourly_2' );
|
308 |
+
}
|
309 |
+
else {
|
310 |
+
$rep .= ' Unable to send email';
|
311 |
+
}
|
312 |
+
|
313 |
+
crb_show_diag_section( 'Weekly Reports', $rep );
|
314 |
}
|
315 |
+
|
316 |
if ( $subs = get_site_option( '_cerber_subs' ) ) {
|
317 |
+
|
318 |
+
$rep = '<ol>';
|
|
|
|
|
319 |
foreach ( $subs as $hash => $sub ) {
|
320 |
+
$rep .= '<li>' . $hash . ' | <a href = "' . cerber_admin_link( 'activity' ) . '&unsubscribeme=' . $hash . '">' . __( 'Unsubscribe', 'wp-cerber' ) . '</a></li>';
|
321 |
}
|
322 |
+
$rep .= '</ol>';
|
323 |
+
$rep .= '<p><a target="_blank" href="https://wpcerber.com/wordpress-notifications-made-easy/">Read more on alerts and notifications</a></p>';
|
324 |
+
|
325 |
+
crb_show_diag_section( 'Alerts', $rep );
|
326 |
}
|
327 |
|
328 |
if ( $status = CRB_DS::get_status() ) {
|
329 |
+
crb_show_diag_section( 'Data Shield Status', '<ul><li>' . implode( '</il><li>', $status ) . '</li></ul>' );
|
|
|
|
|
|
|
|
|
330 |
}
|
331 |
|
332 |
?>
|
343 |
<?php
|
344 |
}
|
345 |
|
346 |
+
function crb_show_diag_section( $title, $content ) {
|
347 |
+
echo '<div class="crb-diag-section"><h3>' . $title . '</h3><div class="crb-diag-inner">' . $content . '</div></div>';
|
348 |
+
}
|
349 |
+
|
350 |
function cerber_show_lic() {
|
351 |
$key = lab_get_key();
|
352 |
$valid = '';
|
395 |
<?php
|
396 |
}
|
397 |
|
|
|
|
|
398 |
function cerber_show_wp_diag(){
|
399 |
global $wpdb;
|
400 |
|
|
|
|
|
401 |
$tz = date_default_timezone_get();
|
402 |
$tz = ( $tz !== 'UTC' ) ? '<span style="color: red;">' . $tz . '!</span>' : $tz;
|
403 |
|
446 |
$sys[] = array( 'Your IP address is detected as', cerber_get_remote_ip() . ' (check it on the <a href="https://wpcerber.com/what-is-my-ip/" target="_blank">What Is My IP Address</a> page)' );
|
447 |
}
|
448 |
|
449 |
+
crb_show_diag_section( 'System Info', cerber_make_plain_table( $sys ) );
|
450 |
|
451 |
+
$folder = cerber_get_my_folder();
|
452 |
if ( is_wp_error( $folder ) ) {
|
453 |
$folder = $folder->get_error_message();
|
454 |
}
|
477 |
array( 'PHP folder for uploading files', ini_get( 'upload_tmp_dir' ) ),
|
478 |
array( 'Server folder for temporary files', sys_get_temp_dir() ),
|
479 |
array( 'Server folder for user session data', session_save_path() ),
|
480 |
+
array( 'WP Cerber\'s quarantine folder', $folder ),
|
481 |
+
array( 'WP Cerber\'s diagnostic log', cerber_get_diag_log() )
|
482 |
);
|
483 |
|
484 |
//$folders[] = array( 'WordPress config file', $config );
|
507 |
|
508 |
$folders[] = array( 'Directory separator', DIRECTORY_SEPARATOR );
|
509 |
|
510 |
+
crb_show_diag_section( 'File system', cerber_make_plain_table( $folders ) );
|
511 |
|
512 |
if ( is_multisite() ) {
|
513 |
$mu = array();
|
523 |
|
524 |
$mu[] = array( 'Uploads folder for sites', cerber_get_upload_dir_mu() );
|
525 |
|
526 |
+
crb_show_diag_section( 'Multisite Constants', cerber_make_plain_table( $mu ) );
|
527 |
}
|
528 |
|
529 |
$pls = array();
|
533 |
$pls[] = array($data['Name'], $data['Version']);
|
534 |
}
|
535 |
|
536 |
+
crb_show_diag_section( 'Active Plugins', cerber_make_plain_table( $pls ) );
|
|
|
|
|
537 |
}
|
538 |
|
539 |
function cerber_make_plain_table( $data, $header = null, $first_header = false, $eq = false ) {
|
556 |
return $ret;
|
557 |
}
|
558 |
|
|
|
|
|
|
|
|
|
559 |
/*
|
560 |
* Create database diagnostic report
|
561 |
*
|
657 |
function cerber_environment_diag() {
|
658 |
$issues = array();
|
659 |
if ( version_compare( '7.0', phpversion(), '>' ) ) {
|
660 |
+
$issues[] = 'Your site run on an outdated (unsupported) version of PHP which is ' . phpversion() . '. We strongly encourage you to upgrade PHP to a newer version. See more at: <a target="_blank" href="http://php.net/supported-versions.php">http://php.net/supported-versions.php</a>';
|
661 |
}
|
662 |
if ( ! function_exists( 'http_response_code' ) ) {
|
663 |
$issues[] = 'The PHP function http_response_code() is not found or disabled.';
|
664 |
}
|
665 |
+
if ( ! function_exists( 'mb_convert_encoding' ) ) {
|
666 |
+
$issues[] = 'A PHP extension <b>mbstring</b> is not enabled on this website. Some plugin features will not work properly.
|
667 |
+
You need to enable the PHP mbstring extension (multibyte strings support) in your hosting control panel.';
|
668 |
+
}
|
669 |
if ( ! is_numeric( $_SERVER['REQUEST_TIME_FLOAT'] ) ) {
|
670 |
$issues[] = 'The server environment variable $_SERVER[\'REQUEST_TIME_FLOAT\'] is not set correctly.';
|
671 |
}
|
672 |
|
|
|
|
|
|
|
|
|
673 |
$ret = null;
|
674 |
if ( $issues ) {
|
675 |
$issues = '<p>' . implode( '</p><p>', $issues ) . '</p>';
|
684 |
|
685 |
function cerber_cron_diag() {
|
686 |
|
687 |
+
$planned = array();
|
688 |
$crb_crons = array(
|
689 |
+
'cerber_hourly_1' => 'Hourly task #1',
|
690 |
+
'cerber_hourly_2' => 'Hourly task #2',
|
691 |
+
'cerber_daily' => 'Daily task',
|
692 |
//'cerber_bg_launcher' => 'Background tasks'
|
693 |
);
|
694 |
foreach ( _get_cron_array() as $time => $item ) {
|
702 |
unset( $crb_crons['cerber_daily'] );
|
703 |
$crb_crons['cerber_daily_1'] = 'Daily task';
|
704 |
|
705 |
+
$errors = array();
|
706 |
+
$ok = array();
|
707 |
$no_cron = false;
|
708 |
foreach ( $crb_crons as $key => $task ) {
|
709 |
$h = get_site_transient( $key );
|
738 |
}
|
739 |
}
|
740 |
|
741 |
+
$ret = '';
|
742 |
+
|
743 |
if ( $errors ) {
|
744 |
+
$ret .= '<p style="color: red;">' . implode( '<br/>', $errors ) . '</p>';
|
|
|
745 |
}
|
746 |
if ( $ok ) {
|
747 |
+
$ret .= '<p>' . implode( '<br/>', $ok ) . '</p>';
|
748 |
}
|
749 |
if ( $planned ) {
|
750 |
+
$ret .= '<p>' . implode( '<br/>', $planned ) . '</p>';
|
751 |
}
|
752 |
|
753 |
$num = 0;
|
754 |
if ( $bg = cerber_bg_task_get_all() ) {
|
755 |
$num = count( $bg );
|
756 |
}
|
757 |
+
$ret .= '<p>Background tasks: ' . $num . '</p>';
|
758 |
|
759 |
if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON ) {
|
760 |
+
$ret .= '<p>Note: the internal WordPress cron launcher is disabled on this site.</p>';
|
761 |
if ( $no_cron ) {
|
762 |
+
$ret .= '<p>An external cron launcher has not been configured or does not work properly.</p>';
|
763 |
}
|
764 |
}
|
765 |
|
766 |
+
return $ret;
|
767 |
}
|
768 |
|
769 |
function cerber_show_diag_log() {
|
770 |
$file = cerber_get_diag_log();
|
771 |
if ( ! is_file( $file ) ) {
|
772 |
+
echo '<p>The log file has not been created yet.</p>';
|
773 |
|
774 |
return;
|
775 |
}
|
776 |
if ( ! filesize( $file ) ) {
|
777 |
+
echo '<p>The diagnostic log file is empty.</p>';
|
778 |
|
779 |
return;
|
780 |
}
|
842 |
return;
|
843 |
}
|
844 |
|
845 |
+
echo '<div id="crb-change-log-view" class="">';
|
846 |
foreach ( $text as $line ) {
|
847 |
$line = htmlspecialchars( $line );
|
848 |
if ( preg_match_all( '/(\[.+?\])(\(.+?\))/', $line, $m ) ) {
|
cerber-users.php
CHANGED
@@ -532,7 +532,9 @@ function crb_admin_save_role_policies( $post ) {
|
|
532 |
}
|
533 |
} );
|
534 |
|
535 |
-
$settings = get_site_option( CERBER_SETTINGS )
|
|
|
|
|
536 |
$settings['crb_role_policies'] = $policies;
|
537 |
|
538 |
if ( cerber_update_site_option( CERBER_SETTINGS, $settings ) ) {
|
@@ -662,59 +664,63 @@ function crb_admin_is_current_session( $session_id ) {
|
|
662 |
}
|
663 |
|
664 |
function crb_admin_get_user_cell( $user_id = null, $base_url = '', $text = '', $label = '' ) {
|
665 |
-
static $
|
666 |
|
667 |
if ( ! $user_id ) {
|
668 |
return '';
|
669 |
}
|
670 |
|
671 |
-
if (
|
672 |
-
$user_cache[ $user_id ] = get_userdata( $user_id );
|
673 |
-
}
|
674 |
|
675 |
-
|
676 |
-
$avatar_cache[ $user_id ] = get_avatar( $user_id, 32 );
|
677 |
-
}
|
678 |
|
679 |
-
if ( ! isset( $roles ) ) {
|
680 |
-
$roles = wp_roles()->roles;
|
681 |
}
|
682 |
|
683 |
-
$
|
|
|
|
|
684 |
|
685 |
-
|
686 |
-
|
687 |
-
$r = '';
|
688 |
-
if ( ! is_multisite() && $u->roles ) {
|
689 |
-
$r = array();
|
690 |
-
foreach ( $u->roles as $role ) {
|
691 |
-
$r[] = $roles[ $role ]['name'];
|
692 |
-
}
|
693 |
-
$r = '<span class="act-role">' . implode( ', ', $r ) . '</span>';
|
694 |
}
|
|
|
|
|
|
|
|
|
695 |
|
696 |
-
|
|
|
|
|
697 |
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
$
|
703 |
}
|
|
|
|
|
704 |
|
705 |
-
|
706 |
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
|
714 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
715 |
}
|
716 |
|
717 |
-
|
|
|
|
|
718 |
}
|
719 |
|
720 |
function crb_admin_show_sessions() {
|
@@ -779,7 +785,7 @@ function crb_pdata_exporter_act( $email_address, $page = 1 ) {
|
|
779 |
$value = json_encode( $value, JSON_UNESCAPED_UNICODE );
|
780 |
|
781 |
// Format is defined by WordPress
|
782 |
-
$data[] = array( 'name' => cerber_date( $row->stamp ), // First column
|
783 |
'value' => $value // Second column
|
784 |
);
|
785 |
}
|
@@ -837,7 +843,7 @@ function crb_pdata_exporter_trf( $email_address, $page = 1 ) {
|
|
837 |
$value = json_encode( $value, JSON_UNESCAPED_UNICODE );
|
838 |
|
839 |
// Format is defined by WordPress
|
840 |
-
$data[] = array( 'name' => cerber_date( $row->stamp ), // First column
|
841 |
'value' => $value // Second column
|
842 |
);
|
843 |
}
|
@@ -905,6 +911,8 @@ function crb_pdata_eraser( $email_address, $page = 1 ) {
|
|
905 |
delete_user_meta( $user->ID, '_crb_reg_' );
|
906 |
}
|
907 |
|
|
|
|
|
908 |
if ( crb_get_settings( 'pdata_sessions' ) ) {
|
909 |
update_user_meta( $user->ID , 'session_tokens', array() );
|
910 |
}
|
532 |
}
|
533 |
} );
|
534 |
|
535 |
+
if ( ! $settings = get_site_option( CERBER_SETTINGS ) ) {
|
536 |
+
$settings = array();
|
537 |
+
}
|
538 |
$settings['crb_role_policies'] = $policies;
|
539 |
|
540 |
if ( cerber_update_site_option( CERBER_SETTINGS, $settings ) ) {
|
664 |
}
|
665 |
|
666 |
function crb_admin_get_user_cell( $user_id = null, $base_url = '', $text = '', $label = '' ) {
|
667 |
+
static $wp_roles, $user_cache = array();
|
668 |
|
669 |
if ( ! $user_id ) {
|
670 |
return '';
|
671 |
}
|
672 |
|
673 |
+
if ( isset( $user_cache[ $user_id ] ) ) {
|
|
|
|
|
674 |
|
675 |
+
return $user_cache[ $user_id ];
|
|
|
|
|
676 |
|
|
|
|
|
677 |
}
|
678 |
|
679 |
+
if ( ! $user = get_userdata( $user_id ) ) {
|
680 |
+
if ( ! $user_data = cerber_get_set( 'user_deleted', $user_id ) ) {
|
681 |
+
$user_cache[ $user_id ] = 'UID ' . $user_id;
|
682 |
|
683 |
+
return '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
684 |
}
|
685 |
+
}
|
686 |
+
else {
|
687 |
+
$user_data = array( 'roles' => $user->roles, 'display_name' => $user->display_name );
|
688 |
+
}
|
689 |
|
690 |
+
if ( ! isset( $wp_roles ) ) {
|
691 |
+
$wp_roles = wp_roles()->roles;
|
692 |
+
}
|
693 |
|
694 |
+
$roles = '';
|
695 |
+
if ( ! is_multisite() && $user_data['roles'] ) {
|
696 |
+
$r = array();
|
697 |
+
foreach ( $user_data['roles'] as $role ) {
|
698 |
+
$r[] = $wp_roles[ $role ]['name'];
|
699 |
}
|
700 |
+
$roles = '<span class="act-role">' . implode( ', ', $r ) . '</span>';
|
701 |
+
}
|
702 |
|
703 |
+
$lbl = ( $label ) ? '<span class="crb-us-lbl">' . $label . '</span>' : '';
|
704 |
|
705 |
+
if ( $base_url ) {
|
706 |
+
$ret = '<a href="' . $base_url . '&filter_user=' . $user_id . '"><b>' . $user_data['display_name'] . '</b></a>' . $lbl . '<p>' . $roles . '</p>';
|
707 |
+
}
|
708 |
+
else {
|
709 |
+
$ret = '<b>' . $user_data['display_name'] . '</b>' . $lbl . '<p>' . $roles . '</p>';
|
710 |
+
}
|
711 |
|
712 |
+
$ret = '<div class="crb-us-name">' . $ret . '</div>';
|
713 |
+
|
714 |
+
if ( $avatar = get_avatar( $user_id, 32 ) ) {
|
715 |
+
$avatar = '<td>' . $avatar . '</td>';
|
716 |
+
}
|
717 |
+
else {
|
718 |
+
$avatar = '';
|
719 |
}
|
720 |
|
721 |
+
$user_cache[ $user_id ] = '<table class="crb-avatar"><tr>' . $avatar . '<td>' . $ret . $text . '</td></tr></table>';
|
722 |
+
|
723 |
+
return $user_cache[ $user_id ];
|
724 |
}
|
725 |
|
726 |
function crb_admin_show_sessions() {
|
785 |
$value = json_encode( $value, JSON_UNESCAPED_UNICODE );
|
786 |
|
787 |
// Format is defined by WordPress
|
788 |
+
$data[] = array( 'name' => cerber_date( $row->stamp, false ), // First column
|
789 |
'value' => $value // Second column
|
790 |
);
|
791 |
}
|
843 |
$value = json_encode( $value, JSON_UNESCAPED_UNICODE );
|
844 |
|
845 |
// Format is defined by WordPress
|
846 |
+
$data[] = array( 'name' => cerber_date( $row->stamp, false ), // First column
|
847 |
'value' => $value // Second column
|
848 |
);
|
849 |
}
|
911 |
delete_user_meta( $user->ID, '_crb_reg_' );
|
912 |
}
|
913 |
|
914 |
+
cerber_delete_set( 'user_deleted', $user->ID );
|
915 |
+
|
916 |
if ( crb_get_settings( 'pdata_sessions' ) ) {
|
917 |
update_user_meta( $user->ID , 'session_tokens', array() );
|
918 |
}
|
changelog.txt
CHANGED
@@ -1,3 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= 8.6.3 =
|
2 |
* New: Ability to load IP access list's entries in the CSV format (bulk load).
|
3 |
* Update: A new malware scanner setting allows you to permit the scanner to change permissions of folders and files when required.
|
@@ -7,7 +19,7 @@
|
|
7 |
* [Read more](https://wpcerber.com/wp-cerber-security-8-6-3/)
|
8 |
|
9 |
= 8.6 =
|
10 |
-
* New: [An integration with the Cloudflare
|
11 |
* Update: The malware scanner has got improvements to the monitoring of new and modified files feature.
|
12 |
* Update: Additional search fields for the Activity log. They enable you to find a specific request by its Request ID (RID) or/and to search for a string in the request URL.
|
13 |
* Update: The minimum supported PHP version is 5.6.
|
1 |
+
= 8.6.5 =
|
2 |
+
* New: File system analytics. It's generated based on the results of the last full integrity scan.
|
3 |
+
* New: Logging user deletions. The user’s display name and roles are temporarily stored until all log entries related to the user are deleted.
|
4 |
+
* New: Faster export with a new date format for CSV log export.
|
5 |
+
* New: Ability to disable adding the website administrator's IP address to the White IP Access List upon WP Cerber activation.
|
6 |
+
* Improved: Handling the creation of new users by WooCommerce and membership plugins.
|
7 |
+
* Improved: Handling user registrations with prohibited emails.
|
8 |
+
* Improved: Handling secure Cerber‘s cookies on websites with SSL encryption enabled.
|
9 |
+
* Improved: The performance of the integrity checker and malware scanner on huge websites with a large number of files.
|
10 |
+
* Fixed: Loading the default plugin settings has no effect. Now it’s fixed and moved from the admin sidebar to the Tools admin page.
|
11 |
+
* [Read more](https://wpcerber.com/wp-cerber-security-8-6-5/)
|
12 |
+
|
13 |
= 8.6.3 =
|
14 |
* New: Ability to load IP access list's entries in the CSV format (bulk load).
|
15 |
* Update: A new malware scanner setting allows you to permit the scanner to change permissions of folders and files when required.
|
19 |
* [Read more](https://wpcerber.com/wp-cerber-security-8-6-3/)
|
20 |
|
21 |
= 8.6 =
|
22 |
+
* New: [An integration with the Cloudflare firewall. It’s implemented as a special WP Cerber add-on.](https://wpcerber.com/cloudflare-add-on-wp-cerber/)
|
23 |
* Update: The malware scanner has got improvements to the monitoring of new and modified files feature.
|
24 |
* Update: Additional search fields for the Activity log. They enable you to find a specific request by its Request ID (RID) or/and to search for a string in the request URL.
|
25 |
* Update: The minimum supported PHP version is 5.6.
|
common.php
CHANGED
@@ -47,11 +47,10 @@ define( 'CRB_SANITIZE_KEY', '/[^a-z_\-\d.:\/]/i' );
|
|
47 |
* @since 6.0
|
48 |
*
|
49 |
*/
|
50 |
-
function cerber_get_wp_scripts(){
|
51 |
-
|
52 |
return '/' . $e;
|
53 |
}, array( WP_LOGIN_SCRIPT, WP_REG_URI, WP_XMLRPC_SCRIPT, WP_TRACKBACK_SCRIPT, WP_PING_SCRIPT, WP_SIGNUP_SCRIPT, WP_COMMENT_SCRIPT ) );
|
54 |
-
return $list;
|
55 |
}
|
56 |
|
57 |
/**
|
@@ -118,7 +117,6 @@ function cerber_admin_link( $tab = '', $args = array(), $add_nonce = false ) {
|
|
118 |
$link_base = rtrim( $base, '/' ) . '/admin.php?page=';
|
119 |
}
|
120 |
|
121 |
-
//$link = rtrim( $base, '/' ) . '/admin.php?page=' . $page;
|
122 |
$link = $link_base . $page;
|
123 |
|
124 |
if ( $tab ) {
|
@@ -126,7 +124,6 @@ function cerber_admin_link( $tab = '', $args = array(), $add_nonce = false ) {
|
|
126 |
}
|
127 |
|
128 |
if ( $args ) {
|
129 |
-
//return add_query_arg(array('record_id'=>$record_id,'mode'=>'view_record'),admin_url('admin.php?page=storage'));
|
130 |
foreach ( $args as $arg => $value ) {
|
131 |
$link .= '&' . $arg . '=' . urlencode( $value );
|
132 |
}
|
@@ -1031,6 +1028,8 @@ function cerber_is_route_blocked() {
|
|
1031 |
}*/
|
1032 |
|
1033 |
function cerber_is_rest_permitted() {
|
|
|
|
|
1034 |
$opt = crb_get_settings();
|
1035 |
|
1036 |
if ( ! empty( $opt['norestuser'] ) ) {
|
@@ -1058,6 +1057,7 @@ function cerber_is_rest_permitted() {
|
|
1058 |
$namespace = substr( $rest_path, 0, strpos( $rest_path, '/' ) );
|
1059 |
foreach ( $opt['restwhite'] as $exception ) {
|
1060 |
if ( $exception == $namespace ) {
|
|
|
1061 |
return true;
|
1062 |
}
|
1063 |
}
|
@@ -1325,6 +1325,7 @@ function cerber_get_labels( $type = 'activity' ) {
|
|
1325 |
// User actions
|
1326 |
$act[1] = __( 'User created', 'wp-cerber' );
|
1327 |
$act[2] = __( 'User registered', 'wp-cerber' );
|
|
|
1328 |
$act[5] = __( 'Logged in', 'wp-cerber' );
|
1329 |
$act[6] = __( 'Logged out', 'wp-cerber' );
|
1330 |
$act[7] = __( 'Login failed', 'wp-cerber' );
|
@@ -1408,13 +1409,19 @@ function cerber_get_labels( $type = 'activity' ) {
|
|
1408 |
$sts[28] = __( 'Initiated by the user', 'wp-cerber' );
|
1409 |
|
1410 |
$sts[30] = 'Username is prohibited';
|
1411 |
-
$sts[31] = __( 'Email address is
|
1412 |
$sts[32] = 'User role is prohibited';
|
1413 |
$sts[33] = __( 'Permission denied', 'wp-cerber' );
|
1414 |
$sts[34] = 'Unauthorized access denied';
|
1415 |
$sts[35] = __( 'Invalid user', 'wp-cerber' );
|
1416 |
$sts[36] = __( 'Incorrect password', 'wp-cerber' );
|
1417 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1418 |
cerber_cache_set( 'labels', $labels );
|
1419 |
}
|
1420 |
|
@@ -1613,18 +1620,35 @@ function cerber_auto_date( $time ) {
|
|
1613 |
* Format date according to user settings and timezone
|
1614 |
*
|
1615 |
* @param $timestamp int Unix timestamp
|
|
|
1616 |
*
|
1617 |
* @return string
|
1618 |
*/
|
1619 |
-
function cerber_date( $timestamp ) {
|
1620 |
static $gmt_offset;
|
1621 |
|
1622 |
-
if ( $gmt_offset === null) {
|
1623 |
$gmt_offset = get_option( 'gmt_offset' ) * 3600;
|
1624 |
}
|
1625 |
|
1626 |
-
$timestamp
|
1627 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1628 |
}
|
1629 |
|
1630 |
function cerber_get_dt_format() {
|
@@ -1638,12 +1662,16 @@ function cerber_get_dt_format() {
|
|
1638 |
return $ret;
|
1639 |
}
|
1640 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1641 |
$tf = get_option( 'time_format' );
|
1642 |
-
//$tf = str_replace( ' ', ' ', get_option( 'time_format' ) );
|
1643 |
$df = get_option( 'date_format' );
|
1644 |
-
$ret = $df . ', ' . $tf;
|
1645 |
|
1646 |
-
return $
|
1647 |
}
|
1648 |
|
1649 |
function cerber_is_ampm() {
|
@@ -1915,6 +1943,9 @@ function cerber_detect_browser( $ua ) {
|
|
1915 |
elseif ( 0 === strpos( $ua, 'python-requests' ) ) {
|
1916 |
$ret = 'Python Script';
|
1917 |
}
|
|
|
|
|
|
|
1918 |
else {
|
1919 |
$ret = __( 'Unknown', 'wp-cerber' );
|
1920 |
}
|
@@ -1954,20 +1985,6 @@ function cerber_is_crawler( $ua ) {
|
|
1954 |
return 0;
|
1955 |
}
|
1956 |
|
1957 |
-
// TODO: remove this and other non-MySQLi stuff
|
1958 |
-
function cerber_db_use_mysqli() {
|
1959 |
-
static $mysqli;
|
1960 |
-
|
1961 |
-
return true; // @since 8.6.1 Only MySQLi is supported
|
1962 |
-
|
1963 |
-
if ( $mysqli === null ) {
|
1964 |
-
$db = cerber_get_db();
|
1965 |
-
$mysqli = $db->use_mysqli;
|
1966 |
-
}
|
1967 |
-
|
1968 |
-
return $mysqli;
|
1969 |
-
}
|
1970 |
-
|
1971 |
/**
|
1972 |
* Natively escape a string for use in an SQL statement
|
1973 |
* The reason: https://make.wordpress.org/core/2017/10/31/changed-behaviour-of-esc_sql-in-wordpress-4-8-3/
|
@@ -1981,7 +1998,7 @@ function cerber_real_escape( $str ) {
|
|
1981 |
|
1982 |
$str = (string) $str;
|
1983 |
|
1984 |
-
if ( empty( $str ) ) {
|
1985 |
if ( $str === '0' ) {
|
1986 |
return '0';
|
1987 |
}
|
@@ -1989,16 +2006,11 @@ function cerber_real_escape( $str ) {
|
|
1989 |
return '';
|
1990 |
}
|
1991 |
|
1992 |
-
$db = cerber_get_db()
|
1993 |
-
|
1994 |
-
if ( cerber_db_use_mysqli() ) {
|
1995 |
-
$escaped = mysqli_real_escape_string( $db->dbh, $str );
|
1996 |
-
}
|
1997 |
-
else {
|
1998 |
-
$escaped = mysql_real_escape_string( $str, $db->dbh );
|
1999 |
}
|
2000 |
|
2001 |
-
return
|
2002 |
}
|
2003 |
|
2004 |
function cerber_db_get_errors( $erase = false ) {
|
@@ -2033,24 +2045,19 @@ function cerber_db_query( $query ) {
|
|
2033 |
|
2034 |
$db = cerber_get_db();
|
2035 |
|
2036 |
-
if ( ! $db
|
2037 |
-
|
|
|
|
|
|
|
2038 |
|
2039 |
return false;
|
2040 |
}
|
2041 |
|
2042 |
-
|
2043 |
-
|
2044 |
-
$
|
2045 |
-
|
2046 |
-
$cerber_db_errors[] = mysqli_error( $db->dbh ) . ' for the query: ' . $query;
|
2047 |
-
}
|
2048 |
-
}
|
2049 |
-
else {
|
2050 |
-
$ret = mysql_query( $query, $db->dbh ); // For compatibility reason only
|
2051 |
-
if ( ! $ret ) {
|
2052 |
-
$cerber_db_errors[] = mysql_error( $db->dbh ) . ' for the query: ' . $query; // For compatibility reason only
|
2053 |
-
}
|
2054 |
}
|
2055 |
|
2056 |
return $ret;
|
@@ -2058,140 +2065,89 @@ function cerber_db_query( $query ) {
|
|
2058 |
|
2059 |
function cerber_db_get_results( $query, $type = MYSQLI_ASSOC ) {
|
2060 |
|
|
|
|
|
|
|
|
|
2061 |
$ret = array();
|
2062 |
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
|
2067 |
-
while ( $row = mysqli_fetch_assoc( $result ) ) {
|
2068 |
-
$ret[] = $row;
|
2069 |
-
}
|
2070 |
-
//$ret = mysqli_fetch_all( $result, $type ); // Requires mysqlnd driver
|
2071 |
-
break;
|
2072 |
-
case MYSQL_FETCH_OBJECT:
|
2073 |
-
while ( $row = mysqli_fetch_object( $result ) ) {
|
2074 |
-
$ret[] = $row;
|
2075 |
-
}
|
2076 |
-
break;
|
2077 |
-
case MYSQL_FETCH_OBJECT_K:
|
2078 |
-
while ( $row = mysqli_fetch_object( $result ) ) {
|
2079 |
-
$vars = get_object_vars( $row );
|
2080 |
-
$key = array_shift( $vars );
|
2081 |
-
$ret[ $key ] = $row;
|
2082 |
-
}
|
2083 |
-
break;
|
2084 |
-
default:
|
2085 |
-
while ( $row = mysqli_fetch_row( $result ) ) {
|
2086 |
-
$ret[] = $row;
|
2087 |
-
}
|
2088 |
}
|
2089 |
-
|
2090 |
-
|
2091 |
-
|
2092 |
-
|
2093 |
-
|
2094 |
-
|
2095 |
-
|
2096 |
-
|
2097 |
-
|
2098 |
-
|
2099 |
-
|
2100 |
-
|
2101 |
-
|
2102 |
-
|
2103 |
-
|
2104 |
-
|
2105 |
-
|
2106 |
-
$vars = get_object_vars( $row );
|
2107 |
-
$key = array_shift( $vars );
|
2108 |
-
$ret[ $key ] = $row;
|
2109 |
-
}
|
2110 |
-
break;
|
2111 |
-
default:
|
2112 |
-
while ( $row = mysql_fetch_row( $result ) ) {
|
2113 |
-
$ret[] = $row;
|
2114 |
-
}
|
2115 |
-
|
2116 |
}
|
2117 |
-
|
2118 |
-
mysql_free_result( $result ); // For compatibility reason only
|
2119 |
-
}
|
2120 |
}
|
2121 |
|
|
|
|
|
2122 |
return $ret;
|
2123 |
}
|
2124 |
|
2125 |
function cerber_db_get_row( $query, $type = MYSQLI_ASSOC ) {
|
2126 |
|
2127 |
-
if ( $result = cerber_db_query( $query ) ) {
|
2128 |
-
|
2129 |
-
|
2130 |
-
|
2131 |
-
|
2132 |
-
|
2133 |
-
$ret = $result->fetch_array( $type );
|
2134 |
-
}
|
2135 |
-
$result->free();
|
2136 |
-
}
|
2137 |
-
else {
|
2138 |
-
if ( $type == MYSQL_FETCH_OBJECT ) {
|
2139 |
-
$ret = mysql_fetch_object( $result ); // For compatibility reason only
|
2140 |
-
}
|
2141 |
-
else {
|
2142 |
-
$ret = mysql_fetch_array( $result, MYSQL_ASSOC ); // For compatibility reason only
|
2143 |
-
}
|
2144 |
-
mysql_free_result( $result ); // For compatibility reason only
|
2145 |
-
}
|
2146 |
}
|
2147 |
else {
|
2148 |
-
$ret =
|
2149 |
}
|
2150 |
|
|
|
|
|
2151 |
return $ret;
|
2152 |
}
|
2153 |
|
2154 |
function cerber_db_get_col( $query ) {
|
2155 |
|
|
|
|
|
|
|
|
|
2156 |
$ret = array();
|
2157 |
|
2158 |
-
|
2159 |
-
|
2160 |
-
while ( $row = $result->fetch_row() ) {
|
2161 |
-
$ret[] = $row[0];
|
2162 |
-
}
|
2163 |
-
$result->free();
|
2164 |
-
}
|
2165 |
-
else {
|
2166 |
-
while ( $row = mysql_fetch_row( $result ) ) { // For compatibility reason only
|
2167 |
-
$ret[] = $row[0];
|
2168 |
-
}
|
2169 |
-
mysql_free_result( $result ); // For compatibility reason only
|
2170 |
-
}
|
2171 |
-
}
|
2172 |
-
else {
|
2173 |
-
$ret = false;
|
2174 |
}
|
2175 |
|
|
|
|
|
2176 |
return $ret;
|
2177 |
}
|
2178 |
|
2179 |
function cerber_db_get_var( $query ) {
|
2180 |
|
2181 |
-
if ( $result = cerber_db_query( $query ) ) {
|
2182 |
-
|
2183 |
-
|
2184 |
-
$r = mysqli_fetch_row( $result );
|
2185 |
-
$result->free();
|
2186 |
-
}
|
2187 |
-
else {
|
2188 |
-
$r = mysql_fetch_row( $result ); // For compatibility reason only
|
2189 |
-
mysql_free_result( $result ); // For compatibility reason only
|
2190 |
-
}
|
2191 |
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
|
|
|
|
|
|
2195 |
}
|
2196 |
|
2197 |
return false;
|
@@ -2212,12 +2168,16 @@ function cerber_get_db() {
|
|
2212 |
$cerber_db_errors = array();
|
2213 |
}
|
2214 |
|
2215 |
-
|
2216 |
-
|
2217 |
-
|
2218 |
-
|
|
|
|
|
|
|
2219 |
if ( ! $db = cerber_db_connect() ) {
|
2220 |
$cerber_db_errors[] = 'Unable to connect to the DB';
|
|
|
2221 |
return false;
|
2222 |
}
|
2223 |
}
|
@@ -2248,8 +2208,14 @@ function cerber_db_connect() {
|
|
2248 |
if ( ! defined( 'CRB_ABSPATH' ) ) {
|
2249 |
define( 'CRB_ABSPATH', cerber_dirname( __FILE__, 4 ) );
|
2250 |
}
|
|
|
2251 |
$db_class = CRB_ABSPATH . '/' . WPINC . '/wp-db.php';
|
|
|
2252 |
$wp_config = CRB_ABSPATH . '/wp-config.php';
|
|
|
|
|
|
|
|
|
2253 |
if ( file_exists( $db_class ) && $config = file_get_contents( $wp_config ) ) {
|
2254 |
$config = str_replace( '<?php', '', $config );
|
2255 |
$config = str_replace( '?>', '', $config );
|
@@ -2462,7 +2428,7 @@ function cerber_set_groove( $expire ) {
|
|
2462 |
cerber_set_cookie( 'cerber_groove', md5( cerber_get_groove() ), $expire + 1 );
|
2463 |
|
2464 |
$groove_x = cerber_get_groove_x();
|
2465 |
-
cerber_set_cookie( 'cerber_groove_x_'
|
2466 |
}
|
2467 |
}
|
2468 |
|
@@ -2539,7 +2505,7 @@ function cerber_get_cookie_path(){
|
|
2539 |
return '/';
|
2540 |
}
|
2541 |
|
2542 |
-
function cerber_set_cookie( $name, $value, $expire = 0, $path = "", $domain = ""
|
2543 |
if ( cerber_is_wp_cron() ) {
|
2544 |
return;
|
2545 |
}
|
@@ -2550,7 +2516,16 @@ function cerber_set_cookie( $name, $value, $expire = 0, $path = "", $domain = ""
|
|
2550 |
$expire = absint( $expire );
|
2551 |
$expire = ( $expire > 43009401600 ) ? 43009401600 : $expire;
|
2552 |
|
2553 |
-
setcookie( cerber_get_cookie_prefix() . $name, $value, $expire, $path, $domain,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2554 |
}
|
2555 |
|
2556 |
/**
|
@@ -3000,28 +2975,38 @@ function crb_getallheaders() {
|
|
3000 |
return $headers;
|
3001 |
}
|
3002 |
|
|
|
|
|
|
|
|
|
|
|
3003 |
|
3004 |
/**
|
3005 |
* Write message to the diagnostic log
|
3006 |
*
|
3007 |
* @param string|array $msg
|
3008 |
* @param string $source
|
|
|
3009 |
*
|
3010 |
* @return bool|int
|
3011 |
*/
|
3012 |
-
function cerber_diag_log( $msg, $source = '' ) {
|
3013 |
if ( ! $msg || ! $log = @fopen( cerber_get_diag_log(), 'a' ) ) {
|
3014 |
return false;
|
3015 |
}
|
3016 |
if ( $source ) {
|
3017 |
$source = '[' . $source . ']';
|
3018 |
}
|
|
|
|
|
|
|
3019 |
if ( ! is_array( $msg ) ) {
|
3020 |
$msg = array( $msg );
|
3021 |
}
|
|
|
3022 |
foreach ( $msg as $line ) {
|
3023 |
//$ret = @fwrite( $log, '[' .cerber_get_remote_ip(). '][' . cerber_date( time() ) . ']' . $source . ' ' . $line . PHP_EOL );
|
3024 |
-
$ret = @fwrite( $log, '[' . cerber_date( time() ) . ']' . $source . ' ' . $line . PHP_EOL );
|
3025 |
}
|
3026 |
|
3027 |
@fclose( $log );
|
@@ -3290,6 +3275,31 @@ function crb_insert_with_markers( $filename, $marker, $insertion ) {
|
|
3290 |
return (bool) $bytes;
|
3291 |
}
|
3292 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3293 |
function crb_file_headers( $fname ) {
|
3294 |
$fname = rawurlencode( $fname ); // encode non-ASCII symbols
|
3295 |
@ob_clean(); // This trick is crucial for some servers/environments (e.g. some IIS)
|
47 |
* @since 6.0
|
48 |
*
|
49 |
*/
|
50 |
+
function cerber_get_wp_scripts() {
|
51 |
+
return array_map( function ( $e ) {
|
52 |
return '/' . $e;
|
53 |
}, array( WP_LOGIN_SCRIPT, WP_REG_URI, WP_XMLRPC_SCRIPT, WP_TRACKBACK_SCRIPT, WP_PING_SCRIPT, WP_SIGNUP_SCRIPT, WP_COMMENT_SCRIPT ) );
|
|
|
54 |
}
|
55 |
|
56 |
/**
|
117 |
$link_base = rtrim( $base, '/' ) . '/admin.php?page=';
|
118 |
}
|
119 |
|
|
|
120 |
$link = $link_base . $page;
|
121 |
|
122 |
if ( $tab ) {
|
124 |
}
|
125 |
|
126 |
if ( $args ) {
|
|
|
127 |
foreach ( $args as $arg => $value ) {
|
128 |
$link .= '&' . $arg . '=' . urlencode( $value );
|
129 |
}
|
1028 |
}*/
|
1029 |
|
1030 |
function cerber_is_rest_permitted() {
|
1031 |
+
global $cerber_req_status;
|
1032 |
+
|
1033 |
$opt = crb_get_settings();
|
1034 |
|
1035 |
if ( ! empty( $opt['norestuser'] ) ) {
|
1057 |
$namespace = substr( $rest_path, 0, strpos( $rest_path, '/' ) );
|
1058 |
foreach ( $opt['restwhite'] as $exception ) {
|
1059 |
if ( $exception == $namespace ) {
|
1060 |
+
$cerber_req_status = 503;
|
1061 |
return true;
|
1062 |
}
|
1063 |
}
|
1325 |
// User actions
|
1326 |
$act[1] = __( 'User created', 'wp-cerber' );
|
1327 |
$act[2] = __( 'User registered', 'wp-cerber' );
|
1328 |
+
$act[3] = __( 'User deleted', 'wp-cerber' );
|
1329 |
$act[5] = __( 'Logged in', 'wp-cerber' );
|
1330 |
$act[6] = __( 'Logged out', 'wp-cerber' );
|
1331 |
$act[7] = __( 'Login failed', 'wp-cerber' );
|
1409 |
$sts[28] = __( 'Initiated by the user', 'wp-cerber' );
|
1410 |
|
1411 |
$sts[30] = 'Username is prohibited';
|
1412 |
+
$sts[31] = __( 'Email address is prohibited', 'wp-cerber' );
|
1413 |
$sts[32] = 'User role is prohibited';
|
1414 |
$sts[33] = __( 'Permission denied', 'wp-cerber' );
|
1415 |
$sts[34] = 'Unauthorized access denied';
|
1416 |
$sts[35] = __( 'Invalid user', 'wp-cerber' );
|
1417 |
$sts[36] = __( 'Incorrect password', 'wp-cerber' );
|
1418 |
|
1419 |
+
// @since 8.6.4
|
1420 |
+
$sts[500] = __( 'IP whitelisted', 'wp-cerber' );
|
1421 |
+
$sts[501] = 'URL whitelisted';
|
1422 |
+
$sts[502] = 'Query whitelisted';
|
1423 |
+
$sts[503] = 'Namespace whitelisted';
|
1424 |
+
|
1425 |
cerber_cache_set( 'labels', $labels );
|
1426 |
}
|
1427 |
|
1620 |
* Format date according to user settings and timezone
|
1621 |
*
|
1622 |
* @param $timestamp int Unix timestamp
|
1623 |
+
* @param $purify boolean If true adds html to have a better look on a web page
|
1624 |
*
|
1625 |
* @return string
|
1626 |
*/
|
1627 |
+
function cerber_date( $timestamp, $purify = true ) {
|
1628 |
static $gmt_offset;
|
1629 |
|
1630 |
+
if ( $gmt_offset === null ) {
|
1631 |
$gmt_offset = get_option( 'gmt_offset' ) * 3600;
|
1632 |
}
|
1633 |
|
1634 |
+
$timestamp = $gmt_offset + absint( $timestamp );
|
1635 |
+
|
1636 |
+
// @since 8.6.4: snippet is taken from new date_i18n()
|
1637 |
+
if ( function_exists( 'wp_date' ) ) { // wp_date() introduced in WP 5.3
|
1638 |
+
$local_time = gmdate( 'Y-m-d H:i:s', $timestamp );
|
1639 |
+
$timezone = wp_timezone();
|
1640 |
+
$datetime = date_create( $local_time, $timezone );
|
1641 |
+
$date = wp_date( cerber_get_dt_format(), $datetime->getTimestamp(), $timezone );
|
1642 |
+
}
|
1643 |
+
else { // Older WP
|
1644 |
+
$date = date_i18n( cerber_get_dt_format(), $timestamp );
|
1645 |
+
}
|
1646 |
+
|
1647 |
+
if ( $purify ) {
|
1648 |
+
$date = str_replace( array( ',', ' am', ' pm', ' AM', ' PM' ), array( ',<wbr>', ' am', ' pm', ' AM', ' PM' ), $date );
|
1649 |
+
}
|
1650 |
+
|
1651 |
+
return $date;
|
1652 |
}
|
1653 |
|
1654 |
function cerber_get_dt_format() {
|
1662 |
return $ret;
|
1663 |
}
|
1664 |
|
1665 |
+
$ret = crb_get_default_dt_format();
|
1666 |
+
return $ret;
|
1667 |
+
|
1668 |
+
}
|
1669 |
+
|
1670 |
+
function crb_get_default_dt_format() {
|
1671 |
$tf = get_option( 'time_format' );
|
|
|
1672 |
$df = get_option( 'date_format' );
|
|
|
1673 |
|
1674 |
+
return $df . ', ' . $tf;
|
1675 |
}
|
1676 |
|
1677 |
function cerber_is_ampm() {
|
1943 |
elseif ( 0 === strpos( $ua, 'python-requests' ) ) {
|
1944 |
$ret = 'Python Script';
|
1945 |
}
|
1946 |
+
elseif ( 0 === strpos( $ua, 'ApacheBench' ) ) {
|
1947 |
+
$ret = $ua;
|
1948 |
+
}
|
1949 |
else {
|
1950 |
$ret = __( 'Unknown', 'wp-cerber' );
|
1951 |
}
|
1985 |
return 0;
|
1986 |
}
|
1987 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1988 |
/**
|
1989 |
* Natively escape a string for use in an SQL statement
|
1990 |
* The reason: https://make.wordpress.org/core/2017/10/31/changed-behaviour-of-esc_sql-in-wordpress-4-8-3/
|
1998 |
|
1999 |
$str = (string) $str;
|
2000 |
|
2001 |
+
if ( empty( $str ) ) {
|
2002 |
if ( $str === '0' ) {
|
2003 |
return '0';
|
2004 |
}
|
2006 |
return '';
|
2007 |
}
|
2008 |
|
2009 |
+
if ( $db = cerber_get_db() ) {
|
2010 |
+
return mysqli_real_escape_string( $db->dbh, $str );
|
|
|
|
|
|
|
|
|
|
|
2011 |
}
|
2012 |
|
2013 |
+
return '';
|
2014 |
}
|
2015 |
|
2016 |
function cerber_db_get_errors( $erase = false ) {
|
2045 |
|
2046 |
$db = cerber_get_db();
|
2047 |
|
2048 |
+
if ( ! $db
|
2049 |
+
|| empty( $db->dbh )
|
2050 |
+
|| ! ( $db->dbh instanceof MySQLi ) ) {
|
2051 |
+
|
2052 |
+
$cerber_db_errors[] = 'No active DB handler. Query: ' . $query;
|
2053 |
|
2054 |
return false;
|
2055 |
}
|
2056 |
|
2057 |
+
//$ret = mysqli_query( $db->dbh, $query, MYSQLI_USE_RESULT );
|
2058 |
+
if ( ! $ret = mysqli_query( $db->dbh, $query ) ) {
|
2059 |
+
$err = mysqli_error( $db->dbh ) . '. Query: ' . $query;
|
2060 |
+
$cerber_db_errors[] = $err;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2061 |
}
|
2062 |
|
2063 |
return $ret;
|
2065 |
|
2066 |
function cerber_db_get_results( $query, $type = MYSQLI_ASSOC ) {
|
2067 |
|
2068 |
+
if ( ! $result = cerber_db_query( $query ) ) {
|
2069 |
+
return array();
|
2070 |
+
}
|
2071 |
+
|
2072 |
$ret = array();
|
2073 |
|
2074 |
+
switch ( $type ) {
|
2075 |
+
case MYSQLI_ASSOC:
|
2076 |
+
while ( $row = mysqli_fetch_assoc( $result ) ) {
|
2077 |
+
$ret[] = $row;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2078 |
}
|
2079 |
+
//$ret = mysqli_fetch_all( $result, $type ); // Requires mysqlnd driver
|
2080 |
+
break;
|
2081 |
+
case MYSQL_FETCH_OBJECT:
|
2082 |
+
while ( $row = mysqli_fetch_object( $result ) ) {
|
2083 |
+
$ret[] = $row;
|
2084 |
+
}
|
2085 |
+
break;
|
2086 |
+
case MYSQL_FETCH_OBJECT_K:
|
2087 |
+
while ( $row = mysqli_fetch_object( $result ) ) {
|
2088 |
+
$vars = get_object_vars( $row );
|
2089 |
+
$key = array_shift( $vars );
|
2090 |
+
$ret[ $key ] = $row;
|
2091 |
+
}
|
2092 |
+
break;
|
2093 |
+
default:
|
2094 |
+
while ( $row = mysqli_fetch_row( $result ) ) {
|
2095 |
+
$ret[] = $row;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2096 |
}
|
|
|
|
|
|
|
2097 |
}
|
2098 |
|
2099 |
+
mysqli_free_result( $result );
|
2100 |
+
|
2101 |
return $ret;
|
2102 |
}
|
2103 |
|
2104 |
function cerber_db_get_row( $query, $type = MYSQLI_ASSOC ) {
|
2105 |
|
2106 |
+
if ( ! $result = cerber_db_query( $query ) ) {
|
2107 |
+
return false;
|
2108 |
+
}
|
2109 |
+
|
2110 |
+
if ( $type == MYSQL_FETCH_OBJECT ) {
|
2111 |
+
$ret = $result->fetch_object();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2112 |
}
|
2113 |
else {
|
2114 |
+
$ret = $result->fetch_array( $type );
|
2115 |
}
|
2116 |
|
2117 |
+
$result->free();
|
2118 |
+
|
2119 |
return $ret;
|
2120 |
}
|
2121 |
|
2122 |
function cerber_db_get_col( $query ) {
|
2123 |
|
2124 |
+
if ( ! $result = cerber_db_query( $query ) ) {
|
2125 |
+
return array();
|
2126 |
+
}
|
2127 |
+
|
2128 |
$ret = array();
|
2129 |
|
2130 |
+
while ( $row = $result->fetch_row() ) {
|
2131 |
+
$ret[] = $row[0];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2132 |
}
|
2133 |
|
2134 |
+
$result->free();
|
2135 |
+
|
2136 |
return $ret;
|
2137 |
}
|
2138 |
|
2139 |
function cerber_db_get_var( $query ) {
|
2140 |
|
2141 |
+
if ( ! $result = cerber_db_query( $query ) ) {
|
2142 |
+
return false;
|
2143 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2144 |
|
2145 |
+
//$r = $result->fetch_row();
|
2146 |
+
$r = mysqli_fetch_row( $result );
|
2147 |
+
$result->free();
|
2148 |
+
|
2149 |
+
if ( $r ) {
|
2150 |
+
return $r[0];
|
2151 |
}
|
2152 |
|
2153 |
return false;
|
2168 |
$cerber_db_errors = array();
|
2169 |
}
|
2170 |
|
2171 |
+
if ( empty( $db )
|
2172 |
+
|| empty( $db->dbh )
|
2173 |
+
|| ! ( $db->dbh instanceof MySQLi ) ) {
|
2174 |
+
|
2175 |
+
if ( ! is_object( $wpdb )
|
2176 |
+
|| empty( $wpdb->dbh )
|
2177 |
+
|| ! ( $wpdb->dbh instanceof MySQLi ) ) {
|
2178 |
if ( ! $db = cerber_db_connect() ) {
|
2179 |
$cerber_db_errors[] = 'Unable to connect to the DB';
|
2180 |
+
|
2181 |
return false;
|
2182 |
}
|
2183 |
}
|
2208 |
if ( ! defined( 'CRB_ABSPATH' ) ) {
|
2209 |
define( 'CRB_ABSPATH', cerber_dirname( __FILE__, 4 ) );
|
2210 |
}
|
2211 |
+
|
2212 |
$db_class = CRB_ABSPATH . '/' . WPINC . '/wp-db.php';
|
2213 |
+
|
2214 |
$wp_config = CRB_ABSPATH . '/wp-config.php';
|
2215 |
+
if ( ! file_exists( $wp_config ) ) {
|
2216 |
+
$wp_config = dirname( CRB_ABSPATH ) . '/wp-config.php';
|
2217 |
+
}
|
2218 |
+
|
2219 |
if ( file_exists( $db_class ) && $config = file_get_contents( $wp_config ) ) {
|
2220 |
$config = str_replace( '<?php', '', $config );
|
2221 |
$config = str_replace( '?>', '', $config );
|
2428 |
cerber_set_cookie( 'cerber_groove', md5( cerber_get_groove() ), $expire + 1 );
|
2429 |
|
2430 |
$groove_x = cerber_get_groove_x();
|
2431 |
+
cerber_set_cookie( 'cerber_groove_x_' . $groove_x[0], $groove_x[1], $expire + 1 );
|
2432 |
}
|
2433 |
}
|
2434 |
|
2505 |
return '/';
|
2506 |
}
|
2507 |
|
2508 |
+
function cerber_set_cookie( $name, $value, $expire = 0, $path = "", $domain = "" ) {
|
2509 |
if ( cerber_is_wp_cron() ) {
|
2510 |
return;
|
2511 |
}
|
2516 |
$expire = absint( $expire );
|
2517 |
$expire = ( $expire > 43009401600 ) ? 43009401600 : $expire;
|
2518 |
|
2519 |
+
setcookie( cerber_get_cookie_prefix() . $name, $value, $expire, $path, $domain, is_ssl(), false );
|
2520 |
+
// No rush here: PHP 7.3 only
|
2521 |
+
/*setcookie( cerber_get_cookie_prefix() . $name, $value, array(
|
2522 |
+
'expires ' => $expire,
|
2523 |
+
'path' => $path,
|
2524 |
+
'domain' => $domain,
|
2525 |
+
'secure' => is_ssl(),
|
2526 |
+
'httponly' => false,
|
2527 |
+
'samesite' => 'Strict',
|
2528 |
+
) );*/
|
2529 |
}
|
2530 |
|
2531 |
/**
|
2975 |
return $headers;
|
2976 |
}
|
2977 |
|
2978 |
+
function cerber_error_log( $msg, $source = '' ) {
|
2979 |
+
//if ( crb_get_settings( 'log_errors' ) ) {
|
2980 |
+
cerber_diag_log( $msg, $source, true );
|
2981 |
+
//}
|
2982 |
+
}
|
2983 |
|
2984 |
/**
|
2985 |
* Write message to the diagnostic log
|
2986 |
*
|
2987 |
* @param string|array $msg
|
2988 |
* @param string $source
|
2989 |
+
* @param bool $error
|
2990 |
*
|
2991 |
* @return bool|int
|
2992 |
*/
|
2993 |
+
function cerber_diag_log( $msg, $source = '', $error = false ) {
|
2994 |
if ( ! $msg || ! $log = @fopen( cerber_get_diag_log(), 'a' ) ) {
|
2995 |
return false;
|
2996 |
}
|
2997 |
if ( $source ) {
|
2998 |
$source = '[' . $source . ']';
|
2999 |
}
|
3000 |
+
if ( $error ) {
|
3001 |
+
$source .= ' ERROR: ';
|
3002 |
+
}
|
3003 |
if ( ! is_array( $msg ) ) {
|
3004 |
$msg = array( $msg );
|
3005 |
}
|
3006 |
+
|
3007 |
foreach ( $msg as $line ) {
|
3008 |
//$ret = @fwrite( $log, '[' .cerber_get_remote_ip(). '][' . cerber_date( time() ) . ']' . $source . ' ' . $line . PHP_EOL );
|
3009 |
+
$ret = @fwrite( $log, '[' . cerber_date( time(), false ) . ']' . $source . ' ' . $line . PHP_EOL );
|
3010 |
}
|
3011 |
|
3012 |
@fclose( $log );
|
3275 |
return (bool) $bytes;
|
3276 |
}
|
3277 |
|
3278 |
+
/**
|
3279 |
+
* @return WP_Error|WP_Filesystem_Direct
|
3280 |
+
*/
|
3281 |
+
function cerber_init_wp_filesystem() {
|
3282 |
+
global $wp_filesystem;
|
3283 |
+
|
3284 |
+
if ( $wp_filesystem instanceof WP_Filesystem_Direct ) { // @since 8.1.5
|
3285 |
+
return $wp_filesystem;
|
3286 |
+
}
|
3287 |
+
|
3288 |
+
require_once( ABSPATH . 'wp-admin/includes/file.php' );
|
3289 |
+
|
3290 |
+
add_filter( 'filesystem_method', '__ret_direct' );
|
3291 |
+
if ( ! WP_Filesystem() ) {
|
3292 |
+
return new WP_Error( 'cerber-file', 'Unable to init WP_Filesystem' );
|
3293 |
+
}
|
3294 |
+
remove_filter( 'filesystem_method', '__ret_direct' );
|
3295 |
+
|
3296 |
+
return $wp_filesystem;
|
3297 |
+
}
|
3298 |
+
|
3299 |
+
function __ret_direct() {
|
3300 |
+
return 'direct';
|
3301 |
+
}
|
3302 |
+
|
3303 |
function crb_file_headers( $fname ) {
|
3304 |
$fname = rawurlencode( $fname ); // encode non-ASCII symbols
|
3305 |
@ob_clean(); // This trick is crucial for some servers/environments (e.g. some IIS)
|
dashboard.php
CHANGED
@@ -157,9 +157,9 @@ function cerber_show_lockouts( $args = array(), $echo = true ) {
|
|
157 |
//$wp_cerber->deleteGarbage();
|
158 |
|
159 |
$per_page = ( ! empty( $args['per_page'] ) ) ? $args['per_page'] : crb_admin_get_per_page();
|
160 |
-
$limit = (
|
161 |
|
162 |
-
|
163 |
|
164 |
$total = cerber_blocked_num();
|
165 |
$list = array();
|
@@ -192,7 +192,7 @@ function cerber_show_lockouts( $args = array(), $echo = true ) {
|
|
192 |
}
|
193 |
|
194 |
$heading = array(
|
195 |
-
__( 'IP', 'wp-cerber' ),
|
196 |
__( 'Hostname', 'wp-cerber' ),
|
197 |
__( 'Country', 'wp-cerber' ),
|
198 |
__( 'Expires', 'wp-cerber' ),
|
@@ -317,9 +317,9 @@ function cerber_acl_get_table( $tag, $acl_slice = 0 ) {
|
|
317 |
. $ret . '</div>
|
318 |
<form action="" method="post">
|
319 |
<table>
|
320 |
-
<tr><td><input class="
|
321 |
</td><td><input type="submit" class="button button-primary" value="' . __( 'Add Entry', 'wp-cerber' ) . '" ></td></tr>
|
322 |
-
<tr><td><input class="
|
323 |
</td><td></td></tr>
|
324 |
</table>
|
325 |
<input type="hidden" name="cerber_admin_do" value="add2acl">
|
@@ -446,6 +446,13 @@ function cerber_admin_ajax() {
|
|
446 |
delete_site_option( 'cerber_admin_info' );
|
447 |
}
|
448 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
449 |
elseif ( $admin && ( $usearch = crb_array_get( $request, 'user_search' ) ) ) {
|
450 |
$users = get_users( array( 'search' => '*' . esc_attr( $usearch ) . '*', ) );
|
451 |
$response = array();
|
@@ -520,7 +527,6 @@ function cerber_get_ip_info( $ip, $cache_only = false ) {
|
|
520 |
/*
|
521 |
Admin dashboard actions
|
522 |
*/
|
523 |
-
//add_action('admin_init','cerber_admin_request');
|
524 |
add_action( 'wp_loaded', function () { // 'wp_loaded' @since 5.6
|
525 |
if ( ! is_admin() ) {
|
526 |
return;
|
@@ -528,7 +534,7 @@ add_action( 'wp_loaded', function () { // 'wp_loaded' @since 5.6
|
|
528 |
|
529 |
cerber_admin_request();
|
530 |
|
531 |
-
} );
|
532 |
/**
|
533 |
* @param bool $is_post
|
534 |
*
|
@@ -673,13 +679,13 @@ function cerber_admin_request( $is_post = false ) {
|
|
673 |
}
|
674 |
elseif ( isset( $_GET['force_check_nodes'] ) ) {
|
675 |
$best = lab_check_nodes( true );
|
676 |
-
cerber_admin_message( 'Cerber Lab\'s nodes has been checked. The closest node: ' . $best );
|
677 |
cerber_safe_redirect( 'force_check_nodes' );
|
678 |
}
|
679 |
-
elseif ( isset( $_GET['
|
680 |
lab_cleanup_cache();
|
681 |
-
cerber_admin_message( 'The cache has been
|
682 |
-
cerber_safe_redirect( '
|
683 |
}
|
684 |
}
|
685 |
|
@@ -856,6 +862,23 @@ function cerber_export_activity( $params = array() ) {
|
|
856 |
|
857 |
$placeholder = array( 0, '', '', '', '' );
|
858 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
859 |
$i = 0;
|
860 |
|
861 |
do {
|
@@ -872,7 +895,7 @@ function cerber_export_activity( $params = array() ) {
|
|
872 |
}
|
873 |
|
874 |
$values[] = $row->ip;
|
875 |
-
$values[] =
|
876 |
$values[] = $labels[ $row->activity ];
|
877 |
$s = $details[0];
|
878 |
$values[] = ( isset( $status[ $s ] ) ) ? $status[ $s ] : '';
|
@@ -903,15 +926,11 @@ function cerber_send_csv_header( $f_name, $total, $heading = array(), $info = ar
|
|
903 |
|
904 |
$fname = $f_name . '.csv';
|
905 |
|
906 |
-
//$fname = rawurlencode( $f_name ) . '.csv'; // encode non-ASCII symbols
|
907 |
-
//@ob_clean(); // This trick is crucial for some servers/environments (IIS)
|
908 |
-
//header( "Content-Type: application/octet-stream" );
|
909 |
-
//header( "Content-Disposition: attachment; filename*=UTF-8''{$fname}" );
|
910 |
crb_file_headers( $fname );
|
911 |
|
912 |
$info[] = '"Generated by:","WP Cerber Security ' . CERBER_VER . '"';
|
913 |
$info[] = '"Website:","' . get_option( 'blogname' ) . '"';
|
914 |
-
$info[] = '"Date:","' . cerber_date( time() ) . '"';
|
915 |
$info[] = '"Rows in this file:","' . $total . '"';
|
916 |
|
917 |
echo implode( "\r\n", $info ) . "\r\n\r\n";
|
@@ -961,6 +980,7 @@ function crb_admin_quick_nav( $context = '' ) {
|
|
961 |
$links[] = array( $ac . '&filter_user=0', __( 'Not logged in visitors', 'wp-cerber' ) );
|
962 |
if ( ! $context ) {
|
963 |
$links[] = array( $ac . '&filter_user=' . get_current_user_id(), __( 'My activity', 'wp-cerber' ) );
|
|
|
964 |
}
|
965 |
|
966 |
$ret = '';
|
@@ -1023,7 +1043,7 @@ function cerber_show_activity( $args = array(), $echo = true ) {
|
|
1023 |
if ( empty( $args['no_details'] ) && $row->details ) {
|
1024 |
$details = explode( '|', $row->details );
|
1025 |
if ( ! empty( $details[0] ) && isset( $status_labels[ $details[0] ] ) ) {
|
1026 |
-
$activity .= ' <span class = "
|
1027 |
}
|
1028 |
//elseif ($row->activity == 50 && $details[4]) $activity .= ' '.$details[4];
|
1029 |
|
@@ -1124,31 +1144,6 @@ function cerber_show_activity( $args = array(), $echo = true ) {
|
|
1124 |
|
1125 |
$display = ( $sid || $in_url ) ? '' : 'display: none;';
|
1126 |
|
1127 |
-
/*$filters = '<form action="">'
|
1128 |
-
. crb_get_activity_dd()
|
1129 |
-
. cerber_select( 'filter_user', ( $user_id ) ? array( $user_id => $sname ) : array(), $user_id, 'crb-select2-ajax', '', false, esc_html__( 'Filter by registered user', 'wp-cerber' ), array( 'min_symbols' => 3 ) )
|
1130 |
-
. '<input type="text" value="' . $search . '" name="search_activity" placeholder="' . esc_html__( 'Search for IP or username', 'wp-cerber' ) . '">
|
1131 |
-
<!-- <input type="submit" value="' . __( 'Filter', 'wp-cerber' ) . '" class="button button-secondary"> -->
|
1132 |
-
<button type="submit" class="cerber-button button button-primary">
|
1133 |
-
' . __( 'Filter', 'wp-cerber' ) . '
|
1134 |
-
</button>
|
1135 |
-
|
1136 |
-
<a href="#" class="crb-opener" data-target="extra-activity-filter">More</a>
|
1137 |
-
|
1138 |
-
<div id="extra-activity-filter" style="' . $display . '">
|
1139 |
-
<input type="text" value="'.$sid.'" name="filter_sid" placeholder="' . esc_html__( 'Session ID', 'wp-cerber' ) . '">
|
1140 |
-
<input type="text" value="'.$in_url.'" name="search_url" placeholder="' . esc_html__( 'Search in URL', 'wp-cerber' ) . '">
|
1141 |
-
</div>
|
1142 |
-
|
1143 |
-
<!-- Preserve values -->
|
1144 |
-
<input type="hidden" name="filter_ip" value="' . htmlspecialchars( $filter_ip ) . '" >
|
1145 |
-
<input type="hidden" name="filter_login" value="' . $filter_login . '" >
|
1146 |
-
|
1147 |
-
<input type="hidden" name="page" value="cerber-security" >
|
1148 |
-
<input type="hidden" name="tab" value="activity">
|
1149 |
-
</form>';*/
|
1150 |
-
|
1151 |
-
|
1152 |
$filters = '<form action=""><div id="crb-activity-fields"><div>'
|
1153 |
|
1154 |
. crb_get_activity_dd()
|
@@ -1169,7 +1164,7 @@ function cerber_show_activity( $args = array(), $echo = true ) {
|
|
1169 |
</div>
|
1170 |
|
1171 |
<div class="crb-act-controls">
|
1172 |
-
[
|
1173 |
</div>
|
1174 |
|
1175 |
</div>
|
@@ -1325,7 +1320,7 @@ function cerber_activity_query( $args = array() ) {
|
|
1325 |
$ret[1] = $per_page;
|
1326 |
|
1327 |
if ( $per_page ) {
|
1328 |
-
$limit =
|
1329 |
$ret[0] = 'SELECT SQL_CALC_FOUND_ROWS * FROM ' . CERBER_LOG_TABLE . " log {$where} ORDER BY stamp DESC {$limit}";
|
1330 |
}
|
1331 |
else {
|
@@ -2393,7 +2388,7 @@ function cerber_show_aside( $page ) {
|
|
2393 |
|
2394 |
$aside = array();
|
2395 |
|
2396 |
-
if ( in_array( $page, array( 'main' ) ) ) {
|
2397 |
$aside[] = '<div class="crb-box">
|
2398 |
<h3>' . __( 'Confused about some settings?', 'wp-cerber' ) . '</h3>'
|
2399 |
. __( 'You can easily load default recommended settings using button below', 'wp-cerber' ) . '
|
@@ -2409,7 +2404,7 @@ function cerber_show_aside( $page ) {
|
|
2409 |
<p><i>* ' . __( "doesn't affect Custom login URL and Access Lists", 'wp-cerber' ) . '</i></p>
|
2410 |
<p style="text-align: center; font-size: 110%;"><a href="https://wpcerber.com/getting-started/" target="_blank">' . __( 'Getting Started Guide', 'wp-cerber' ) . '</a></p>
|
2411 |
</div>';
|
2412 |
-
}
|
2413 |
/*
|
2414 |
$aside[] = '<div class="crb-box" id = "crb-subscribe">
|
2415 |
<div class="crb-box-inner">
|
@@ -2619,14 +2614,14 @@ function crb_admin_alerts_do( $mode = 'on', $hash = null ) {
|
|
2619 |
}
|
2620 |
}
|
2621 |
|
2622 |
-
// Unsubscribe with
|
2623 |
-
|
2624 |
if ( $hash = cerber_get_get( 'unsubscribeme', '[a-z\d]+' ) ) {
|
2625 |
crb_admin_alerts_do( 'off', $hash );
|
2626 |
wp_safe_redirect( remove_query_arg( 'unsubscribeme' ) );
|
2627 |
exit;
|
2628 |
}
|
2629 |
-
}
|
2630 |
|
2631 |
/*
|
2632 |
Pagination
|
@@ -2636,15 +2631,15 @@ function cerber_page_navi( $total, $per_page ) {
|
|
2636 |
if ( ! $per_page ) {
|
2637 |
$per_page = 25;
|
2638 |
}
|
2639 |
-
$page
|
2640 |
|
2641 |
$base_url = esc_url( remove_query_arg( 'pagen', add_query_arg( crb_get_query_params(), cerber_admin_link() ) ) );
|
2642 |
|
2643 |
$last_page = ceil( $total / $per_page );
|
2644 |
-
$ret
|
2645 |
if ( $last_page > 1 ) {
|
2646 |
$start = 1 + $max_links * intval( ( $page - 1 ) / $max_links );
|
2647 |
-
$end
|
2648 |
if ( $end > $last_page ) {
|
2649 |
$end = $last_page;
|
2650 |
}
|
@@ -2674,6 +2669,10 @@ function cerber_get_pn() {
|
|
2674 |
return ( ! $q->pagen ) ? 1 : absint( $q->pagen );
|
2675 |
}
|
2676 |
|
|
|
|
|
|
|
|
|
2677 |
/*
|
2678 |
Plugins screen links
|
2679 |
*/
|
@@ -2746,11 +2745,16 @@ function cerber_admin_assets() {
|
|
2746 |
wp_register_style( 'nexus_css', $crb_assets_url . 'nexus.css', null, CERBER_VER );
|
2747 |
wp_enqueue_style( 'nexus_css' );
|
2748 |
|
|
|
|
|
|
|
2749 |
add_thickbox();
|
2750 |
}
|
2751 |
|
2752 |
if ( ! defined( 'CERBER_BETA' ) ) {
|
2753 |
wp_enqueue_script( 'cerber_js', $crb_assets_url . 'admin.js', array( 'jquery' ), CERBER_VER, true );
|
|
|
|
|
2754 |
if ( cerber_is_admin_page( false, array( 'page' => 'cerber-integrity' ) ) ) {
|
2755 |
wp_enqueue_script( 'cerber_scan', $crb_assets_url . 'scanner.js', array( 'jquery' ), CERBER_VER, true );
|
2756 |
}
|
@@ -2952,6 +2956,7 @@ function cerber_admin_footer() {
|
|
2952 |
?>
|
2953 |
<script type="text/javascript">
|
2954 |
<?php readfile( dirname( __FILE__ ) . '/assets/admin.js' ); ?>
|
|
|
2955 |
<?php readfile( dirname( __FILE__ ) . '/assets/scanner.js' ); ?>
|
2956 |
</script>
|
2957 |
<?php
|
@@ -3298,22 +3303,22 @@ function crb_admin_geo_selector( $rule_id, $rule, $class = '' ) {
|
|
3298 |
switch ( $rule_id ) {
|
3299 |
case 'geo_register':
|
3300 |
if ( ! get_option( 'users_can_register' ) ) {
|
3301 |
-
$note = 'Registration is disabled in the General Settings';
|
3302 |
}
|
3303 |
break;
|
3304 |
case 'geo_restapi':
|
3305 |
if ( $opt['norest'] ) {
|
3306 |
-
$note = 'REST API is disabled in the Hardening settings of the plugin';
|
3307 |
}
|
3308 |
break;
|
3309 |
case 'geo_xmlrpc':
|
3310 |
if ( $opt['xmlrpc'] ) {
|
3311 |
-
$note = 'XML-RPC is disabled in the Hardening settings of the plugin';
|
3312 |
}
|
3313 |
break;
|
3314 |
}
|
3315 |
if ( $note ) {
|
3316 |
-
$note = '<p><span class="dashicons-before dashicons-warning"></span>
|
3317 |
}
|
3318 |
|
3319 |
return array(
|
@@ -3450,7 +3455,7 @@ function crb_admin_save_geo_rules( $post_fields = array() ) {
|
|
3450 |
}
|
3451 |
}
|
3452 |
|
3453 |
-
if ( update_site_option(
|
3454 |
cerber_admin_message( __( 'Security rules have been updated', 'wp-cerber' ) );
|
3455 |
}
|
3456 |
}
|
@@ -3569,6 +3574,23 @@ function cerber_export_traffic( $params = array() ) {
|
|
3569 |
//$labels = cerber_get_labels( 'activity' );
|
3570 |
//$status = cerber_get_labels( 'status' );
|
3571 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3572 |
$i = 0;
|
3573 |
|
3574 |
do {
|
@@ -3591,7 +3613,7 @@ function cerber_export_traffic( $params = array() ) {
|
|
3591 |
$values[] = $row->stamp;*/
|
3592 |
|
3593 |
$values[] = $row['ip'];
|
3594 |
-
$values[] =
|
3595 |
$values[] = $row['request_method'];
|
3596 |
$values[] = $row['uri'];
|
3597 |
$values[] = $row['http_code'];
|
@@ -3790,7 +3812,7 @@ function cerber_show_traffic( $args = array(), $echo = true ) {
|
|
3790 |
|
3791 |
$ad = explode( '|', $a->details );
|
3792 |
if ( ! empty( $ad[0] ) ) {
|
3793 |
-
$activity .= ' <span class = "
|
3794 |
}
|
3795 |
|
3796 |
}
|
@@ -3805,7 +3827,10 @@ function cerber_show_traffic( $args = array(), $echo = true ) {
|
|
3805 |
$processing = '';
|
3806 |
}
|
3807 |
|
3808 |
-
$wp_type = '
|
|
|
|
|
|
|
3809 |
|
3810 |
$wp_obj = '';
|
3811 |
if ( isset( $wp_objects[ $row->wp_id ] ) ) {
|
@@ -3817,7 +3842,7 @@ function cerber_show_traffic( $args = array(), $echo = true ) {
|
|
3817 |
if ( $truncated ) {
|
3818 |
$more_details[] = array(
|
3819 |
'Full URL',
|
3820 |
-
'<span class="
|
3821 |
);
|
3822 |
}
|
3823 |
|
@@ -3834,14 +3859,14 @@ function cerber_show_traffic( $args = array(), $echo = true ) {
|
|
3834 |
if ( ! empty( $details[2] ) ) {
|
3835 |
$more_details[] = array(
|
3836 |
'Referrer',
|
3837 |
-
'<span class="
|
3838 |
);
|
3839 |
}
|
3840 |
|
3841 |
if ( ! empty( $details[1] ) ) {
|
3842 |
$more_details[] = array(
|
3843 |
'User Agent',
|
3844 |
-
'<span class="
|
3845 |
);
|
3846 |
}
|
3847 |
|
@@ -3935,6 +3960,11 @@ function cerber_show_traffic( $args = array(), $echo = true ) {
|
|
3935 |
}
|
3936 |
}
|
3937 |
|
|
|
|
|
|
|
|
|
|
|
3938 |
$request_details = '';
|
3939 |
$more_link = '';
|
3940 |
$toggle_class = '';
|
@@ -3952,7 +3982,7 @@ function cerber_show_traffic( $args = array(), $echo = true ) {
|
|
3952 |
$toggle_class = 'crb-toggle';
|
3953 |
}
|
3954 |
|
3955 |
-
$request = '<b>' . $row_uri . '</b>' . '<p style="margin-top:1em;"><span class="crb-' . $row->request_method . '">' . $row->request_method . '</span>
|
3956 |
|
3957 |
// Decorating this table can't be done via simple CSS
|
3958 |
if ( ! empty( $even ) ) {
|
@@ -4019,6 +4049,9 @@ function cerber_show_traffic( $args = array(), $echo = true ) {
|
|
4019 |
$filters[] = array( '&filter_wp_type=520', 'REST API' );
|
4020 |
$filters[] = array( '&filter_wp_type=515', 'XML-RPC' );
|
4021 |
|
|
|
|
|
|
|
4022 |
//$filters .= ' | <a href="'.$base_url.'&filter_wp_type >= 600&filter_method=POST">Form submissions</a>';
|
4023 |
|
4024 |
if ( $threshold = crb_get_settings( 'tithreshold' ) ) {
|
@@ -4047,10 +4080,10 @@ function cerber_show_traffic( $args = array(), $echo = true ) {
|
|
4047 |
|
4048 |
$refresh = '';
|
4049 |
if ( crb_get_settings( 'timode' ) ) {
|
4050 |
-
$refresh = '
|
4051 |
}
|
4052 |
|
4053 |
-
$top_bar = '<div id = "activity-filter"><div>' . $filter_links . $refresh . '</div><div>' . $right_links . '</div></div><br style="clear: both;">';
|
4054 |
|
4055 |
$ret = '<div class="cerber-margin">' . $top_bar . crb_admin_traffic_search_form() . $info . '</div>' . $ret;
|
4056 |
}
|
@@ -4089,7 +4122,7 @@ function cerber_table_view( $title, $fields, $sub_key = null ) {
|
|
4089 |
$view = '<table class="' . $class . '">';
|
4090 |
|
4091 |
if ( $title ) {
|
4092 |
-
$view .= '<tr><td colspan="2" style="font-weight:
|
4093 |
}
|
4094 |
|
4095 |
$i = 1;
|
@@ -4312,13 +4345,13 @@ function cerber_traffic_query( $args = array() ) {
|
|
4312 |
}
|
4313 |
|
4314 |
if ( $per_page ) {
|
4315 |
-
$limit =
|
4316 |
//$ret[0] = 'SELECT SQL_CALC_FOUND_ROWS log.session_id,log.* FROM ' . CERBER_TRAF_TABLE . " log USE INDEX FOR ORDER BY (stamp) {$where} ORDER BY stamp DESC {$limit}";
|
4317 |
-
$ret[0] = 'SELECT log.session_id,'
|
4318 |
//$ret[0] = 'SELECT SQL_CALC_FOUND_ROWS log.*,act.activity FROM ' . CERBER_TRAF_TABLE . ' log USE INDEX FOR ORDER BY (stamp) LEFT JOIN '.CERBER_LOG_TABLE." act ON (log.session_id = act.session_id) {$where} ORDER BY log.stamp DESC {$limit}";
|
4319 |
}
|
4320 |
else {
|
4321 |
-
$ret[0] = 'SELECT log.session_id,'
|
4322 |
}
|
4323 |
|
4324 |
$ret[1] = 'SELECT COUNT(log.stamp) FROM ' . CERBER_TRAF_TABLE . " log {$join} {$where}";
|
@@ -4394,7 +4427,7 @@ function crb_admin_traffic_search_form() {
|
|
4394 |
<option value="1">Exclude</option>
|
4395 |
</select></p>
|
4396 |
<p><label for="filter-sid">RID</label>
|
4397 |
-
<br/><input id="filter-sid" type="text" name="filter_sid"></p>
|
4398 |
<p><label for="search-err">Software errors contain</label>
|
4399 |
<br/><input id="search-err" type="text" name="search_traffic[errors]"></p>
|
4400 |
<p class="crb-has-checkbox">
|
@@ -4572,9 +4605,9 @@ function cerber_get_admin_page_config( $page = '' ) {
|
|
4572 |
$blocked = cerber_blocked_num();
|
4573 |
$acl = cerber_db_get_var( 'SELECT count(ip) FROM ' . CERBER_ACL_TABLE . ' WHERE acl_slice = 0' );
|
4574 |
$uss = cerber_db_get_var( 'SELECT count(user_id) FROM ' . cerber_get_db_prefix() . CERBER_USS_TABLE );
|
4575 |
-
$tabs['sessions'][1] .= ' <sup
|
4576 |
-
$tabs['lockouts'][1] .= ' <sup
|
4577 |
-
$tabs['acl'][1] .= ' <sup
|
4578 |
|
4579 |
return $tabs;
|
4580 |
},
|
@@ -4693,7 +4726,23 @@ function cerber_get_admin_page_config( $page = '' ) {
|
|
4693 |
'scan_policy' => array( 'bx-bolt', __( 'Cleaning up', 'wp-cerber' ) ),
|
4694 |
'scan_ignore' => array( 'bx-hide', __( 'Ignore List', 'wp-cerber' ) ),
|
4695 |
'scan_quarantine' => array( 'bx-trash', __( 'Quarantine', 'wp-cerber' ) ),
|
|
|
4696 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4697 |
'callback' => function ( $tab ) {
|
4698 |
switch ( $tab ) {
|
4699 |
case 'scan_settings':
|
@@ -4711,6 +4760,9 @@ function cerber_get_admin_page_config( $page = '' ) {
|
|
4711 |
case 'scan_ignore':
|
4712 |
cerber_show_ignore();
|
4713 |
break;
|
|
|
|
|
|
|
4714 |
case 'help':
|
4715 |
cerber_show_help();
|
4716 |
break;
|
@@ -4722,9 +4774,10 @@ function cerber_get_admin_page_config( $page = '' ) {
|
|
4722 |
'cerber-tools' => array(
|
4723 |
'title' => __( 'Tools', 'wp-cerber' ),
|
4724 |
'tabs' => array(
|
4725 |
-
'imex' => array( 'bx-layer', __( 'Export & Import', 'wp-cerber' ) ),
|
|
|
4726 |
'diagnostic' => array( 'bx-wrench', __( 'Diagnostic', 'wp-cerber' ) ),
|
4727 |
-
'diag-log' => array( 'bx-bug', __( 'Log', 'wp-cerber' ) ),
|
4728 |
'change-log' => array( 'bx-collection', __( 'Changelog', 'wp-cerber' ) ),
|
4729 |
'license' => array( 'bx-key', __( 'License', 'wp-cerber' ) ),
|
4730 |
),
|
157 |
//$wp_cerber->deleteGarbage();
|
158 |
|
159 |
$per_page = ( ! empty( $args['per_page'] ) ) ? $args['per_page'] : crb_admin_get_per_page();
|
160 |
+
$limit = cerber_get_sql_limit( $per_page );
|
161 |
|
162 |
+
if ( $rows = cerber_db_get_results( 'SELECT * FROM ' . CERBER_BLOCKS_TABLE . ' ORDER BY block_until DESC ' . $limit, MYSQL_FETCH_OBJECT ) ) {
|
163 |
|
164 |
$total = cerber_blocked_num();
|
165 |
$list = array();
|
192 |
}
|
193 |
|
194 |
$heading = array(
|
195 |
+
__( 'IP Address', 'wp-cerber' ),
|
196 |
__( 'Hostname', 'wp-cerber' ),
|
197 |
__( 'Country', 'wp-cerber' ),
|
198 |
__( 'Expires', 'wp-cerber' ),
|
317 |
. $ret . '</div>
|
318 |
<form action="" method="post">
|
319 |
<table>
|
320 |
+
<tr><td><input class="crb-monospace" type="text" name="add_acl" required maxlength="100" placeholder="' . __( 'IP address, range, wildcard, or CIDR', 'wp-cerber' ) . '">
|
321 |
</td><td><input type="submit" class="button button-primary" value="' . __( 'Add Entry', 'wp-cerber' ) . '" ></td></tr>
|
322 |
+
<tr><td><input class="crb-monospace" type="text" name="add_acl_comment" maxlength="250" placeholder="' . __( 'Optional comment for this entry', 'wp-cerber' ) . '">
|
323 |
</td><td></td></tr>
|
324 |
</table>
|
325 |
<input type="hidden" name="cerber_admin_do" value="add2acl">
|
446 |
delete_site_option( 'cerber_admin_info' );
|
447 |
}
|
448 |
}
|
449 |
+
elseif ( $admin && ( $ajax_route = crb_array_get( $request, 'ajax_route' ) ) ) {
|
450 |
+
switch ( $ajax_route ) {
|
451 |
+
case 'scanner_analytics':
|
452 |
+
$response = cerber_generate_insights( $request['itype'] );
|
453 |
+
break;
|
454 |
+
}
|
455 |
+
}
|
456 |
elseif ( $admin && ( $usearch = crb_array_get( $request, 'user_search' ) ) ) {
|
457 |
$users = get_users( array( 'search' => '*' . esc_attr( $usearch ) . '*', ) );
|
458 |
$response = array();
|
527 |
/*
|
528 |
Admin dashboard actions
|
529 |
*/
|
|
|
530 |
add_action( 'wp_loaded', function () { // 'wp_loaded' @since 5.6
|
531 |
if ( ! is_admin() ) {
|
532 |
return;
|
534 |
|
535 |
cerber_admin_request();
|
536 |
|
537 |
+
}, 0 );
|
538 |
/**
|
539 |
* @param bool $is_post
|
540 |
*
|
679 |
}
|
680 |
elseif ( isset( $_GET['force_check_nodes'] ) ) {
|
681 |
$best = lab_check_nodes( true );
|
682 |
+
cerber_admin_message( 'Connectivity to all Cerber Lab\'s nodes has been checked. The closest node: ' . $best );
|
683 |
cerber_safe_redirect( 'force_check_nodes' );
|
684 |
}
|
685 |
+
elseif ( isset( $_GET['clear_up_the_cache'] ) ) {
|
686 |
lab_cleanup_cache();
|
687 |
+
cerber_admin_message( 'The plugin cache has been cleared' );
|
688 |
+
cerber_safe_redirect( 'clear_up_the_cache' );
|
689 |
}
|
690 |
}
|
691 |
|
862 |
|
863 |
$placeholder = array( 0, '', '', '', '' );
|
864 |
|
865 |
+
if ( crb_get_settings( 'plain_date' ) ) {
|
866 |
+
function _crb_csv_date( $timestamp ) {
|
867 |
+
static $gmt_offset;
|
868 |
+
if ( $gmt_offset === null ) {
|
869 |
+
$gmt_offset = get_option( 'gmt_offset' ) * 3600;
|
870 |
+
}
|
871 |
+
return date( 'Y-m-d H:i:s', $timestamp + $gmt_offset );
|
872 |
+
}
|
873 |
+
}
|
874 |
+
else {
|
875 |
+
function _crb_csv_date( $timestamp ) {
|
876 |
+
return cerber_date( $timestamp, false );
|
877 |
+
}
|
878 |
+
}
|
879 |
+
|
880 |
+
// The loop
|
881 |
+
|
882 |
$i = 0;
|
883 |
|
884 |
do {
|
895 |
}
|
896 |
|
897 |
$values[] = $row->ip;
|
898 |
+
$values[] = _crb_csv_date( $row->stamp );
|
899 |
$values[] = $labels[ $row->activity ];
|
900 |
$s = $details[0];
|
901 |
$values[] = ( isset( $status[ $s ] ) ) ? $status[ $s ] : '';
|
926 |
|
927 |
$fname = $f_name . '.csv';
|
928 |
|
|
|
|
|
|
|
|
|
929 |
crb_file_headers( $fname );
|
930 |
|
931 |
$info[] = '"Generated by:","WP Cerber Security ' . CERBER_VER . '"';
|
932 |
$info[] = '"Website:","' . get_option( 'blogname' ) . '"';
|
933 |
+
$info[] = '"Date:","' . cerber_date( time(), false ) . '"';
|
934 |
$info[] = '"Rows in this file:","' . $total . '"';
|
935 |
|
936 |
echo implode( "\r\n", $info ) . "\r\n\r\n";
|
980 |
$links[] = array( $ac . '&filter_user=0', __( 'Not logged in visitors', 'wp-cerber' ) );
|
981 |
if ( ! $context ) {
|
982 |
$links[] = array( $ac . '&filter_user=' . get_current_user_id(), __( 'My activity', 'wp-cerber' ) );
|
983 |
+
$links[] = array( $ac . '&search_activity=' . cerber_get_remote_ip(), __( 'My IP', 'wp-cerber' ) );
|
984 |
}
|
985 |
|
986 |
$ret = '';
|
1043 |
if ( empty( $args['no_details'] ) && $row->details ) {
|
1044 |
$details = explode( '|', $row->details );
|
1045 |
if ( ! empty( $details[0] ) && isset( $status_labels[ $details[0] ] ) ) {
|
1046 |
+
$activity .= ' <span class = "crb-log-status crb-status-' . $details[0] . '">' . $status_labels[ $details[0] ] . '</span>';
|
1047 |
}
|
1048 |
//elseif ($row->activity == 50 && $details[4]) $activity .= ' '.$details[4];
|
1049 |
|
1144 |
|
1145 |
$display = ( $sid || $in_url ) ? '' : 'display: none;';
|
1146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1147 |
$filters = '<form action=""><div id="crb-activity-fields"><div>'
|
1148 |
|
1149 |
. crb_get_activity_dd()
|
1164 |
</div>
|
1165 |
|
1166 |
<div class="crb-act-controls">
|
1167 |
+
[ <a href="#" class="crb-opener" data-target="crb-more-activity-fields">More</a> ]
|
1168 |
</div>
|
1169 |
|
1170 |
</div>
|
1320 |
$ret[1] = $per_page;
|
1321 |
|
1322 |
if ( $per_page ) {
|
1323 |
+
$limit = cerber_get_sql_limit( $per_page );
|
1324 |
$ret[0] = 'SELECT SQL_CALC_FOUND_ROWS * FROM ' . CERBER_LOG_TABLE . " log {$where} ORDER BY stamp DESC {$limit}";
|
1325 |
}
|
1326 |
else {
|
2388 |
|
2389 |
$aside = array();
|
2390 |
|
2391 |
+
/*if ( in_array( $page, array( 'main' ) ) ) {
|
2392 |
$aside[] = '<div class="crb-box">
|
2393 |
<h3>' . __( 'Confused about some settings?', 'wp-cerber' ) . '</h3>'
|
2394 |
. __( 'You can easily load default recommended settings using button below', 'wp-cerber' ) . '
|
2404 |
<p><i>* ' . __( "doesn't affect Custom login URL and Access Lists", 'wp-cerber' ) . '</i></p>
|
2405 |
<p style="text-align: center; font-size: 110%;"><a href="https://wpcerber.com/getting-started/" target="_blank">' . __( 'Getting Started Guide', 'wp-cerber' ) . '</a></p>
|
2406 |
</div>';
|
2407 |
+
}*/
|
2408 |
/*
|
2409 |
$aside[] = '<div class="crb-box" id = "crb-subscribe">
|
2410 |
<div class="crb-box-inner">
|
2614 |
}
|
2615 |
}
|
2616 |
|
2617 |
+
// Unsubscribe with a secret hash
|
2618 |
+
function cerber_unsubscribeme() {
|
2619 |
if ( $hash = cerber_get_get( 'unsubscribeme', '[a-z\d]+' ) ) {
|
2620 |
crb_admin_alerts_do( 'off', $hash );
|
2621 |
wp_safe_redirect( remove_query_arg( 'unsubscribeme' ) );
|
2622 |
exit;
|
2623 |
}
|
2624 |
+
}
|
2625 |
|
2626 |
/*
|
2627 |
Pagination
|
2631 |
if ( ! $per_page ) {
|
2632 |
$per_page = 25;
|
2633 |
}
|
2634 |
+
$page = cerber_get_pn();
|
2635 |
|
2636 |
$base_url = esc_url( remove_query_arg( 'pagen', add_query_arg( crb_get_query_params(), cerber_admin_link() ) ) );
|
2637 |
|
2638 |
$last_page = ceil( $total / $per_page );
|
2639 |
+
$ret = '';
|
2640 |
if ( $last_page > 1 ) {
|
2641 |
$start = 1 + $max_links * intval( ( $page - 1 ) / $max_links );
|
2642 |
+
$end = $start + $max_links - 1;
|
2643 |
if ( $end > $last_page ) {
|
2644 |
$end = $last_page;
|
2645 |
}
|
2669 |
return ( ! $q->pagen ) ? 1 : absint( $q->pagen );
|
2670 |
}
|
2671 |
|
2672 |
+
function cerber_get_sql_limit( $per_page = 25 ) {
|
2673 |
+
return ' LIMIT ' . ( cerber_get_pn() - 1 ) * $per_page . ',' . $per_page;
|
2674 |
+
}
|
2675 |
+
|
2676 |
/*
|
2677 |
Plugins screen links
|
2678 |
*/
|
2745 |
wp_register_style( 'nexus_css', $crb_assets_url . 'nexus.css', null, CERBER_VER );
|
2746 |
wp_enqueue_style( 'nexus_css' );
|
2747 |
|
2748 |
+
wp_register_style( 'ui_stack_css', $crb_assets_url . 'ui-stack.css', null, CERBER_VER );
|
2749 |
+
wp_enqueue_style( 'ui_stack_css' );
|
2750 |
+
|
2751 |
add_thickbox();
|
2752 |
}
|
2753 |
|
2754 |
if ( ! defined( 'CERBER_BETA' ) ) {
|
2755 |
wp_enqueue_script( 'cerber_js', $crb_assets_url . 'admin.js', array( 'jquery' ), CERBER_VER, true );
|
2756 |
+
wp_enqueue_script( 'the-ui-stack', $crb_assets_url . 'ui-stack.js', array( 'jquery' ), CERBER_VER, true );
|
2757 |
+
|
2758 |
if ( cerber_is_admin_page( false, array( 'page' => 'cerber-integrity' ) ) ) {
|
2759 |
wp_enqueue_script( 'cerber_scan', $crb_assets_url . 'scanner.js', array( 'jquery' ), CERBER_VER, true );
|
2760 |
}
|
2956 |
?>
|
2957 |
<script type="text/javascript">
|
2958 |
<?php readfile( dirname( __FILE__ ) . '/assets/admin.js' ); ?>
|
2959 |
+
<?php readfile( dirname( __FILE__ ) . '/assets/ui-stack.js' ); ?>
|
2960 |
<?php readfile( dirname( __FILE__ ) . '/assets/scanner.js' ); ?>
|
2961 |
</script>
|
2962 |
<?php
|
3303 |
switch ( $rule_id ) {
|
3304 |
case 'geo_register':
|
3305 |
if ( ! get_option( 'users_can_register' ) ) {
|
3306 |
+
$note = 'Registration is disabled in the General WordPress Settings.';
|
3307 |
}
|
3308 |
break;
|
3309 |
case 'geo_restapi':
|
3310 |
if ( $opt['norest'] ) {
|
3311 |
+
$note = 'REST API is disabled in the Hardening settings of the plugin.';
|
3312 |
}
|
3313 |
break;
|
3314 |
case 'geo_xmlrpc':
|
3315 |
if ( $opt['xmlrpc'] ) {
|
3316 |
+
$note = 'XML-RPC is disabled in the Hardening settings of the plugin.';
|
3317 |
}
|
3318 |
break;
|
3319 |
}
|
3320 |
if ( $note ) {
|
3321 |
+
$note = '<p><span class="dashicons-before dashicons-warning"></span> Heads up! ' . $note . '</p>';
|
3322 |
}
|
3323 |
|
3324 |
return array(
|
3455 |
}
|
3456 |
}
|
3457 |
|
3458 |
+
if ( update_site_option( CERBER_GEO_RULES, $geo ) ) {
|
3459 |
cerber_admin_message( __( 'Security rules have been updated', 'wp-cerber' ) );
|
3460 |
}
|
3461 |
}
|
3574 |
//$labels = cerber_get_labels( 'activity' );
|
3575 |
//$status = cerber_get_labels( 'status' );
|
3576 |
|
3577 |
+
if ( crb_get_settings( 'plain_date' ) ) {
|
3578 |
+
function _crb_csv_date( $timestamp ) {
|
3579 |
+
static $gmt_offset;
|
3580 |
+
if ( $gmt_offset === null ) {
|
3581 |
+
$gmt_offset = get_option( 'gmt_offset' ) * 3600;
|
3582 |
+
}
|
3583 |
+
return date( 'Y-m-d H:i:s', $timestamp + $gmt_offset );
|
3584 |
+
}
|
3585 |
+
}
|
3586 |
+
else {
|
3587 |
+
function _crb_csv_date( $timestamp ) {
|
3588 |
+
return cerber_date( $timestamp, false );
|
3589 |
+
}
|
3590 |
+
}
|
3591 |
+
|
3592 |
+
// The loop
|
3593 |
+
|
3594 |
$i = 0;
|
3595 |
|
3596 |
do {
|
3613 |
$values[] = $row->stamp;*/
|
3614 |
|
3615 |
$values[] = $row['ip'];
|
3616 |
+
$values[] = _crb_csv_date( $row['stamp'] );
|
3617 |
$values[] = $row['request_method'];
|
3618 |
$values[] = $row['uri'];
|
3619 |
$values[] = $row['http_code'];
|
3812 |
|
3813 |
$ad = explode( '|', $a->details );
|
3814 |
if ( ! empty( $ad[0] ) ) {
|
3815 |
+
$activity .= ' <span class = "crb-log-status crb-status-' . $ad[0] . '">' . $status_labels[ $ad[0] ] . '</span>';
|
3816 |
}
|
3817 |
|
3818 |
}
|
3827 |
$processing = '';
|
3828 |
}
|
3829 |
|
3830 |
+
$wp_type = '';
|
3831 |
+
if ( $t = cerber_get_wp_type( $row->wp_type ) ) {
|
3832 |
+
$wp_type = '<span class="crb-wp-type-' . $row->wp_type . '">' . $t . '</span>';
|
3833 |
+
}
|
3834 |
|
3835 |
$wp_obj = '';
|
3836 |
if ( isset( $wp_objects[ $row->wp_id ] ) ) {
|
3842 |
if ( $truncated ) {
|
3843 |
$more_details[] = array(
|
3844 |
'Full URL',
|
3845 |
+
'<span class="crb-monospace">' . $full_uri . '</span>'
|
3846 |
);
|
3847 |
}
|
3848 |
|
3859 |
if ( ! empty( $details[2] ) ) {
|
3860 |
$more_details[] = array(
|
3861 |
'Referrer',
|
3862 |
+
'<span class="crb-monospace">' . htmlentities( urldecode( $details[2] ) ) . '</span>'
|
3863 |
);
|
3864 |
}
|
3865 |
|
3866 |
if ( ! empty( $details[1] ) ) {
|
3867 |
$more_details[] = array(
|
3868 |
'User Agent',
|
3869 |
+
'<span class="crb-monospace">' . htmlentities( $details[1] ) . '</span>'
|
3870 |
);
|
3871 |
}
|
3872 |
|
3960 |
}
|
3961 |
}
|
3962 |
|
3963 |
+
$req_status = '';
|
3964 |
+
if ( ! empty( $row->req_status ) ) {
|
3965 |
+
$req_status = '<span class="crb-req-status-' . $row->req_status . '">' . $status_labels[ $row->req_status ] . '</span>';
|
3966 |
+
}
|
3967 |
+
|
3968 |
$request_details = '';
|
3969 |
$more_link = '';
|
3970 |
$toggle_class = '';
|
3982 |
$toggle_class = 'crb-toggle';
|
3983 |
}
|
3984 |
|
3985 |
+
$request = '<b>' . $row_uri . '</b>' . '<p style="margin-top:1em;"><span class="crb-' . $row->request_method . '">' . $row->request_method . '</span>' . $f . $wp_type . '<span class="crb-' . $row->http_code . '"> HTTP ' . $row->http_code . ' ' . get_status_header_desc( $row->http_code ) . '</span>' . $req_status . $php_err . '<span>' . $processing . '</span> ' . $more_link . ' ' . $activity . ' </p>' . $wp_obj;
|
3986 |
|
3987 |
// Decorating this table can't be done via simple CSS
|
3988 |
if ( ! empty( $even ) ) {
|
4049 |
$filters[] = array( '&filter_wp_type=520', 'REST API' );
|
4050 |
$filters[] = array( '&filter_wp_type=515', 'XML-RPC' );
|
4051 |
|
4052 |
+
$filters[] = array( '&filter_user=' . get_current_user_id(), __( 'My requests', 'wp-cerber' ) );
|
4053 |
+
$filters[] = array( '&filter_ip=' . cerber_get_remote_ip(), __( 'My IP', 'wp-cerber' ) );
|
4054 |
+
|
4055 |
//$filters .= ' | <a href="'.$base_url.'&filter_wp_type >= 600&filter_method=POST">Form submissions</a>';
|
4056 |
|
4057 |
if ( $threshold = crb_get_settings( 'tithreshold' ) ) {
|
4080 |
|
4081 |
$refresh = '';
|
4082 |
if ( crb_get_settings( 'timode' ) ) {
|
4083 |
+
$refresh = '<a href="" style="white-space: pre;"><i class="dashicons dashicons-update" style=""></i> <span>' . __( 'Refresh', 'wp-cerber' ) . '</span></a>';
|
4084 |
}
|
4085 |
|
4086 |
+
$top_bar = '<div id = "activity-filter"><div><div style="display: table-cell; width: 90%;">' . $filter_links .'</div><div style="display: table-cell;">'. $refresh . '</div></div><div>' . $right_links . '</div></div><br style="clear: both;">';
|
4087 |
|
4088 |
$ret = '<div class="cerber-margin">' . $top_bar . crb_admin_traffic_search_form() . $info . '</div>' . $ret;
|
4089 |
}
|
4122 |
$view = '<table class="' . $class . '">';
|
4123 |
|
4124 |
if ( $title ) {
|
4125 |
+
$view .= '<tr><td colspan="2" style="font-weight: 500">' . $title . '</td></tr>';
|
4126 |
}
|
4127 |
|
4128 |
$i = 1;
|
4345 |
}
|
4346 |
|
4347 |
if ( $per_page ) {
|
4348 |
+
$limit = cerber_get_sql_limit( $per_page );
|
4349 |
//$ret[0] = 'SELECT SQL_CALC_FOUND_ROWS log.session_id,log.* FROM ' . CERBER_TRAF_TABLE . " log USE INDEX FOR ORDER BY (stamp) {$where} ORDER BY stamp DESC {$limit}";
|
4350 |
+
$ret[0] = 'SELECT log.session_id,' . $cols . ' FROM ' . CERBER_TRAF_TABLE . " log {$join} {$where} ORDER BY log.stamp DESC {$limit}";
|
4351 |
//$ret[0] = 'SELECT SQL_CALC_FOUND_ROWS log.*,act.activity FROM ' . CERBER_TRAF_TABLE . ' log USE INDEX FOR ORDER BY (stamp) LEFT JOIN '.CERBER_LOG_TABLE." act ON (log.session_id = act.session_id) {$where} ORDER BY log.stamp DESC {$limit}";
|
4352 |
}
|
4353 |
else {
|
4354 |
+
$ret[0] = 'SELECT log.session_id,' . $cols . ' FROM ' . CERBER_TRAF_TABLE . " log {$join} {$where} ORDER BY stamp DESC"; // "ORDER BY" is mandatory!
|
4355 |
}
|
4356 |
|
4357 |
$ret[1] = 'SELECT COUNT(log.stamp) FROM ' . CERBER_TRAF_TABLE . " log {$join} {$where}";
|
4427 |
<option value="1">Exclude</option>
|
4428 |
</select></p>
|
4429 |
<p><label for="filter-sid">RID</label>
|
4430 |
+
<br/><input id="filter-sid" type="text" name="filter_sid" placeholder="Request ID"></p>
|
4431 |
<p><label for="search-err">Software errors contain</label>
|
4432 |
<br/><input id="search-err" type="text" name="search_traffic[errors]"></p>
|
4433 |
<p class="crb-has-checkbox">
|
4605 |
$blocked = cerber_blocked_num();
|
4606 |
$acl = cerber_db_get_var( 'SELECT count(ip) FROM ' . CERBER_ACL_TABLE . ' WHERE acl_slice = 0' );
|
4607 |
$uss = cerber_db_get_var( 'SELECT count(user_id) FROM ' . cerber_get_db_prefix() . CERBER_USS_TABLE );
|
4608 |
+
$tabs['sessions'][1] .= ' <sup>' . $uss . '</sup>';
|
4609 |
+
$tabs['lockouts'][1] .= ' <sup>' . $blocked . '</sup>';
|
4610 |
+
$tabs['acl'][1] .= ' <sup>' . $acl . '</sup>';
|
4611 |
|
4612 |
return $tabs;
|
4613 |
},
|
4726 |
'scan_policy' => array( 'bx-bolt', __( 'Cleaning up', 'wp-cerber' ) ),
|
4727 |
'scan_ignore' => array( 'bx-hide', __( 'Ignore List', 'wp-cerber' ) ),
|
4728 |
'scan_quarantine' => array( 'bx-trash', __( 'Quarantine', 'wp-cerber' ) ),
|
4729 |
+
'scan_insights' => array( 'bx-flask', __( 'Analytics', 'wp-cerber' ) ),
|
4730 |
),
|
4731 |
+
'tab_filter' => function ( $tabs ) {
|
4732 |
+
$numi = 0;
|
4733 |
+
if ( $list = cerber_get_set( 'ignore-list' ) ) {
|
4734 |
+
$numi = count( $list );
|
4735 |
+
}
|
4736 |
+
$numq = cerber_get_set( 'quarantined_total', null, false );
|
4737 |
+
if ( ! is_numeric( $numq ) ) {
|
4738 |
+
cerber_bg_task_add( '_crb_qr_total_sync' );
|
4739 |
+
$numq = '';
|
4740 |
+
}
|
4741 |
+
$tabs['scan_quarantine'][1] .= ' <sup>' . $numq . '</sup>';
|
4742 |
+
$tabs['scan_ignore'][1] .= ' <sup>' . $numi . '</sup>';
|
4743 |
+
|
4744 |
+
return $tabs;
|
4745 |
+
},
|
4746 |
'callback' => function ( $tab ) {
|
4747 |
switch ( $tab ) {
|
4748 |
case 'scan_settings':
|
4760 |
case 'scan_ignore':
|
4761 |
cerber_show_ignore();
|
4762 |
break;
|
4763 |
+
case 'scan_insights':
|
4764 |
+
cerber_scan_insights();
|
4765 |
+
break;
|
4766 |
case 'help':
|
4767 |
cerber_show_help();
|
4768 |
break;
|
4774 |
'cerber-tools' => array(
|
4775 |
'title' => __( 'Tools', 'wp-cerber' ),
|
4776 |
'tabs' => array(
|
4777 |
+
//'imex' => array( 'bx-layer', __( 'Export & Import', 'wp-cerber' ) ),
|
4778 |
+
'imex' => array( 'bx-layer', __( 'Manage Settings', 'wp-cerber' ) ),
|
4779 |
'diagnostic' => array( 'bx-wrench', __( 'Diagnostic', 'wp-cerber' ) ),
|
4780 |
+
'diag-log' => array( 'bx-bug', __( 'Diagnostic Log', 'wp-cerber' ) ),
|
4781 |
'change-log' => array( 'bx-collection', __( 'Changelog', 'wp-cerber' ) ),
|
4782 |
'license' => array( 'bx-key', __( 'License', 'wp-cerber' ) ),
|
4783 |
),
|
jetflow.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
|
4 |
-
Integration with the jetFlow.io automation and customization plugin,
|
5 |
Actions and triggers definitions.
|
6 |
|
7 |
-
|
8 |
-
|
9 |
|
10 |
Licenced under the GNU GPL.
|
11 |
|
@@ -23,105 +23,134 @@
|
|
23 |
|
24 |
|
25 |
// If this file is called directly, abort executing.
|
26 |
-
if ( ! defined( 'WPINC' ) ) {
|
|
|
|
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
-
add_action('jetflow_register','cerber_jetflow');
|
30 |
function cerber_jetflow() {
|
31 |
-
|
32 |
class TR_IP_Locked extends WF_Action {
|
33 |
static $trigger = true;
|
34 |
static $wp_hook = 'cerber_ip_locked';
|
35 |
-
static $name = 'IP locked out';
|
36 |
-
static $description = 'Start after IP
|
37 |
static $form_help = '
|
38 |
Start the workflow after an IP address has been locked out by the WP Cerber plugin and conditions match the specified criteria.
|
39 |
-
<p>
|
40 |
';
|
41 |
-
public static $fields
|
42 |
'filter' => array(
|
43 |
-
'type'
|
44 |
-
'fields'
|
45 |
-
'locks'
|
46 |
-
'type'
|
47 |
-
'label'
|
48 |
-
'default'
|
49 |
'autocomplete' => 0
|
50 |
),
|
51 |
-
'period'
|
52 |
-
'type'
|
53 |
-
'label'
|
54 |
-
'default'
|
55 |
'autocomplete' => 0
|
56 |
),
|
57 |
-
)
|
58 |
-
|
59 |
-
|
60 |
-
'
|
61 |
-
'
|
62 |
-
'
|
|
|
63 |
'autocomplete' => 0
|
64 |
),
|
65 |
);
|
66 |
-
|
|
|
67 |
global $wpdb;
|
68 |
-
list ($fields, $previous, $env, $wp_arguments) = func_get_args();
|
69 |
-
if ( cerber_blocked_num() <= absint($fields['limit']))
|
70 |
-
|
71 |
-
|
72 |
-
if ($locks
|
73 |
-
$
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
$lockouts = $wpdb->get_var( $wpdb->prepare( 'SELECT count(ip) FROM ' . CERBER_LOG_TABLE . ' WHERE ip = %s AND activity IN (10,11) AND stamp > %d', $ip, $stamp ) );
|
76 |
-
$lockouts = absint($lockouts);
|
77 |
-
if (
|
78 |
return new WF_Stop( __CLASS__ );
|
79 |
}
|
80 |
}
|
|
|
81 |
return $wp_arguments[0];
|
82 |
}
|
83 |
-
|
|
|
84 |
return 'After IP address has been locked out by Cerber';
|
85 |
}
|
86 |
}
|
|
|
87 |
class WF_WHOIS extends WF_Action {
|
88 |
public static $section = 'network';
|
89 |
public static $name = 'Get WHOIS info';
|
90 |
public static $description = 'Get extended information about IP address';
|
91 |
public static $form_help = '
|
92 |
-
Sends request to a WHOIS server and
|
93 |
There are no reasons for security concerns, because a list of WHOIS servers are maintained by <a target="_blank" href="https://en.wikipedia.org/wiki/ICANN">ICANN</a>.
|
94 |
-
<p>Bear in mind that each WHOIS request takes some time to retrieve data from remote WHOIS server.
|
95 |
-
<p>
|
96 |
-
The full list of available fields depends on network owner.
|
97 |
-
You can request WHOIS data manually to find out what kind of
|
98 |
';
|
99 |
-
public static $fields
|
100 |
-
'ip'
|
101 |
-
'type'
|
102 |
-
'label'
|
103 |
-
'default'
|
104 |
'required' => 1,
|
105 |
),
|
106 |
);
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
|
|
|
|
113 |
$ret = $whois['data'];
|
114 |
|
115 |
-
if (empty($ret['abuse-mailbox']) && !empty($ret['OrgAbuseEmail'])){
|
116 |
$ret['abuse-mailbox'] = $ret['OrgAbuseEmail'];
|
117 |
}
|
118 |
|
119 |
-
if (!is_email($ret['abuse-mailbox']))
|
|
|
|
|
|
|
|
|
120 |
|
121 |
-
$ret['country-name'] = cerber_country_name($ret['country']);
|
122 |
return $ret;
|
123 |
}
|
124 |
}
|
125 |
-
|
|
|
126 |
}
|
127 |
|
1 |
<?php
|
2 |
/*
|
3 |
|
4 |
+
Integration with the jetFlow.io automation and customization plugin, https://jetflow.io
|
5 |
Actions and triggers definitions.
|
6 |
|
7 |
+
Copyright (C) 2015-20 CERBER TECH INC., https://cerber.tech
|
8 |
+
Copyright (C) 2015-20 CERBER TECH INC., https://wpcerber.com
|
9 |
|
10 |
Licenced under the GNU GPL.
|
11 |
|
23 |
|
24 |
|
25 |
// If this file is called directly, abort executing.
|
26 |
+
if ( ! defined( 'WPINC' ) ) {
|
27 |
+
exit;
|
28 |
+
}
|
29 |
|
30 |
+
if ( function_exists( 'wof_register' ) ) {
|
31 |
+
cerber_jetflow();
|
32 |
+
}
|
33 |
+
else {
|
34 |
+
add_action( 'jetflow_register', function () {
|
35 |
+
cerber_jetflow();
|
36 |
+
} );
|
37 |
+
}
|
38 |
|
|
|
39 |
function cerber_jetflow() {
|
40 |
+
|
41 |
class TR_IP_Locked extends WF_Action {
|
42 |
static $trigger = true;
|
43 |
static $wp_hook = 'cerber_ip_locked';
|
44 |
+
static $name = 'IP address locked out';
|
45 |
+
static $description = 'Start after IP has been blocked by WP Cerber';
|
46 |
static $form_help = '
|
47 |
Start the workflow after an IP address has been locked out by the WP Cerber plugin and conditions match the specified criteria.
|
48 |
+
<p>The variable <code>{TRIGGER.IP}</code> contains the blocked IP address, the variable <code>{TRIGGER.reason}</code> contains the reason why.
|
49 |
';
|
50 |
+
public static $fields = array(
|
51 |
'filter' => array(
|
52 |
+
'type' => 'group',
|
53 |
+
'fields' => array(
|
54 |
+
'locks' => array(
|
55 |
+
'type' => 'text',
|
56 |
+
'label' => 'Start if an IP address has been locked out more than times',
|
57 |
+
'default' => '0',
|
58 |
'autocomplete' => 0
|
59 |
),
|
60 |
+
'period' => array(
|
61 |
+
'type' => 'text',
|
62 |
+
'label' => 'in the last minutes',
|
63 |
+
'default' => '60',
|
64 |
'autocomplete' => 0
|
65 |
),
|
66 |
+
)
|
67 |
+
),
|
68 |
+
'limit' => array(
|
69 |
+
'type' => 'text',
|
70 |
+
'label' => 'Start if the number of currently locked out IP addresses is greater than',
|
71 |
+
'default' => '0',
|
72 |
+
'required' => 1,
|
73 |
'autocomplete' => 0
|
74 |
),
|
75 |
);
|
76 |
+
|
77 |
+
function execute( $fields ) {
|
78 |
global $wpdb;
|
79 |
+
list ( $fields, $previous, $env, $wp_arguments ) = func_get_args();
|
80 |
+
if ( cerber_blocked_num() <= absint( $fields['limit'] ) ) {
|
81 |
+
return new WF_Stop( __CLASS__ );
|
82 |
+
}
|
83 |
+
if ( ! empty( $fields['filter']['locks'] ) ) {
|
84 |
+
$locks = absint( $fields['filter']['locks'] );
|
85 |
+
}
|
86 |
+
else {
|
87 |
+
$locks = 0;
|
88 |
+
}
|
89 |
+
if ( $locks > 0 ) {
|
90 |
+
$ip = $wp_arguments[0]['IP'];
|
91 |
+
$stamp = time() - absint( $fields['filter']['period'] ) * 60;
|
92 |
$lockouts = $wpdb->get_var( $wpdb->prepare( 'SELECT count(ip) FROM ' . CERBER_LOG_TABLE . ' WHERE ip = %s AND activity IN (10,11) AND stamp > %d', $ip, $stamp ) );
|
93 |
+
$lockouts = absint( $lockouts );
|
94 |
+
if ( ! $lockouts || $lockouts <= $locks ) {
|
95 |
return new WF_Stop( __CLASS__ );
|
96 |
}
|
97 |
}
|
98 |
+
|
99 |
return $wp_arguments[0];
|
100 |
}
|
101 |
+
|
102 |
+
static function getStarterInfo( $config, $context ) {
|
103 |
return 'After IP address has been locked out by Cerber';
|
104 |
}
|
105 |
}
|
106 |
+
|
107 |
class WF_WHOIS extends WF_Action {
|
108 |
public static $section = 'network';
|
109 |
public static $name = 'Get WHOIS info';
|
110 |
public static $description = 'Get extended information about IP address';
|
111 |
public static $form_help = '
|
112 |
+
Sends request to a WHOIS server and retrieves details about a given IP address. The WHOIS information is publicly available and provided for free.
|
113 |
There are no reasons for security concerns, because a list of WHOIS servers are maintained by <a target="_blank" href="https://en.wikipedia.org/wiki/ICANN">ICANN</a>.
|
114 |
+
<p>Bear in mind that each WHOIS request takes some time to retrieve data from the remote WHOIS server. A request can take up to 500 ms approximately, so the workflow will be waiting all this time for a response.
|
115 |
+
<p>The result is a list. To get a country name in the next action, use variable <code>{PREVIOUS.country-name}</code>, for the two-letter country code: <code>{PREVIOUS.country}</code>, for the abuse email address: <code>{PREVIOUS.abuse-mailbox}</code>, for the network as IP range: <code>{PREVIOUS.inetnum}</code>.
|
116 |
+
The full list of available fields depends on a network owner.
|
117 |
+
You can request WHOIS data manually to find out what kind of fields are available on this page: <a target="_blank" href="http://wq.apnic.net/apnic-bin/whois.pl">http://wq.apnic.net/apnic-bin/whois.pl</a>.
|
118 |
';
|
119 |
+
public static $fields = array(
|
120 |
+
'ip' => array(
|
121 |
+
'type' => 'text',
|
122 |
+
'label' => 'IP address',
|
123 |
+
'default' => '{TRIGGER.IP}',
|
124 |
'required' => 1,
|
125 |
),
|
126 |
);
|
127 |
+
|
128 |
+
function execute( $fields ) {
|
129 |
+
list ( $fields, $previous, $env, $wp_arguments ) = func_get_args();
|
130 |
+
$ip = filter_var( $fields['ip'], FILTER_VALIDATE_IP );
|
131 |
+
if ( ! $ip ) {
|
132 |
+
return false;
|
133 |
+
}
|
134 |
+
$whois = cerber_ip_whois_info( $ip );
|
135 |
+
if ( ! empty( $whois['error'] ) ) {
|
136 |
+
return new WF_Error ( __CLASS__, 'Unable to obtain IP info' );
|
137 |
+
}
|
138 |
$ret = $whois['data'];
|
139 |
|
140 |
+
if ( empty( $ret['abuse-mailbox'] ) && ! empty( $ret['OrgAbuseEmail'] ) ) {
|
141 |
$ret['abuse-mailbox'] = $ret['OrgAbuseEmail'];
|
142 |
}
|
143 |
|
144 |
+
if ( ! is_email( $ret['abuse-mailbox'] ) ) {
|
145 |
+
$ret['abuse-mailbox'] = '';
|
146 |
+
}
|
147 |
+
|
148 |
+
$ret['country-name'] = cerber_country_name( $ret['country'] );
|
149 |
|
|
|
150 |
return $ret;
|
151 |
}
|
152 |
}
|
153 |
+
|
154 |
+
wof_register( array( 'TR_IP_Locked', 'WF_WHOIS' ) );
|
155 |
}
|
156 |
|
languages/wp-cerber-ru_RU.mo
CHANGED
Binary file
|
languages/wp-cerber-ru_RU.po
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
# This file is distributed under the same license as the Plugins - Cerber Security, Antispam & Malware Scan - Stable (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"PO-Revision-Date: 2020-01
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -11,6 +11,118 @@ msgstr ""
|
|
11 |
"Language: ru\n"
|
12 |
"Project-Id-Version: Plugins - Cerber Security, Antispam & Malware Scan - Stable (latest release)\n"
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
#: cerber-users.php:942
|
15 |
msgid "WP Cerber Personal Data Eraser"
|
16 |
msgstr "WP Cerber удаление персональных данных"
|
@@ -19,71 +131,71 @@ msgstr "WP Cerber удаление персональных данных"
|
|
19 |
msgid "Admin Note"
|
20 |
msgstr "Заметка администратора"
|
21 |
|
22 |
-
#: settings.php:
|
23 |
msgid "Cookies"
|
24 |
msgstr "Куки"
|
25 |
|
26 |
-
#: settings.php:
|
27 |
msgid "Form fields data"
|
28 |
msgstr "Данные полей формы"
|
29 |
|
30 |
-
#: settings.php:
|
31 |
msgid "Request URL"
|
32 |
msgstr "URL запроса"
|
33 |
|
34 |
-
#: settings.php:
|
35 |
msgid "Include traffic log entries"
|
36 |
msgstr "Включить записи журнала трафика"
|
37 |
|
38 |
-
#: settings.php:
|
39 |
msgid "Include activity log events"
|
40 |
msgstr "Включить события журнала активности"
|
41 |
|
42 |
-
#: settings.php:
|
43 |
msgid "Enable data export"
|
44 |
msgstr "Включить экспорт данных"
|
45 |
|
46 |
-
#: settings.php:
|
47 |
msgid "Delete user sessions data when user data is erased"
|
48 |
msgstr "Удалить пользовательские сессии при уничтожении данных пользователя"
|
49 |
|
50 |
-
#: settings.php:
|
51 |
msgid "Terminate user sessions"
|
52 |
msgstr "Завершение пользовательских сессий"
|
53 |
|
54 |
-
#: settings.php:
|
55 |
msgid "Enable data erase"
|
56 |
msgstr "Включить уничтожение данных"
|
57 |
|
58 |
-
#: settings.php:
|
59 |
msgid "Personal Data"
|
60 |
msgstr "Персональные данные"
|
61 |
|
62 |
-
#: settings.php:
|
63 |
msgid "Keep log records of logged in users for"
|
64 |
msgstr "Сохранять записи журнала для авторизованных пользователей"
|
65 |
|
66 |
-
#: settings.php:
|
67 |
msgid "Keep log records of not logged in visitors for"
|
68 |
msgstr "Сохранять записи журнала для неавторизованных пользователей"
|
69 |
|
70 |
-
#: settings.php:
|
71 |
msgid "Enable authentication log monitoring"
|
72 |
msgstr "Включить наблюдение над журналом авторизации"
|
73 |
|
74 |
-
#: settings.php:
|
75 |
msgid "Any activity"
|
76 |
msgstr "Любая активность"
|
77 |
|
78 |
-
#: common.php:
|
79 |
msgid "User metadata update denied"
|
80 |
msgstr "Изменение метаданных пользователя запрещено"
|
81 |
|
82 |
-
#: common.php:
|
83 |
msgid "User row update denied"
|
84 |
msgstr "Изменение пользователя запрещено"
|
85 |
|
86 |
-
#: common.php:
|
87 |
msgid "IP subnet blocked"
|
88 |
msgstr "Подсеть IP заблокирована"
|
89 |
|
@@ -91,15 +203,15 @@ msgstr "Подсеть IP заблокирована"
|
|
91 |
msgid "A database error occurred while importing access list entries"
|
92 |
msgstr "Возникла ошибка базы данных при импорте списка адресов"
|
93 |
|
94 |
-
#: dashboard.php:
|
95 |
msgid "The IP address you are trying to add is already in the list"
|
96 |
msgstr "Этот IP адрес уже присутствует в списке"
|
97 |
|
98 |
-
#: dashboard.php:
|
99 |
msgid "Add Entry"
|
100 |
msgstr "Добавить запись"
|
101 |
|
102 |
-
#: dashboard.php:
|
103 |
msgid "IP address, range, wildcard, or CIDR"
|
104 |
msgstr "IP адрес, диапазон, маска или CIDR"
|
105 |
|
@@ -115,15 +227,15 @@ msgstr "Все сервера"
|
|
115 |
msgid "All countries"
|
116 |
msgstr "Все страны"
|
117 |
|
118 |
-
#: nexus/cerber-nexus-master.php:
|
119 |
msgid "Show homepage in the Website column"
|
120 |
msgstr "Показывать домашнюю страницу в столбце вебсайта"
|
121 |
|
122 |
-
#: nexus/cerber-nexus-master.php:
|
123 |
msgid "Hide server IP address"
|
124 |
msgstr "Спрятать IP адрес сервера"
|
125 |
|
126 |
-
#: settings.php:
|
127 |
msgid "Do not apply these policies to the IP addresses in the White IP Access List"
|
128 |
msgstr "Не применять эти политики к IP адресам из белого списка"
|
129 |
|
@@ -131,15 +243,15 @@ msgstr "Не применять эти политики к IP адресам и
|
|
131 |
msgid "Server"
|
132 |
msgstr "Сервер"
|
133 |
|
134 |
-
#: dashboard.php:
|
135 |
msgid "Site Settings"
|
136 |
msgstr "Настройки сайта"
|
137 |
|
138 |
-
#: dashboard.php:
|
139 |
msgid "Accounts & Roles"
|
140 |
msgstr "Учетные записи и роли"
|
141 |
|
142 |
-
#: dashboard.php:
|
143 |
msgid "Data Shield Policies"
|
144 |
msgstr "Политики защиты данных"
|
145 |
|
@@ -147,35 +259,35 @@ msgstr "Политики защиты данных"
|
|
147 |
msgid "Data Shield"
|
148 |
msgstr "Защита данных"
|
149 |
|
150 |
-
#: settings.php:
|
151 |
msgid "Protected settings"
|
152 |
msgstr "Защищенные настройки"
|
153 |
|
154 |
-
#: settings.php:
|
155 |
msgid "Users with these roles are permitted to change protected settings"
|
156 |
msgstr "Пользователи с этими ролями могут изменять защищенные настройки"
|
157 |
|
158 |
-
#: settings.php:
|
159 |
msgid "Restrict updating site settings with the following policies"
|
160 |
msgstr "Ограничить изменение настроек сайта следующими правилами"
|
161 |
|
162 |
-
#: settings.php:
|
163 |
msgid "Protect site settings"
|
164 |
msgstr "Защита настроек сайта"
|
165 |
|
166 |
-
#: settings.php:
|
167 |
msgid "Users with these roles are permitted to change role capabilities"
|
168 |
msgstr "Пользователи с этими ролями могут изменять возможности ролей"
|
169 |
|
170 |
-
#: settings.php:
|
171 |
msgid "Users with these roles are permitted to add new roles"
|
172 |
msgstr "Пользователи с этими ролями могут добавлять новые роли"
|
173 |
|
174 |
-
#: settings.php:
|
175 |
msgid "Restrict roles and capabilities management with the following policies"
|
176 |
msgstr "Ограничить управление ролями и возможностями следующими правилами"
|
177 |
|
178 |
-
#: settings.php:
|
179 |
msgid "Protect user roles"
|
180 |
msgstr "Защита ролей пользователей"
|
181 |
|
@@ -183,47 +295,47 @@ msgstr "Защита ролей пользователей"
|
|
183 |
msgid "Cerber Data Shield Policies"
|
184 |
msgstr "Cerber политики защиты данных"
|
185 |
|
186 |
-
#: settings.php:
|
187 |
msgid "Users with these roles are permitted to change sensitive user data"
|
188 |
msgstr "Пользователи с этими ролями могут изменять важные пользовательские данные"
|
189 |
|
190 |
-
#: settings.php:
|
191 |
msgid "Users with these roles are permitted to create new accounts"
|
192 |
msgstr "Пользователи с этими ролями могут создавать новые учетные записи"
|
193 |
|
194 |
-
#: settings.php:
|
195 |
msgid "User registrations are limited to these roles"
|
196 |
msgstr "Регистрация ограничена следующими ролями"
|
197 |
|
198 |
-
#: settings.php:
|
199 |
msgid "Restrict user account creation and user management with the following policies"
|
200 |
msgstr "Ограничить создание учетных записей и управление пользователями следующими правилами"
|
201 |
|
202 |
-
#: settings.php:
|
203 |
msgid "Protect user accounts"
|
204 |
msgstr "Защита учетных записей пользователей"
|
205 |
|
206 |
-
#: common.php:
|
207 |
msgid "Incorrect password"
|
208 |
msgstr "Неверный пароль"
|
209 |
|
210 |
-
#: common.php:
|
211 |
msgid "Invalid user"
|
212 |
msgstr "Неверный пользователь"
|
213 |
|
214 |
-
#: common.php:
|
215 |
msgid "Permission denied"
|
216 |
msgstr "Доступ запрещен"
|
217 |
|
218 |
-
#: common.php:
|
219 |
msgid "Setting update denied"
|
220 |
msgstr "Изменение настройки запрещено"
|
221 |
|
222 |
-
#: common.php:
|
223 |
msgid "Role update denied"
|
224 |
msgstr "Изменение роли запрещено"
|
225 |
|
226 |
-
#: common.php:
|
227 |
msgid "User creation denied"
|
228 |
msgstr "Создание пользователя запрещено"
|
229 |
|
@@ -298,46 +410,46 @@ msgstr[2] "%s сессий завершено"
|
|
298 |
msgid "The code is valid for %s minutes."
|
299 |
msgstr "Этот код действителен в течении %s минут."
|
300 |
|
301 |
-
#: dashboard.php:
|
302 |
msgid "Sessions"
|
303 |
msgstr "Сессии"
|
304 |
|
305 |
-
#: dashboard.php:
|
306 |
msgid "All Users"
|
307 |
msgstr "Все пользователи"
|
308 |
|
309 |
-
#: dashboard.php:
|
310 |
msgid "Any country is permitted"
|
311 |
msgstr "Разрешены все страны"
|
312 |
|
313 |
-
#: dashboard.php:
|
314 |
msgid "Role-based rules are configured"
|
315 |
msgstr "Правила на основе ролей настроены"
|
316 |
|
317 |
-
#: dashboard.php:
|
318 |
msgid "user"
|
319 |
msgid_plural "users"
|
320 |
msgstr[0] "пользователь"
|
321 |
msgstr[1] "пользователя"
|
322 |
msgstr[2] "пользователей"
|
323 |
|
324 |
-
#: dashboard.php:
|
325 |
msgid "Username"
|
326 |
msgstr "Имя пользователя"
|
327 |
|
328 |
-
#: dashboard.php:
|
329 |
msgid "IP Address"
|
330 |
msgstr "IP-адрес"
|
331 |
|
332 |
-
#: dashboard.php:
|
333 |
msgid "IP address %s has been added to Black IP Access List"
|
334 |
msgstr "IP адрес %s был добавлен в черный список доступа по IP"
|
335 |
|
336 |
-
#: dashboard.php:
|
337 |
msgid "IP address %s has been added to White IP Access List"
|
338 |
msgstr "IP адрес %s был добавлен в белый список доступа по IP"
|
339 |
|
340 |
-
#: dashboard.php:
|
341 |
msgid "The alert has been deleted"
|
342 |
msgstr "Тревожное предупреждение удалено"
|
343 |
|
@@ -345,23 +457,23 @@ msgstr "Тревожное предупреждение удалено"
|
|
345 |
msgid "Cerber Tech Inc."
|
346 |
msgstr "Cerber Tech Inc."
|
347 |
|
348 |
-
#: common.php:
|
349 |
msgid "Site policy enforcement"
|
350 |
msgstr "Форсирование политики сайта"
|
351 |
|
352 |
-
#: common.php:
|
353 |
msgid "2FA code verified"
|
354 |
msgstr "2ФА код проверен"
|
355 |
|
356 |
-
#: common.php:
|
357 |
msgid "Initiated by the user"
|
358 |
msgstr "Начато пользователем"
|
359 |
|
360 |
-
#: common.php:
|
361 |
msgid "Email address is not permitted"
|
362 |
msgstr "Email адрес недопустим"
|
363 |
|
364 |
-
#: common.php:
|
365 |
msgid "A new version of %s is available. Please install it."
|
366 |
msgstr "Доступна новая версия %s, пожалуйста, установите её."
|
367 |
|
@@ -405,7 +517,7 @@ msgstr "Правила перенаправления"
|
|
405 |
msgid "Redirect user after login"
|
406 |
msgstr "Перенаправить пользователя после входа"
|
407 |
|
408 |
-
#: settings.php:
|
409 |
msgid "User session expiration time"
|
410 |
msgstr "Время до истечения сессии пользователя"
|
411 |
|
@@ -429,15 +541,15 @@ msgstr "Вход из другой страны"
|
|
429 |
msgid "days interval"
|
430 |
msgstr "интервал в днях"
|
431 |
|
432 |
-
#: cerber-scanner.php:
|
433 |
msgid "Automatically deleted"
|
434 |
msgstr "Автоматически удалено"
|
435 |
|
436 |
-
#: cerber-scanner.php:
|
437 |
msgid "Recovered"
|
438 |
msgstr "Восстановлено"
|
439 |
|
440 |
-
#: cerber-scanner.php:
|
441 |
msgid "Automatically recovered"
|
442 |
msgstr "Автоматически восстановлено"
|
443 |
|
@@ -445,103 +557,103 @@ msgstr "Автоматически восстановлено"
|
|
445 |
msgid "Cerber User Security"
|
446 |
msgstr "Безопасность пользователей"
|
447 |
|
448 |
-
#: dashboard.php:64 dashboard.php:
|
449 |
msgid "User Policies"
|
450 |
msgstr "Политики пользователей"
|
451 |
|
452 |
-
#: dashboard.php:
|
453 |
msgid "New users"
|
454 |
msgstr "Новые пользователи"
|
455 |
|
456 |
-
#: dashboard.php:
|
457 |
msgid "My activity"
|
458 |
msgstr "Моя активность"
|
459 |
|
460 |
-
#: dashboard.php:
|
461 |
msgid "A new version is available"
|
462 |
msgstr "Доступна новая версия"
|
463 |
|
464 |
-
#: dashboard.php:
|
465 |
msgid "Create Alert"
|
466 |
msgstr "Создать тревожное предупреждение"
|
467 |
|
468 |
-
#: dashboard.php:
|
469 |
msgid "Delete Alert"
|
470 |
msgstr "Удалить тревожное предупреждение"
|
471 |
|
472 |
-
#: dashboard.php:
|
473 |
msgid "The alert has been created"
|
474 |
msgstr "Тревожное предупреждение создано"
|
475 |
|
476 |
-
#: dashboard.php:
|
477 |
msgid "Global"
|
478 |
msgstr "Глобальная"
|
479 |
|
480 |
-
#: settings.php:
|
481 |
msgid "Custom login URL may contain Latin alphanumeric characters, dashes and underscores only"
|
482 |
msgstr "Пользовательский URL входа может содержать только латинские буквы, цифры, тире и знак подчеркивания."
|
483 |
|
484 |
-
#: settings.php:
|
485 |
msgid "Site-specific settings"
|
486 |
msgstr "Специфические настройки сайта"
|
487 |
|
488 |
-
#: settings.php:
|
489 |
msgid "Prefix for plugin cookies"
|
490 |
msgstr "Префикс для куки плагинов"
|
491 |
|
492 |
-
#: settings.php:
|
493 |
msgid "Prefix may contain only Latin alphanumeric characters and underscores"
|
494 |
msgstr "Префикс может содержать только латинские буквы, цифры и знак подчеркивания"
|
495 |
|
496 |
-
#: settings.php:
|
497 |
msgid "Restrict email addresses"
|
498 |
msgstr "Ограничение адресов email"
|
499 |
|
500 |
-
#: settings.php:
|
501 |
msgid "No restrictions"
|
502 |
msgstr "Без ограничений"
|
503 |
|
504 |
-
#: settings.php:
|
505 |
msgid "Deny all email addresses that match the following"
|
506 |
msgstr "Запретить все адреса email совпадающие со следующим"
|
507 |
|
508 |
-
#: settings.php:
|
509 |
msgid "Permit only email addresses that match the following"
|
510 |
msgstr "Разрешить только адреса совпадающие со следующим"
|
511 |
|
512 |
-
#: settings.php:
|
513 |
msgid "Specify email addresses, wildcards or REGEX patterns. Use comma to separate items."
|
514 |
msgstr "Укажите адреса email, маску или регулярные выражения. Элементы разделяются запятой."
|
515 |
|
516 |
-
#: settings.php:
|
517 |
msgid "Lockout notifications"
|
518 |
msgstr "Уведомления о блокировках"
|
519 |
|
520 |
-
#: settings.php:
|
521 |
msgid "Pushbullet device"
|
522 |
msgstr "Устройство Pushbullet"
|
523 |
|
524 |
-
#: settings.php:
|
525 |
msgid "Delete unattended files"
|
526 |
msgstr "Удалить несопровождаемые файлы"
|
527 |
|
528 |
-
#: settings.php:
|
529 |
msgid "Recover plugins files"
|
530 |
msgstr "Восстановление файлов плагинов"
|
531 |
|
532 |
-
#: settings.php:
|
533 |
msgid "These files will never be deleted during automatic cleanup."
|
534 |
msgstr "Эти файлы никогда не будут удалены при автоматической очистке."
|
535 |
|
536 |
-
#: cerber-load.php:
|
537 |
msgid "Email address is not permitted."
|
538 |
msgstr "Email адрес недопустим."
|
539 |
|
540 |
-
#: cerber-load.php:
|
541 |
msgid "Please choose another one."
|
542 |
msgstr "Выберите другой."
|
543 |
|
544 |
-
#: cerber-load.php:
|
545 |
msgid "To delete the alert, click here"
|
546 |
msgstr "Для удаления этого тревожного предупреждения нажмите тут"
|
547 |
|
@@ -621,19 +733,19 @@ msgstr "Файл удален"
|
|
621 |
msgid "File recovered"
|
622 |
msgstr "Файл восстановлен"
|
623 |
|
624 |
-
#: cerber-scanner.php:
|
625 |
msgid "Recovering WordPress files"
|
626 |
msgstr "Восстановление файлов WordPress"
|
627 |
|
628 |
-
#: cerber-scanner.php:
|
629 |
msgid "Recovering plugins files"
|
630 |
msgstr "Восстановление файлов плагинов"
|
631 |
|
632 |
-
#: settings.php:
|
633 |
msgid "Automatic recovery of modified and infected files"
|
634 |
msgstr "Автоматическое восстановление измененных и зараженных файлов"
|
635 |
|
636 |
-
#: settings.php:
|
637 |
msgid "Recover WordPress files"
|
638 |
msgstr "Восстановление файлов WordPress"
|
639 |
|
@@ -661,7 +773,7 @@ msgstr "Докажите, что это вы"
|
|
661 |
msgid "Verify"
|
662 |
msgstr "Проверить"
|
663 |
|
664 |
-
#: dashboard.php:
|
665 |
msgid "Role-based"
|
666 |
msgstr "Основана на ролях"
|
667 |
|
@@ -669,243 +781,243 @@ msgstr "Основана на ролях"
|
|
669 |
msgid "Redirect user after logout"
|
670 |
msgstr "Перенаправить пользователя после выхода"
|
671 |
|
672 |
-
#: settings.php:
|
673 |
msgid "Pushbullet access token"
|
674 |
msgstr "Токен доступа Pushbullet"
|
675 |
|
676 |
-
#: cerber-load.php:
|
677 |
msgid "You are not allowed to log in"
|
678 |
msgstr "Вам не разрешено войти"
|
679 |
|
680 |
-
#: admin/cerber-settings.php:
|
681 |
msgid "Select one or more roles"
|
682 |
msgstr "Выберите одну или несколько ролей"
|
683 |
|
684 |
-
#: settings.php:
|
685 |
msgid "These restrictions do not apply to IP addresses in the White IP Access List"
|
686 |
msgstr "Эти ограничения не применяются к IP адресам из белого списка"
|
687 |
|
688 |
-
#: settings.php:
|
689 |
msgid "Send reports on"
|
690 |
msgstr "Отправлять отчеты в"
|
691 |
|
692 |
-
#: settings.php:
|
693 |
msgid "Allow these namespaces"
|
694 |
msgstr "Разрешить эти пространства имен"
|
695 |
|
696 |
-
#: settings.php:
|
697 |
msgid "Allow REST API for these roles"
|
698 |
msgstr "Разрешить REST API для следующих ролей"
|
699 |
|
700 |
-
#: settings.php:
|
701 |
msgid "Block access to users' data via REST API"
|
702 |
msgstr "Блокировать доступ к данным пользователей через REST API"
|
703 |
|
704 |
-
#: settings.php:
|
705 |
msgid "Access to WordPress REST API"
|
706 |
msgstr "Доступ к WordPress REST API"
|
707 |
|
708 |
-
#: settings.php:
|
709 |
msgid "The full access mode requires the PRO version of WP Cerber"
|
710 |
msgstr "Полный доступ требует PRO версии WP Cerber"
|
711 |
|
712 |
-
#: settings.php:
|
713 |
msgid "Read-only mode"
|
714 |
msgstr "Доступ только для чтения"
|
715 |
|
716 |
-
#: settings.php:
|
717 |
msgid "Full access mode"
|
718 |
msgstr "Полный доступ"
|
719 |
|
720 |
-
#: settings.php:
|
721 |
msgid "Access to this website"
|
722 |
msgstr "Доступ к этому сайту"
|
723 |
|
724 |
-
#: settings.php:
|
725 |
msgid "Limit access by IP address"
|
726 |
msgstr "Ограничить доступ IP адресом"
|
727 |
|
728 |
-
#: settings.php:
|
729 |
msgid "Use master language"
|
730 |
msgstr "Использовать основной язык"
|
731 |
|
732 |
-
#: settings.php:
|
733 |
msgid "Add @ site to the page title"
|
734 |
msgstr "Добавить @ сайт к заголовку страницы"
|
735 |
|
736 |
-
#: settings.php:
|
737 |
msgid "Show \"Switched to\" notification"
|
738 |
msgstr "Показывать уведомление о переходах"
|
739 |
|
740 |
-
#: settings.php:
|
741 |
msgid "Return to the website list"
|
742 |
msgstr "Вернуться к списку сайтов"
|
743 |
|
744 |
-
#: settings.php:
|
745 |
msgid "Master settings"
|
746 |
msgstr "Настройки режима основного сайта"
|
747 |
|
748 |
-
#: settings.php:
|
749 |
msgid "Redirect to URL"
|
750 |
msgstr "Перенаправление на URL"
|
751 |
|
752 |
-
#: settings.php:
|
753 |
msgid "Only registered and logged in users are allowed to view this website"
|
754 |
msgstr "Только зарегистрированные и авторизованные пользователи могут просматривать этот сайт"
|
755 |
|
756 |
-
#: settings.php:
|
757 |
msgid "Do not apply these policy to the IP addresses in the White IP Access List"
|
758 |
msgstr "Не применять эти политики к IP адресам из белого списка"
|
759 |
|
760 |
-
#: settings.php:
|
761 |
msgid "Only registered and logged in website users have access to the website"
|
762 |
msgstr "Только зарегистрированные и авторизованные пользователи могут получить доступ к этому сайту"
|
763 |
|
764 |
-
#: settings.php:
|
765 |
msgid "Authorized users only"
|
766 |
msgstr "Только для авторизованных пользователей"
|
767 |
|
768 |
-
#: dashboard.php:
|
769 |
msgid "Changelog"
|
770 |
msgstr "Журнал изменений"
|
771 |
|
772 |
-
#: dashboard.php:
|
773 |
msgid "Save all rules"
|
774 |
msgstr "Сохранить все правила"
|
775 |
|
776 |
-
#: dashboard.php:
|
777 |
msgid "Filter by registered user"
|
778 |
msgstr "Фильтровать по зарегистрированным пользователям"
|
779 |
|
780 |
-
#: dashboard.php:
|
781 |
msgid "Default settings have been loaded"
|
782 |
msgstr "Загружены настройки по умолчанию"
|
783 |
|
784 |
-
#: nexus/cerber-nexus.php:
|
785 |
msgid "Install the access token on the master website."
|
786 |
msgstr "Установите токен доступа на основном сайте."
|
787 |
|
788 |
-
#: nexus/cerber-nexus.php:
|
789 |
msgid "This website is set as slave."
|
790 |
msgstr "Этот сайт установлен как зависимый."
|
791 |
|
792 |
-
#: nexus/cerber-nexus.php:
|
793 |
msgid "Add slave websites by using access tokens."
|
794 |
msgstr "Добавьте зависимые сайты используя токены доступа."
|
795 |
|
796 |
-
#: nexus/cerber-nexus.php:
|
797 |
msgid "This website is set as master."
|
798 |
msgstr "Этот сайт установлен основным."
|
799 |
|
800 |
-
#: nexus/cerber-nexus.php:
|
801 |
msgid "Disable slave mode"
|
802 |
msgstr "Отключить зависимый режим"
|
803 |
|
804 |
-
#: nexus/cerber-nexus.php:
|
805 |
msgid "To revoke the token and disable remote management, click here:"
|
806 |
msgstr "Для отзыва токена и отключения удаленного управления нажмите здесь:"
|
807 |
|
808 |
-
#: nexus/cerber-nexus.php:
|
809 |
msgid "Are you sure? This permanently invalidates the token."
|
810 |
msgstr "Вы уверены? Это сделает токен недействительным."
|
811 |
|
812 |
-
#: nexus/cerber-nexus.php:
|
813 |
msgid "The token is unique to this website. Keep it secret. Install the token on a master website to grant access to this website."
|
814 |
msgstr "Этот токен уникален для этого сайта. Сохраните его в тайне. Установите токен на основном сайте, чтобы предоставить доступ к этому сайту."
|
815 |
|
816 |
-
#: nexus/cerber-nexus.php:
|
817 |
msgid "Secret Access Token"
|
818 |
msgstr "Секретный токен доступа"
|
819 |
|
820 |
-
#: nexus/cerber-nexus.php:
|
821 |
msgid "Slave Settings"
|
822 |
msgstr "Настройки зависимого режима"
|
823 |
|
824 |
-
#: nexus/cerber-nexus.php:
|
825 |
msgid "To proceed, please select the mode for this website"
|
826 |
msgstr "Для продолжения выберите режим для сайта"
|
827 |
|
828 |
-
#: nexus/cerber-nexus.php:
|
829 |
msgid "Configure this website as a master to manage other website"
|
830 |
msgstr "Настроить этот сайт как основной для управления другими сайтами"
|
831 |
|
832 |
-
#: nexus/cerber-nexus.php:
|
833 |
msgid "Enable master mode"
|
834 |
msgstr "Включить режим основного сайта"
|
835 |
|
836 |
-
#: nexus/cerber-nexus.php:
|
837 |
msgid "This website can be managed from a master website"
|
838 |
msgstr "Этот сайт может управляться с основного сайта"
|
839 |
|
840 |
-
#: cerber-load.php:
|
841 |
msgid "Enable slave mode"
|
842 |
msgstr "Включить зависимый режим"
|
843 |
|
844 |
-
#: nexus/cerber-nexus-master.php:
|
845 |
msgid "Active plugins and updates on"
|
846 |
msgstr "Активные плагины и обновления на"
|
847 |
|
848 |
-
#: nexus/cerber-nexus-master.php:
|
849 |
msgid "A newer version is available"
|
850 |
msgstr "Доступна новая версия"
|
851 |
|
852 |
-
#: nexus/cerber-nexus-master.php:
|
853 |
msgid "Are you sure you want to delete selected websites?"
|
854 |
msgstr "Вы точно хотите удалить выделенные сайты?"
|
855 |
|
856 |
-
#: nexus/cerber-nexus-master.php:
|
857 |
msgid "Visit Site"
|
858 |
msgstr "Посетить сайт"
|
859 |
|
860 |
-
#: nexus/cerber-nexus-master.php:
|
861 |
-
#: nexus/cerber-nexus.php:
|
862 |
msgid "My Websites"
|
863 |
msgstr "Мои сайты"
|
864 |
|
865 |
-
#: nexus/cerber-nexus-master.php:
|
866 |
msgid "You are here:"
|
867 |
msgstr "Вы здесь:"
|
868 |
|
869 |
-
#: nexus/cerber-nexus-master.php:
|
870 |
msgid "You have switched back to the master website"
|
871 |
msgstr "Вы перешли назад на основной сайт"
|
872 |
|
873 |
-
#: nexus/cerber-nexus-master.php:
|
874 |
msgid "You have switched to %s"
|
875 |
msgstr "Вы перешли к %s"
|
876 |
|
877 |
-
#: nexus/cerber-nexus-master.php:
|
878 |
msgid "Invalid response from the slave website"
|
879 |
msgstr "Неверный ответ с зависимого сайта"
|
880 |
|
881 |
-
#: nexus/cerber-nexus-master.php:
|
882 |
msgid "Website has been deleted"
|
883 |
msgid_plural "%s websites have been deleted"
|
884 |
msgstr[0] "Сайт удален"
|
885 |
msgstr[1] "%s сайта удалено"
|
886 |
msgstr[2] "%s сайтов удалено"
|
887 |
|
888 |
-
#: nexus/cerber-nexus-master.php:
|
889 |
msgid "Keep in mind: You have added the website that does not support SSL encryption. This may lead to data leakage."
|
890 |
msgstr "Имейте ввиду: Вы добавили сайт, который не поддерживает SSL. Это может привести к утечке данных."
|
891 |
|
892 |
-
#: nexus/cerber-nexus-master.php:
|
893 |
msgid "Switch to the Dashboard"
|
894 |
msgstr "Перейти в консоль"
|
895 |
|
896 |
-
#: nexus/cerber-nexus-master.php:
|
897 |
msgid "Click to edit"
|
898 |
msgstr "Нажмите для редактирования"
|
899 |
|
900 |
-
#: nexus/cerber-nexus-master.php:
|
901 |
msgid "The website has been added successfully"
|
902 |
msgstr "Сайт добавлен"
|
903 |
|
904 |
-
#: nexus/cerber-nexus-master.php:
|
905 |
msgid "The website you are trying to add is already in the list"
|
906 |
msgstr "Добавляемый вами сайт уже присутствует в списке"
|
907 |
|
908 |
-
#: nexus/cerber-nexus-master.php:
|
909 |
msgid "Security access token is invalid"
|
910 |
msgstr "Токен безопасного доступа не верен"
|
911 |
|
@@ -937,31 +1049,31 @@ msgstr "Имя"
|
|
937 |
msgid "Website Owner"
|
938 |
msgstr "Владелец сайта"
|
939 |
|
940 |
-
#: nexus/cerber-nexus-master.php:
|
941 |
msgid "Display as"
|
942 |
msgstr "Отображать как"
|
943 |
|
944 |
-
#: nexus/cerber-nexus-master.php:
|
945 |
msgid "Website URL"
|
946 |
msgstr "URL сайта"
|
947 |
|
948 |
-
#: nexus/cerber-nexus-master.php:
|
949 |
msgid "Website Properties"
|
950 |
msgstr "Свойства сайта"
|
951 |
|
952 |
-
#: nexus/cerber-nexus-master.php:
|
953 |
msgid "Select an existing group or enter a new one to add it"
|
954 |
msgstr "Выберите имеющуюся группу или введите новую для добавления"
|
955 |
|
956 |
-
#: nexus/cerber-slave-list.php:
|
957 |
msgid "Disable master mode"
|
958 |
msgstr "Отключить режим управляющего сайта"
|
959 |
|
960 |
-
#: nexus/cerber-slave-list.php:
|
961 |
msgid "Add a new one"
|
962 |
msgstr "Добавить новый"
|
963 |
|
964 |
-
#: nexus/cerber-slave-list.php:
|
965 |
msgid "No websites configured."
|
966 |
msgstr "Ни один сайт не настроен."
|
967 |
|
@@ -1033,7 +1145,7 @@ msgstr "Заблокированные пользователи"
|
|
1033 |
msgid "An optional message for this user"
|
1034 |
msgstr "Необязательное сообщение для этого пользователя"
|
1035 |
|
1036 |
-
#: settings.php:
|
1037 |
msgid "User Message"
|
1038 |
msgstr "Сообщение пользователю"
|
1039 |
|
@@ -1052,198 +1164,198 @@ msgstr "Заблокировать пользователя"
|
|
1052 |
|
1053 |
#. translators: Time difference between two dates, in seconds (sec=second). 1:
|
1054 |
#. Number of seconds
|
1055 |
-
#: common.php:
|
1056 |
msgid "%s sec"
|
1057 |
msgid_plural "%s secs"
|
1058 |
msgstr[0] "%s сек."
|
1059 |
msgstr[1] "%s сек."
|
1060 |
msgstr[2] "%s сек."
|
1061 |
|
1062 |
-
#: common.php:
|
1063 |
msgid "Blocked by administrator"
|
1064 |
msgstr "Заблокирован администратором"
|
1065 |
|
1066 |
-
#: common.php:
|
1067 |
msgid "Invalid master credentials"
|
1068 |
msgstr "Неверная мастер пара логин/пароль"
|
1069 |
|
1070 |
-
#: admin/cerber-settings.php:
|
1071 |
msgid "Save Changes"
|
1072 |
msgstr "Сохранить изменения"
|
1073 |
|
1074 |
-
#: common.php:
|
1075 |
msgid "IP address is locked out"
|
1076 |
msgstr "IP адрес заблокирован"
|
1077 |
|
1078 |
-
#: dashboard.php:
|
1079 |
msgid "Additional Details"
|
1080 |
msgstr "Дополнительная информация"
|
1081 |
|
1082 |
-
#: settings.php:
|
1083 |
msgid "Ignore logged in users"
|
1084 |
msgstr "Игнорировать авторизованных пользователей"
|
1085 |
|
1086 |
-
#: settings.php:
|
1087 |
msgid "Erroneous Request Shielding"
|
1088 |
msgstr "Защита от ошибочных запросов"
|
1089 |
|
1090 |
-
#: settings.php:
|
1091 |
msgid "Maximum security"
|
1092 |
msgstr "Максимальная безопасность"
|
1093 |
|
1094 |
-
#: settings.php:
|
1095 |
msgid "Maximum compatibility"
|
1096 |
msgstr "Максимальная совместимость"
|
1097 |
|
1098 |
-
#: settings.php:
|
1099 |
msgid "Save software errors"
|
1100 |
msgstr "Сохранять ошибки ПО"
|
1101 |
|
1102 |
-
#: settings.php:
|
1103 |
msgid "Enable error shielding"
|
1104 |
msgstr "Включить защиту от ошибок"
|
1105 |
|
1106 |
-
#: settings.php:
|
1107 |
msgid "Traffic Inspection"
|
1108 |
msgstr "Инспектор трафика"
|
1109 |
|
1110 |
-
#: dashboard.php:
|
1111 |
msgid "Add to menu"
|
1112 |
msgstr "Добавить в меню"
|
1113 |
|
1114 |
-
#: dashboard.php:
|
1115 |
msgid "WooCommerce Log Out"
|
1116 |
msgstr "Выход WooCommerce"
|
1117 |
|
1118 |
-
#: dashboard.php:
|
1119 |
msgid "WooCommerce Log In"
|
1120 |
msgstr "Вход WooCommerce"
|
1121 |
|
1122 |
-
#: dashboard.php:
|
1123 |
msgid "Register"
|
1124 |
msgstr "Регистрация"
|
1125 |
|
1126 |
-
#: dashboard.php:
|
1127 |
msgid "Log Out"
|
1128 |
msgstr "Выход"
|
1129 |
|
1130 |
-
#: dashboard.php:
|
1131 |
msgid "Log In"
|
1132 |
msgstr "Вход"
|
1133 |
|
1134 |
-
#: dashboard.php:
|
1135 |
msgid "Page generation time"
|
1136 |
msgstr "Время генерации страницы"
|
1137 |
|
1138 |
-
#: common.php:
|
1139 |
msgid "Multiple suspicious requests"
|
1140 |
msgstr "Множественные подозрительные запросы"
|
1141 |
|
1142 |
-
#: dashboard.php:
|
1143 |
msgid "Know more about all advantages at"
|
1144 |
msgstr "Узнайте больше о всех преимуществах на"
|
1145 |
|
1146 |
-
#: dashboard.php:
|
1147 |
msgid "These features are available in a professional version of the plugin."
|
1148 |
msgstr "Эти возможности доступны в профессиональной версии плагина."
|
1149 |
|
1150 |
-
#: common.php:
|
1151 |
msgid "Suspicious JavaScript code detected"
|
1152 |
msgstr "Найден подозрительный код JavaScript"
|
1153 |
|
1154 |
-
#: cerber-scanner.php:
|
1155 |
msgid "All scans"
|
1156 |
msgstr "Все проверки"
|
1157 |
|
1158 |
-
#: cerber-scanner.php:
|
1159 |
msgid "Click here to see the full list of files"
|
1160 |
msgstr "Нажмите здесь для просмотра полного списка файлов"
|
1161 |
|
1162 |
-
#: cerber-scanner.php:
|
1163 |
msgid "No files match the specified filter."
|
1164 |
msgstr "Нет файлов подходящих к указанному фильтру."
|
1165 |
|
1166 |
-
#: cerber-scanner.php:
|
1167 |
msgid "Preparing for the scan"
|
1168 |
msgstr "Подготовка сканирования"
|
1169 |
|
1170 |
-
#: settings.php:
|
1171 |
msgid "Enable diagnostic logging"
|
1172 |
msgstr "Включить журнал диагностики"
|
1173 |
|
1174 |
-
#: settings.php:
|
1175 |
msgid "Disable PHP error displaying"
|
1176 |
msgstr "Отключить отображение ошибок PHP"
|
1177 |
|
1178 |
-
#: settings.php:
|
1179 |
msgid "Block execution of PHP scripts in the WordPress media folder"
|
1180 |
msgstr "Отключить исполнение PHP скриптов в папке медиафайлов WordPress"
|
1181 |
|
1182 |
-
#: settings.php:
|
1183 |
msgid "Disable PHP in uploads"
|
1184 |
msgstr "Отключить PHP в папке загрузок"
|
1185 |
|
1186 |
-
#: settings.php:
|
1187 |
msgid "Use English for admin interface"
|
1188 |
msgstr "Use English for admin interface (использовать английский язык для интерфейса администрирования)"
|
1189 |
|
1190 |
-
#: dashboard.php:
|
1191 |
msgid "All files have been processed"
|
1192 |
msgstr "Все файлы обработаны"
|
1193 |
|
1194 |
-
#: dashboard.php:
|
1195 |
msgid "Some errors occurred"
|
1196 |
msgstr "Возникли ошибки"
|
1197 |
|
1198 |
-
#: dashboard.php:
|
1199 |
msgid "These files have been added to the ignore list"
|
1200 |
msgstr "Эти файлы были добавлены в список игнорирования"
|
1201 |
|
1202 |
-
#: dashboard.php:
|
1203 |
msgid "Do you want to add selected files to the ignore list?"
|
1204 |
msgstr "Вы точно хотите добавить выбранные файлы в список игнорирования?"
|
1205 |
|
1206 |
-
#: dashboard.php:
|
1207 |
msgid "These files have been moved to the quarantine"
|
1208 |
msgstr "Эти файлы были перемещены в карантин"
|
1209 |
|
1210 |
-
#: dashboard.php:
|
1211 |
msgid "Are you sure you want to delete selected files?"
|
1212 |
msgstr "Вы точно хотите удалить выбранные файлы?"
|
1213 |
|
1214 |
-
#: dashboard.php:
|
1215 |
msgid "Log"
|
1216 |
msgstr "Журнал"
|
1217 |
|
1218 |
-
#: cerber-scanner.php:
|
1219 |
msgid "Added"
|
1220 |
msgstr "Добавлено"
|
1221 |
|
1222 |
-
#: cerber-scanner.php:
|
1223 |
msgid "The list is empty."
|
1224 |
msgstr "Список пуст."
|
1225 |
|
1226 |
-
#: cerber-scanner.php:
|
1227 |
msgid "Activity Insights"
|
1228 |
msgstr "На виду: активность"
|
1229 |
|
1230 |
-
#: cerber-scanner.php:
|
1231 |
msgid "Traffic Insights"
|
1232 |
msgstr "На виду: трафик"
|
1233 |
|
1234 |
-
#: cerber-scanner.php:
|
1235 |
msgid "User Insights"
|
1236 |
msgstr "На виду: пользователи"
|
1237 |
|
1238 |
-
#: cerber-scanner.php:
|
1239 |
msgid "Remove from the list"
|
1240 |
msgstr "Удалить из списка"
|
1241 |
|
1242 |
-
#: cerber-scanner.php:
|
1243 |
msgid "Apply"
|
1244 |
msgstr "Применить"
|
1245 |
|
1246 |
-
#: dashboard.php:
|
1247 |
msgid "Ignore List"
|
1248 |
msgstr "Список игнорируемого"
|
1249 |
|
@@ -1251,68 +1363,68 @@ msgstr "Список игнорируемого"
|
|
1251 |
msgid "Ignore"
|
1252 |
msgstr "Игнорировать"
|
1253 |
|
1254 |
-
#: settings.php:
|
1255 |
msgid "Use comma to separate items."
|
1256 |
msgstr "Используйте запятую для разделения элементов."
|
1257 |
|
1258 |
-
#: settings.php:
|
1259 |
msgid "Files with these extensions"
|
1260 |
msgstr "Файлы с этими расширениями"
|
1261 |
|
1262 |
-
#: settings.php:
|
1263 |
msgid "Use absolute paths. One item per line."
|
1264 |
msgstr "Используйте абсолютные пути. Один элемент на строку."
|
1265 |
|
1266 |
-
#: settings.php:
|
1267 |
msgid "Files in these directories"
|
1268 |
msgstr "Файлы в этих папках"
|
1269 |
|
1270 |
-
#: settings.php:
|
1271 |
msgid "Files in the sessions directory"
|
1272 |
msgstr "Файлы в папке сессий"
|
1273 |
|
1274 |
-
#: settings.php:
|
1275 |
msgid "Files in the temporary directory"
|
1276 |
msgstr "Файлы в временной папке"
|
1277 |
|
1278 |
-
#: settings.php:
|
1279 |
msgid "Exclusions"
|
1280 |
msgstr "Исключения"
|
1281 |
|
1282 |
-
#: settings.php:
|
1283 |
msgid "Files with unwanted extensions"
|
1284 |
msgstr "Файлы с нежелательными расширениями"
|
1285 |
|
1286 |
-
#: settings.php:
|
1287 |
msgid "Files in the uploads folder"
|
1288 |
msgstr "Файлы в папке загрузки"
|
1289 |
|
1290 |
-
#: settings.php:
|
1291 |
msgid "Automatic cleanup of malware and suspicious files"
|
1292 |
msgstr "Автоматическая очистка вредоносных и подозрительных файлов"
|
1293 |
|
1294 |
-
#: dashboard.php:
|
1295 |
msgid "Integrity"
|
1296 |
msgstr "Целостность"
|
1297 |
|
1298 |
-
#: dashboard.php:
|
1299 |
msgctxt "Example: Last malware scan: 23 Jan 2018"
|
1300 |
msgid "Last malware scan"
|
1301 |
msgstr "Последняя проверка на вредоносное ПО"
|
1302 |
|
1303 |
-
#: common.php:
|
1304 |
msgid "Suspicious SQL code detected"
|
1305 |
msgstr "Обнаружен подозрительный SQL код"
|
1306 |
|
1307 |
-
#: common.php:
|
1308 |
msgid "Attempt to upload malicious file denied"
|
1309 |
msgstr "Заблокирована попытка загрузки вредоносного файла"
|
1310 |
|
1311 |
-
#: cerber-scanner.php:
|
1312 |
msgid "Automatically moved to quarantine"
|
1313 |
msgstr "Автоматически перемещен в карантин"
|
1314 |
|
1315 |
-
#: cerber-scanner.php:
|
1316 |
msgid "Deleted"
|
1317 |
msgstr "Удален"
|
1318 |
|
@@ -1336,11 +1448,11 @@ msgstr "Этот файл содержит исполняемый код и мо
|
|
1336 |
msgid "Malicious code found"
|
1337 |
msgstr "Найден вредоносный код"
|
1338 |
|
1339 |
-
#: dashboard.php:
|
1340 |
msgid "Cleaning up"
|
1341 |
msgstr "Очистка"
|
1342 |
|
1343 |
-
#: cerber-news.php:
|
1344 |
msgid "Awesome!"
|
1345 |
msgstr "Замечательно!"
|
1346 |
|
@@ -1348,153 +1460,153 @@ msgstr "Замечательно!"
|
|
1348 |
msgid "Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications."
|
1349 |
msgstr "Защищает WordPress от атак хакеров, спама, троянов и вирусов. Включает сканер вредоносного ПО и проверку целостности. Усиление защиты WordPress набором комплексных алгоритмов безопасности. Защита от спама тонким определением ботов и reCAPTCHA. Отслеживание пользовательской активности и вторжений с уведомлением по email, а также через уведомления браузера или на мобильные устройства."
|
1350 |
|
1351 |
-
#: admin/cerber-settings.php:
|
1352 |
msgctxt "preposition of time like: at 11:00"
|
1353 |
msgid "at"
|
1354 |
msgstr "в"
|
1355 |
|
1356 |
-
#: dashboard.php:
|
1357 |
-
msgid "
|
1358 |
msgstr "Антиспам защита"
|
1359 |
|
1360 |
-
#: common.php:
|
1361 |
msgctxt "preposition of a period of time like: in 6 hours"
|
1362 |
msgid "in %s"
|
1363 |
msgstr "Через %s"
|
1364 |
|
1365 |
-
#: cerber-scanner.php:
|
1366 |
msgid "The file has been restored to its original location."
|
1367 |
msgstr "Файл был восстановлен по оригинальному местоположению."
|
1368 |
|
1369 |
-
#: cerber-scanner.php:
|
1370 |
msgid "The file has been deleted permanently."
|
1371 |
msgstr "Файл удален навсегда."
|
1372 |
|
1373 |
-
#: cerber-scanner.php:
|
1374 |
msgid "File"
|
1375 |
msgstr "Файл"
|
1376 |
|
1377 |
-
#: cerber-scanner.php:
|
1378 |
msgid "Size"
|
1379 |
msgstr "Размер"
|
1380 |
|
1381 |
-
#: cerber-scanner.php:
|
1382 |
msgid "Automatic deletion"
|
1383 |
msgstr "Автоматическое удаление"
|
1384 |
|
1385 |
-
#: cerber-scanner.php:
|
1386 |
msgid "Moved to quarantine"
|
1387 |
msgstr "Перемещен в карантин"
|
1388 |
|
1389 |
-
#: cerber-scanner.php:
|
1390 |
msgid "Delete permanently"
|
1391 |
msgstr "Удалить навсегда"
|
1392 |
|
1393 |
-
#: cerber-scanner.php:
|
1394 |
msgid "Restore"
|
1395 |
msgstr "Восстановить"
|
1396 |
|
1397 |
-
#: cerber-scanner.php:
|
1398 |
msgid "There are no files in the quarantine at the moment."
|
1399 |
msgstr "В карантине сейчас нет файлов."
|
1400 |
|
1401 |
-
#: cerber-scanner.php:
|
1402 |
msgid "Scanned"
|
1403 |
msgstr "Проверено"
|
1404 |
|
1405 |
-
#: cerber-scanner.php:
|
1406 |
msgid "Unattended files"
|
1407 |
msgstr "Несопровождаемые файлы"
|
1408 |
|
1409 |
-
#: cerber-scanner.php:
|
1410 |
msgid "Changed files"
|
1411 |
msgstr "Измененные файлы"
|
1412 |
|
1413 |
-
#: cerber-scanner.php:
|
1414 |
msgid "New files"
|
1415 |
msgstr "Новые файлы"
|
1416 |
|
1417 |
-
#: nexus/cerber-slave-list.php:
|
1418 |
msgid "Vulnerabilities"
|
1419 |
msgstr "Уязвимости"
|
1420 |
|
1421 |
-
#: cerber-scanner.php:
|
1422 |
msgid "Performance"
|
1423 |
msgstr "Производительность"
|
1424 |
|
1425 |
-
#: cerber-scanner.php:
|
1426 |
msgid "Finished"
|
1427 |
msgstr "Завершено"
|
1428 |
|
1429 |
-
#: cerber-scanner.php:
|
1430 |
msgid "Started"
|
1431 |
msgstr "Начато"
|
1432 |
|
1433 |
-
#: dashboard.php:
|
1434 |
msgid "Quarantine"
|
1435 |
msgstr "Карантин"
|
1436 |
|
1437 |
-
#: cerber-load.php:
|
1438 |
msgid "You have exceeded the number of allowed login attempts. Please try again in %d minutes."
|
1439 |
msgstr "Вы исчерпали максимально допустимое количество попыток входа. Попробуйте снова через %d минут."
|
1440 |
|
1441 |
-
#: settings.php:
|
1442 |
msgid "Scan results reporting"
|
1443 |
msgstr "Отчет о результатах проверки"
|
1444 |
|
1445 |
-
#: settings.php:
|
1446 |
msgid "Automated recurring scan schedule"
|
1447 |
msgstr "План автоматической повторной проверки"
|
1448 |
|
1449 |
-
#: dashboard.php:
|
1450 |
msgid "Errors"
|
1451 |
msgstr "Ошибки"
|
1452 |
|
1453 |
-
#: dashboard.php:
|
1454 |
msgid "Suspicious activity"
|
1455 |
msgstr "Подозрительная активность"
|
1456 |
|
1457 |
-
#: dashboard.php:
|
1458 |
msgid "Activated"
|
1459 |
msgstr "Активация"
|
1460 |
|
1461 |
-
#: common.php:
|
1462 |
msgid "Bytes"
|
1463 |
msgstr "Байт"
|
1464 |
|
1465 |
-
#: common.php:
|
1466 |
msgid "Attempt to upload a file with malicious code"
|
1467 |
msgstr "Попытка загрузки файла с вредоносным кодом"
|
1468 |
|
1469 |
-
#: common.php:
|
1470 |
msgid "Malicious code detected"
|
1471 |
msgstr "Обнаружен вредоносный код"
|
1472 |
|
1473 |
-
#: common.php:
|
1474 |
msgid "Suspicious number of nested values"
|
1475 |
msgstr "Подозрительное количество вложенных значений"
|
1476 |
|
1477 |
-
#: common.php:
|
1478 |
msgid "Suspicious number of fields"
|
1479 |
msgstr "Подозрительное число полей"
|
1480 |
|
1481 |
-
#: common.php:
|
1482 |
msgid "User activated"
|
1483 |
msgstr "Пользователь активирован"
|
1484 |
|
1485 |
-
#: common.php:
|
1486 |
msgid "Malicious request denied"
|
1487 |
msgstr "Заблокирован вредоносный запрос"
|
1488 |
|
1489 |
-
#: cerber-scanner.php:
|
1490 |
msgid "Scanning the session folder for files"
|
1491 |
msgstr "Поиск файлов в каталоге сессий"
|
1492 |
|
1493 |
-
#: cerber-scanner.php:
|
1494 |
msgid "Scanning the temp folder for files"
|
1495 |
msgstr "Поиск файлов в временном каталоге"
|
1496 |
|
1497 |
-
#: cerber-scanner.php:
|
1498 |
msgid "Scanning the upload folder for files"
|
1499 |
msgstr "Поиск файлов в каталоге uploads"
|
1500 |
|
@@ -1506,131 +1618,127 @@ msgstr "Невозможно проверить целостность из-за
|
|
1506 |
msgid "Vulnerability found"
|
1507 |
msgstr "Обнаружена уязвимость"
|
1508 |
|
1509 |
-
#: admin/cerber-settings.php:
|
1510 |
msgid "Unable to update the schedule"
|
1511 |
msgstr "Невозможно обновить запланированное"
|
1512 |
|
1513 |
-
#: admin/cerber-settings.php:
|
1514 |
msgid "The schedule has been updated"
|
1515 |
msgstr "Запланированное обновлено"
|
1516 |
|
1517 |
-
#: settings.php:
|
1518 |
msgid "Include scan errors"
|
1519 |
msgstr "Включать ошибки сканера"
|
1520 |
|
1521 |
-
#: settings.php:
|
1522 |
msgid "Include file sizes"
|
1523 |
msgstr "Включать размеры файлов"
|
1524 |
|
1525 |
-
#: settings.php:
|
1526 |
msgid "If new issues found"
|
1527 |
msgstr "Если найдены новые проблемы"
|
1528 |
|
1529 |
-
#: settings.php:
|
1530 |
msgid "If any changes in scan results occurred"
|
1531 |
msgstr "Если найдены изменения в результатах сканирования"
|
1532 |
|
1533 |
-
#: settings.php:
|
1534 |
msgid "After every scan"
|
1535 |
msgstr "После каждого сканирования"
|
1536 |
|
1537 |
-
#: settings.php:
|
1538 |
msgid "Send email report"
|
1539 |
msgstr "Отсылать отчет по эл.почте"
|
1540 |
|
1541 |
-
#: settings.php:
|
1542 |
msgid "Report an issue if any of the following is true"
|
1543 |
msgstr "Отчитываться о проблемах, если нижеперечисленное верно"
|
1544 |
|
1545 |
-
#: settings.php:
|
1546 |
msgid "High severity"
|
1547 |
msgstr "Высокая тяжесть"
|
1548 |
|
1549 |
-
#: settings.php:
|
1550 |
msgid "Medium severity"
|
1551 |
msgstr "Средняя тяжесть"
|
1552 |
|
1553 |
-
#: settings.php:
|
1554 |
msgid "Low severity"
|
1555 |
msgstr "Низкая тяжесть"
|
1556 |
|
1557 |
-
#: settings.php:
|
1558 |
msgid "Launch Full Scan"
|
1559 |
msgstr "Запуск полной проверки"
|
1560 |
|
1561 |
-
#: settings.php:
|
1562 |
msgid "Launch Quick Scan"
|
1563 |
msgstr "Запуск быстрой проверки"
|
1564 |
|
1565 |
-
#: settings.php:
|
1566 |
msgid "Monitor modified files"
|
1567 |
msgstr "Наблюдать за изменением файлов"
|
1568 |
|
1569 |
-
#: settings.php:
|
1570 |
msgid "Monitor new files"
|
1571 |
msgstr "Наблюдать за новыми файлами"
|
1572 |
|
1573 |
-
#:
|
1574 |
-
msgid "Specify directories to exclude from scanning. Use absolute paths. One item per line."
|
1575 |
-
msgstr "Укажите каталоги для исключения проверки. Используйте абсолютный путь, 1 элемент на строку."
|
1576 |
-
|
1577 |
-
#: cerber-scanner.php:5405
|
1578 |
msgid "To view full report visit"
|
1579 |
msgstr "Для просмотра полного отчета зайдите на"
|
1580 |
|
1581 |
-
#: cerber-scanner.php:
|
1582 |
msgid "Files scanned"
|
1583 |
msgstr "Проверено файлов"
|
1584 |
|
1585 |
-
#: cerber-scanner.php:
|
1586 |
msgid "Quick Scan Report"
|
1587 |
msgstr "Отчет быстрой проверки"
|
1588 |
|
1589 |
-
#: cerber-scanner.php:
|
1590 |
msgid "Full Scan Report"
|
1591 |
msgstr "Отчет полной проверки"
|
1592 |
|
1593 |
-
#: cerber-scanner.php:
|
1594 |
msgid "File access error. Possibly scan results are outdated. Please run Quick or Full Scan."
|
1595 |
msgstr "Ошибка доступа к файлу. Возможно результаты проверки устарели. Запустите быструю или полную проверку."
|
1596 |
|
1597 |
-
#: cerber-scanner.php:
|
1598 |
msgid "You have to upload a ZIP archive from which you've installed it. This enables the security scanner to verify the integrity of the code and detect malware."
|
1599 |
msgstr "Вам нужно загрузить zip-архив, из которого вы это установили. Это даст возможность сканеру безопасности проверить целостность файлов, кода и определить вредоносный код."
|
1600 |
|
1601 |
-
#: cerber-scanner.php:
|
1602 |
msgid "We have not found any integrity data to verify"
|
1603 |
msgstr "Не найдены данные о целостности для проверки"
|
1604 |
|
1605 |
-
#: cerber-scanner.php:
|
1606 |
msgid "Finalizing the scan"
|
1607 |
msgstr "Завершение проверки"
|
1608 |
|
1609 |
-
#: cerber-scanner.php:
|
1610 |
msgid "Searching for malicious code"
|
1611 |
msgstr "Поиск вредоносного кода"
|
1612 |
|
1613 |
-
#: cerber-scanner.php:
|
1614 |
msgid "Verifying the integrity of the themes"
|
1615 |
msgstr "Проверка целостности тем"
|
1616 |
|
1617 |
-
#: cerber-scanner.php:
|
1618 |
msgid "Verifying the integrity of the plugins"
|
1619 |
msgstr "Проверка целостности плагинов"
|
1620 |
|
1621 |
-
#: cerber-scanner.php:
|
1622 |
msgid "Verifying the integrity of WordPress"
|
1623 |
msgstr "Проверка целостности WordPress"
|
1624 |
|
1625 |
-
#: cerber-scanner.php:
|
1626 |
msgid "Checking for new and modified files"
|
1627 |
msgstr "Поиск новых и измененных файлов"
|
1628 |
|
1629 |
-
#: cerber-scanner.php:
|
1630 |
msgid "Parsing the list of files"
|
1631 |
msgstr "Обработка списка файлов"
|
1632 |
|
1633 |
-
#: cerber-scanner.php:
|
1634 |
msgid "Scanning folders for files"
|
1635 |
msgstr "Поиск файлов в каталогах"
|
1636 |
|
@@ -1666,9 +1774,9 @@ msgstr "Каждые 3 часа"
|
|
1666 |
msgid "Every hour"
|
1667 |
msgstr "Каждый час"
|
1668 |
|
1669 |
-
#: settings.php:
|
1670 |
-
#: dashboard.php:
|
1671 |
-
#: cerber-scanner.php:1622
|
1672 |
msgid "Disabled"
|
1673 |
msgstr "Отключено"
|
1674 |
|
@@ -1684,15 +1792,15 @@ msgstr "Файл с нежелательным расширением"
|
|
1684 |
msgid "Suspicious directives found"
|
1685 |
msgstr "Найдены подозрительные директивы"
|
1686 |
|
1687 |
-
#: cerber-scanner.php:1586 cerber-scanner.php:
|
1688 |
msgid "Checksum mismatch"
|
1689 |
msgstr "Несовпадение контрольной суммы"
|
1690 |
|
1691 |
-
#: dashboard.php:
|
1692 |
msgid "Quick Scan"
|
1693 |
msgstr "Быстрая проверка"
|
1694 |
|
1695 |
-
#: dashboard.php:
|
1696 |
msgid "Full Scan"
|
1697 |
msgstr "Полная проверка"
|
1698 |
|
@@ -1708,11 +1816,11 @@ msgstr "Предыдущая попытка проверки, начатая %s,
|
|
1708 |
msgid "Currently a scheduled scan in progress. Please wait until it is finished."
|
1709 |
msgstr "Сейчас выполняется запланированная проверка. Дождитесь пока она завершится."
|
1710 |
|
1711 |
-
#: cerber-load.php:
|
1712 |
msgid "Scanner Report"
|
1713 |
msgstr "Отчет проверки"
|
1714 |
|
1715 |
-
#: dashboard.php:
|
1716 |
msgid "Scheduling"
|
1717 |
msgstr "Планирование"
|
1718 |
|
@@ -1720,59 +1828,59 @@ msgstr "Планирование"
|
|
1720 |
msgid "WP Cerber Security, Antispam & Malware Scan"
|
1721 |
msgstr "WP Cerber Security, Antispam & Malware Scan"
|
1722 |
|
1723 |
-
#: settings.php:
|
1724 |
msgid "Delete quarantined files after"
|
1725 |
msgstr "Удалять файлы карантина через"
|
1726 |
|
1727 |
-
#: settings.php:
|
1728 |
msgid "Scan session directory"
|
1729 |
msgstr "Проверять каталог файлов сессий"
|
1730 |
|
1731 |
-
#: settings.php:
|
1732 |
msgid "Scan temporary directory"
|
1733 |
msgstr "Проверять каталог временных файлов"
|
1734 |
|
1735 |
-
#: settings.php:
|
1736 |
msgid "Directories to exclude"
|
1737 |
msgstr "Каталоги для исключения"
|
1738 |
|
1739 |
-
#: settings.php:
|
1740 |
msgid "Specify file extensions to search for. Full scan only. Use comma to separate items."
|
1741 |
msgstr "Укажите расширения файлов для поиска. Используется только при полной проверке. Испольуйте запятую для разделения элементов."
|
1742 |
|
1743 |
-
#: settings.php:
|
1744 |
msgid "Unwanted file extensions"
|
1745 |
msgstr "Нежелательные расширения файлов"
|
1746 |
|
1747 |
-
#: settings.php:
|
1748 |
msgid "Specify custom PHP code signatures. One item per line. To specify a REGEX pattern, enclose a whole line in two braces."
|
1749 |
msgstr "Укажите пользовательские подписи PHP кода. Один элемент на строку. Для использования регулярных выражений, включите строку в фигурные скобки { }."
|
1750 |
|
1751 |
-
#: settings.php:
|
1752 |
msgid "Custom signatures"
|
1753 |
msgstr "Пользовательские отпечатки"
|
1754 |
|
1755 |
-
#: settings.php:
|
1756 |
msgid "Scanner settings"
|
1757 |
msgstr "Настройки сканера"
|
1758 |
|
1759 |
-
#: settings.php:
|
1760 |
msgid "Disable dashboard redirection"
|
1761 |
msgstr "Отключить перенаправление с консоли"
|
1762 |
|
1763 |
-
#: settings.php:
|
1764 |
msgid "Use White IP Access List"
|
1765 |
msgstr "Использовать белый список IP"
|
1766 |
|
1767 |
-
#: cerber-scanner.php:
|
1768 |
msgid "Issues total"
|
1769 |
msgstr "Всего проблем"
|
1770 |
|
1771 |
-
#: cerber-scanner.php:
|
1772 |
msgid "Critical issues"
|
1773 |
msgstr "Критические проблемы"
|
1774 |
|
1775 |
-
#: cerber-scanner.php:
|
1776 |
msgid "Files to scan"
|
1777 |
msgstr "Файлы для проверки"
|
1778 |
|
@@ -1780,7 +1888,7 @@ msgstr "Файлы для проверки"
|
|
1780 |
msgid "Custom signature found"
|
1781 |
msgstr "Найден пользовательский отпечаток"
|
1782 |
|
1783 |
-
#: cerber-scanner.php:
|
1784 |
msgid "Unwanted extensions"
|
1785 |
msgstr "Нежелательные расширения"
|
1786 |
|
@@ -1800,7 +1908,7 @@ msgstr "Найден подозрительный код"
|
|
1800 |
msgid "Content has been modified"
|
1801 |
msgstr "Содержимое изменено"
|
1802 |
|
1803 |
-
#: cerber-scanner.php:1584 cerber-scanner.php:
|
1804 |
msgid "Unable to open file"
|
1805 |
msgstr "Невозможно открыть файл"
|
1806 |
|
@@ -1852,211 +1960,207 @@ msgstr "Начать полную проверку"
|
|
1852 |
msgid "Start Quick Scan"
|
1853 |
msgstr "Начать быструю проверку"
|
1854 |
|
1855 |
-
#: dashboard.php:
|
1856 |
msgid "Security Scanner"
|
1857 |
msgstr "Сканер безопасности"
|
1858 |
|
1859 |
-
#: dashboard.php:67 dashboard.php:
|
1860 |
msgid "Site Integrity"
|
1861 |
msgstr "Целостность сайта"
|
1862 |
|
1863 |
-
#: settings.php:
|
1864 |
msgid "If you forget your Custom login URL, you will be unable to log in."
|
1865 |
msgstr "Если вы забудете ваш пользовательский URL входа, то вы не сможете войти."
|
1866 |
|
1867 |
-
#: settings.php:
|
1868 |
msgid "Be careful about enabling these options."
|
1869 |
msgstr "Будьте осторожны при включении этих настроек."
|
1870 |
|
1871 |
-
#: common.php:
|
1872 |
msgid "Denied"
|
1873 |
msgstr "Запрещено"
|
1874 |
|
1875 |
-
#: settings.php:
|
1876 |
msgid "To specify a REGEX pattern, enclose a whole line in two braces."
|
1877 |
msgstr "Для использования регулярных выражений заключите строку целиком в фигурные скобки { }."
|
1878 |
|
1879 |
-
#: admin/cerber-settings.php:
|
1880 |
msgid "Plugin initialization mode has not been changed"
|
1881 |
msgstr "Режим инициализации плагина не был изменен"
|
1882 |
|
1883 |
-
#: settings.php:
|
1884 |
msgid "Standard mode"
|
1885 |
msgstr "Стандартный режим"
|
1886 |
|
1887 |
-
#: settings.php:
|
1888 |
msgid "Legacy mode"
|
1889 |
msgstr "Старый режим"
|
1890 |
|
1891 |
-
#: settings.php:
|
1892 |
msgid "Load security engine"
|
1893 |
msgstr "Загрузка движка безопасности"
|
1894 |
|
1895 |
-
#: settings.php:
|
1896 |
msgid "Plugin initialization"
|
1897 |
msgstr "Инициализация плагина"
|
1898 |
|
1899 |
-
#: common.php:
|
1900 |
msgid "Unable to delete the file"
|
1901 |
msgstr "Невозможно удалить файл"
|
1902 |
|
1903 |
-
#: common.php:
|
1904 |
msgid "Unable to copy the file"
|
1905 |
msgstr "Невозможно скопировать файл"
|
1906 |
|
1907 |
-
#: common.php:
|
1908 |
msgid "File not found"
|
1909 |
msgstr "Файл не найден"
|
1910 |
|
1911 |
-
#: common.php:
|
1912 |
msgid "Destination folder access denied"
|
1913 |
msgstr "Доступ к каталогу назначения закрыт"
|
1914 |
|
1915 |
-
#: common.php:
|
1916 |
msgid "Unable to create the directory"
|
1917 |
msgstr "Невозможно создать каталог"
|
1918 |
|
1919 |
-
#: common.php:
|
1920 |
msgid "File upload denied"
|
1921 |
msgstr "Предотвращена загрузка файла"
|
1922 |
|
1923 |
-
#: settings.php:
|
1924 |
msgid "Block unauthorized access to load-scripts.php and load-styles.php"
|
1925 |
msgstr "Блокировка неавторизованного доступа к load-scripts.php и load-styles.php"
|
1926 |
|
1927 |
-
#: settings.php:
|
1928 |
msgid "Protect admin scripts"
|
1929 |
msgstr "Защита скриптов администратора"
|
1930 |
|
1931 |
-
#: cerber-load.php:
|
1932 |
msgid "We're sorry, you are not allowed to proceed"
|
1933 |
msgstr "Извините, вам не разрешено продолжить"
|
1934 |
|
1935 |
-
#: settings.php:
|
1936 |
msgid "Enter a request URI to exclude the request from inspection. One item per line."
|
1937 |
msgstr "Введите URI запроса для исключения из инспекции. Один элемент на строку."
|
1938 |
|
1939 |
-
#: settings.php:
|
1940 |
msgid "Request whitelist"
|
1941 |
msgstr "Белый список запросов"
|
1942 |
|
1943 |
-
#: settings.php:
|
1944 |
msgid "milliseconds"
|
1945 |
msgstr "миллисекунд"
|
1946 |
|
1947 |
-
#: settings.php:
|
1948 |
msgid "Page generation time threshold"
|
1949 |
msgstr "Порог времени генерации страницы"
|
1950 |
|
1951 |
-
#: settings.php:
|
1952 |
msgid "Save request cookies"
|
1953 |
msgstr "Сохранять куки запроса"
|
1954 |
|
1955 |
-
#: settings.php:
|
1956 |
msgid "Save $_SERVER"
|
1957 |
msgstr "Сохранять $_SERVER"
|
1958 |
|
1959 |
-
#: settings.php:
|
1960 |
msgid "Save request headers"
|
1961 |
msgstr "Сохранять заголовки запроса"
|
1962 |
|
1963 |
-
#: settings.php:
|
1964 |
msgid "Mask these form fields"
|
1965 |
msgstr "Маскировать эти поля форм"
|
1966 |
|
1967 |
-
#: settings.php:
|
1968 |
msgid "Save request fields"
|
1969 |
msgstr "Сохранять поля запросов"
|
1970 |
|
1971 |
-
#: settings.php:
|
1972 |
msgid "Ignore crawlers"
|
1973 |
msgstr "Игнорировать веб-пауков"
|
1974 |
|
1975 |
-
#: settings.php:
|
1976 |
msgid "All traffic"
|
1977 |
msgstr "Весь трафик"
|
1978 |
|
1979 |
-
#: settings.php:
|
1980 |
msgid "Smart"
|
1981 |
msgstr "Умная выборка"
|
1982 |
|
1983 |
-
#: settings.php:
|
1984 |
msgid "Logging disabled"
|
1985 |
msgstr "Журнал отключен"
|
1986 |
|
1987 |
-
#: settings.php:
|
1988 |
msgid "Logging mode"
|
1989 |
msgstr "Режим журнала"
|
1990 |
|
1991 |
-
#: settings.php:
|
1992 |
-
msgid "Logging"
|
1993 |
-
msgstr "Журналирование"
|
1994 |
-
|
1995 |
-
#: settings.php:668
|
1996 |
msgid "Enable traffic inspection"
|
1997 |
msgstr "Включить инспектирование трафика"
|
1998 |
|
1999 |
-
#: dashboard.php:
|
2000 |
msgid "Advanced Search"
|
2001 |
msgstr "Улучшенный поиск"
|
2002 |
|
2003 |
-
#: dashboard.php:
|
2004 |
msgid "Refresh"
|
2005 |
msgstr "Обновить"
|
2006 |
|
2007 |
-
#: dashboard.php:
|
2008 |
msgid "Longer than"
|
2009 |
msgstr "Дольше чем"
|
2010 |
|
2011 |
-
#: dashboard.php:
|
2012 |
msgid "Page Not Found"
|
2013 |
msgstr "Страница не найдена"
|
2014 |
|
2015 |
-
#: dashboard.php:
|
2016 |
msgid "Form submissions"
|
2017 |
msgstr "Отправки форм"
|
2018 |
|
2019 |
-
#: dashboard.php:
|
2020 |
msgid "Not logged in visitors"
|
2021 |
msgstr "Неавторизованные посетители"
|
2022 |
|
2023 |
-
#: dashboard.php:
|
2024 |
msgid "All requests"
|
2025 |
msgstr "Все запросы"
|
2026 |
|
2027 |
-
#: dashboard.php:
|
2028 |
msgid "No requests have been logged."
|
2029 |
msgstr "В журнале нет данных о запросах."
|
2030 |
|
2031 |
-
#: dashboard.php:
|
2032 |
msgid "User Agent"
|
2033 |
msgstr "User Agent"
|
2034 |
|
2035 |
-
#: dashboard.php:
|
2036 |
msgid "Host Info"
|
2037 |
msgstr "Информация о хосте"
|
2038 |
|
2039 |
-
#: dashboard.php:
|
2040 |
msgid "Request"
|
2041 |
msgstr "Запрос"
|
2042 |
|
2043 |
-
#: dashboard.php:
|
2044 |
msgid "Live Traffic"
|
2045 |
msgstr "Живой трафик"
|
2046 |
|
2047 |
-
#: dashboard.php:
|
2048 |
msgid "Traffic"
|
2049 |
msgstr "Трафик"
|
2050 |
|
2051 |
-
#: dashboard.php:
|
2052 |
msgid "no connection"
|
2053 |
msgstr "нет подключения"
|
2054 |
|
2055 |
-
#: dashboard.php:
|
2056 |
msgid "enabled"
|
2057 |
msgstr "включено"
|
2058 |
|
2059 |
-
#: dashboard.php:56 dashboard.php:
|
2060 |
msgid "Traffic Inspector"
|
2061 |
msgstr "Инспектор трафика"
|
2062 |
|
@@ -2064,283 +2168,275 @@ msgstr "Инспектор трафика"
|
|
2064 |
msgid "Cerber Traffic Inspector"
|
2065 |
msgstr "Цербер-инспектор трафика"
|
2066 |
|
2067 |
-
#: dashboard.php:
|
2068 |
msgid "Last seen"
|
2069 |
msgstr "Последний раз"
|
2070 |
|
2071 |
-
#: common.php:
|
2072 |
msgid "Not specified"
|
2073 |
msgstr "Не указано"
|
2074 |
|
2075 |
-
#: common.php:
|
2076 |
msgid "Probing for vulnerable PHP code"
|
2077 |
msgstr "Проверка на уязвимый PHP-код"
|
2078 |
|
2079 |
-
#: common.php:
|
2080 |
msgid "Check for requests"
|
2081 |
msgstr "Проверить запросы"
|
2082 |
|
2083 |
-
#: dashboard.php:
|
2084 |
msgid "You cannot add your IP address or network"
|
2085 |
msgstr "Вы не можете добавить ваш IP-адрес или сеть"
|
2086 |
|
2087 |
-
#: dashboard.php:
|
2088 |
msgid "Optional comment for this entry"
|
2089 |
msgstr "Необязательный комментарий к этой записи"
|
2090 |
|
2091 |
-
#: cerber-load.php:
|
2092 |
msgid "Attempts to log in with non-existing usernames"
|
2093 |
msgstr "Попытка войти с несуществующим именем пользователя"
|
2094 |
|
2095 |
-
#: cerber-load.php:
|
2096 |
msgid "Weekly Report"
|
2097 |
msgstr "Недельный отчет"
|
2098 |
|
2099 |
-
#: cerber-load.php:
|
2100 |
msgid "Your last sign-in was %s from %s"
|
2101 |
msgstr "Ваш последний вход был %s с %s"
|
2102 |
|
2103 |
-
#: settings.php:
|
2104 |
msgid "Enable reporting"
|
2105 |
msgstr "Включить отчеты"
|
2106 |
|
2107 |
-
#: settings.php:
|
2108 |
-
msgid "if empty, email from notification settings will be used"
|
2109 |
-
msgstr "если не задано, будет использован адрес из настроек уведомлений"
|
2110 |
-
|
2111 |
-
#: settings.php:981
|
2112 |
msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
|
2113 |
msgstr "Введите часть строки или пути запроса для исключения запроса из проверки движком. Один элемент на строку."
|
2114 |
|
2115 |
-
#: settings.php:
|
2116 |
msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
|
2117 |
msgstr "Для использования регулярных выражений оберните их в два прямых слеша."
|
2118 |
|
2119 |
-
#: settings.php:
|
2120 |
msgid "Display simple 404 page"
|
2121 |
msgstr "Показать простую страницу 404"
|
2122 |
|
2123 |
-
#: settings.php:
|
2124 |
msgid "Use 404 template from the active theme"
|
2125 |
msgstr "Использовать шаблон 404 активной темы"
|
2126 |
|
2127 |
-
#: dashboard.php:
|
2128 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
2129 |
msgid "Selected countries are not permitted to %s, other countries are permitted to"
|
2130 |
msgstr "Выбранным странам не разрешено %s, остальным странам разрешено"
|
2131 |
|
2132 |
-
#: dashboard.php:
|
2133 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
2134 |
msgid "Selected countries are permitted to %s, other countries are not permitted to"
|
2135 |
msgstr "Выбранным странам разрешено %s, остальным странам - нет"
|
2136 |
|
2137 |
-
#: dashboard.php:
|
2138 |
msgid "Not permitted for one country"
|
2139 |
msgid_plural "Not permitted for %d countries"
|
2140 |
msgstr[0] "Не разрешено в одной стране"
|
2141 |
msgstr[1] "Не разрешено в %d странах"
|
2142 |
msgstr[2] "Не разрешено в %d странах"
|
2143 |
|
2144 |
-
#: dashboard.php:
|
2145 |
msgid "Unable to send email to"
|
2146 |
msgstr "Невозможно отправить email на"
|
2147 |
|
2148 |
-
#: dashboard.php:
|
2149 |
msgid "Email has been sent to"
|
2150 |
msgstr "Сообщение было отправлено на электронный адрес"
|
2151 |
|
2152 |
-
#: cerber-load.php:
|
2153 |
msgid "Activity details"
|
2154 |
msgstr "Подробно об активности"
|
2155 |
|
2156 |
-
#: cerber-load.php:
|
2157 |
msgid "Your license is valid until"
|
2158 |
msgstr "Ваша лицензия действительна до"
|
2159 |
|
2160 |
-
#: cerber-load.php:
|
2161 |
msgid "Your login page:"
|
2162 |
msgstr "Ваша страница входа:"
|
2163 |
|
2164 |
-
#: cerber-load.php:
|
2165 |
msgid "To change reporting settings visit"
|
2166 |
msgstr "Для смены настроек отчетности зайдите"
|
2167 |
|
2168 |
-
#: cerber-load.php:
|
2169 |
msgid "Weekly report"
|
2170 |
msgstr "Недельный отчет"
|
2171 |
|
2172 |
-
#: cerber-load.php:
|
2173 |
msgid "> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/"
|
2174 |
msgstr ">>> Переводите WP Cerber? Получите PRO лицензию бесплатно, оставьте контакты здесь: https://wpcerber.com/contact/"
|
2175 |
|
2176 |
-
#: admin/cerber-settings.php:
|
2177 |
msgid "Click to send now"
|
2178 |
msgstr "Нажмите для отправки сейчас"
|
2179 |
|
2180 |
-
#: admin/cerber-settings.php:
|
2181 |
msgid "Saturday"
|
2182 |
msgstr "Суббота"
|
2183 |
|
2184 |
-
#: admin/cerber-settings.php:
|
2185 |
msgid "Friday"
|
2186 |
msgstr "Пятница"
|
2187 |
|
2188 |
-
#: admin/cerber-settings.php:
|
2189 |
msgid "Thursday"
|
2190 |
msgstr "Четверг"
|
2191 |
|
2192 |
-
#: admin/cerber-settings.php:
|
2193 |
msgid "Wednesday"
|
2194 |
msgstr "Среда"
|
2195 |
|
2196 |
-
#: admin/cerber-settings.php:
|
2197 |
msgid "Tuesday"
|
2198 |
msgstr "Вторник"
|
2199 |
|
2200 |
-
#: admin/cerber-settings.php:
|
2201 |
msgid "Monday"
|
2202 |
msgstr "Понедельник"
|
2203 |
|
2204 |
-
#: admin/cerber-settings.php:
|
2205 |
msgid "Sunday"
|
2206 |
msgstr "Воскресенье"
|
2207 |
|
2208 |
-
#: settings.php:
|
2209 |
msgid "Weekly reports"
|
2210 |
msgstr "Недельные отчеты"
|
2211 |
|
2212 |
-
#: dashboard.php:
|
2213 |
msgid "Main settings"
|
2214 |
msgstr "Основные настройки"
|
2215 |
|
2216 |
-
#: admin/cerber-settings.php:
|
2217 |
msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
|
2218 |
msgstr "Если вы используете плагин кеширования, вам нужно добавить новый URL входа в список исключений кеширования"
|
2219 |
|
2220 |
-
#:
|
2221 |
-
msgid "%s allowed registrations in %s minutes from one IP"
|
2222 |
-
msgstr "%s разрешенных регистраций в %s минут с одного IP"
|
2223 |
-
|
2224 |
-
#: settings.php:994
|
2225 |
msgid "Mark it as spam"
|
2226 |
msgstr "Пометить как спам"
|
2227 |
|
2228 |
-
#: settings.php:
|
2229 |
msgid "Deny it completely"
|
2230 |
msgstr "Полностью запретить"
|
2231 |
|
2232 |
-
#: settings.php:
|
2233 |
msgid "Sort users in dashboard"
|
2234 |
msgstr "Сортировать пользователей в консоли"
|
2235 |
|
2236 |
-
#: settings.php:
|
2237 |
msgid "Registration limit"
|
2238 |
msgstr "Предел регистраций"
|
2239 |
|
2240 |
-
#: settings.php:
|
2241 |
msgid "Allow REST API for logged in users"
|
2242 |
msgstr "Разрешить REST API для авторизованных пользователей"
|
2243 |
|
2244 |
-
#: dashboard.php:
|
2245 |
msgid "Use REST API"
|
2246 |
msgstr "использование REST API"
|
2247 |
|
2248 |
-
#: dashboard.php:
|
2249 |
msgid "Use XML-RPC"
|
2250 |
msgstr "использование XML-RPC"
|
2251 |
|
2252 |
-
#: dashboard.php:
|
2253 |
msgid "Register on the website"
|
2254 |
msgstr "регистрация на сайте"
|
2255 |
|
2256 |
-
#: dashboard.php:
|
2257 |
msgid "Log in to the website"
|
2258 |
msgstr "авторизация на сайте"
|
2259 |
|
2260 |
-
#: dashboard.php:
|
2261 |
msgid "Post comments"
|
2262 |
msgstr "отправка комментариев"
|
2263 |
|
2264 |
-
#: dashboard.php:
|
2265 |
msgid "Submit forms"
|
2266 |
msgstr "отправка форм"
|
2267 |
|
2268 |
-
#: dashboard.php:
|
2269 |
msgid "Click on a country name to add it to the list of selected countries"
|
2270 |
msgstr "Нажмите на страну чтобы добавить ее в список выбранных"
|
2271 |
|
2272 |
-
#: dashboard.php:
|
2273 |
msgid "Start typing here to find a country"
|
2274 |
msgstr "Начните печатать тут чтобы найти страну"
|
2275 |
|
2276 |
-
#: cerber-load.php:
|
2277 |
msgid "Getting Started Guide"
|
2278 |
msgstr "Руководство с чего начать"
|
2279 |
|
2280 |
-
#: dashboard.php:
|
2281 |
msgid "in the last 24 hours"
|
2282 |
msgstr "В последние 24 часа"
|
2283 |
|
2284 |
-
#: dashboard.php:
|
2285 |
msgid "You"
|
2286 |
msgstr "Вы"
|
2287 |
|
2288 |
-
#: dashboard.php:
|
2289 |
msgid "Registered"
|
2290 |
msgstr "Зарегистрирован"
|
2291 |
|
2292 |
-
#: dashboard.php:
|
2293 |
msgid "Failed login attempts"
|
2294 |
msgstr "Неудачные попытки входа"
|
2295 |
|
2296 |
-
#: common.php:
|
2297 |
msgid "Multiple suspicious activities were detected"
|
2298 |
msgstr "Обнаружена множественная подозрительная активность"
|
2299 |
|
2300 |
-
#: common.php:
|
2301 |
msgid "Multiple suspicious activities"
|
2302 |
msgstr "Множественная подозрительная активность"
|
2303 |
|
2304 |
-
#: common.php:
|
2305 |
msgid "Limit reached"
|
2306 |
msgstr "Предел достигнут"
|
2307 |
|
2308 |
-
#: settings.php:
|
2309 |
msgid "Query whitelist"
|
2310 |
msgstr "Белый список запросов"
|
2311 |
|
2312 |
-
#: settings.php:
|
2313 |
msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
|
2314 |
msgstr "Укажите пространства имен REST API разрешенных при отключении REST API, одно имя на строку."
|
2315 |
|
2316 |
-
#: settings.php:
|
2317 |
msgid "Block access to WordPress REST API except any of the following"
|
2318 |
msgstr "Блокировать доступ к REST API кроме следующего"
|
2319 |
|
2320 |
-
#: dashboard.php:
|
2321 |
msgid "Security rules have been updated"
|
2322 |
msgstr "Правила безопасности обновлены"
|
2323 |
|
2324 |
-
#: dashboard.php:
|
2325 |
msgid "No rule"
|
2326 |
msgstr "Нет правила"
|
2327 |
|
2328 |
-
#: dashboard.php:
|
2329 |
msgid "Permitted for one country"
|
2330 |
msgid_plural "Permitted for %d countries"
|
2331 |
msgstr[0] "Разрешается для одной страны"
|
2332 |
msgstr[1] "Разрешается для %d стран"
|
2333 |
msgstr[2] "Разрешается для %d стран"
|
2334 |
|
2335 |
-
#: dashboard.php:
|
2336 |
msgid "Countries"
|
2337 |
msgstr "Страны"
|
2338 |
|
2339 |
-
#: common.php:
|
2340 |
msgid "Spam form submissions denied"
|
2341 |
msgstr "Заблокированы отправки форм спама"
|
2342 |
|
2343 |
-
#: dashboard.php:61 dashboard.php:
|
2344 |
msgid "Security Rules"
|
2345 |
msgstr "Правила безопасности"
|
2346 |
|
@@ -2348,253 +2444,253 @@ msgstr "Правила безопасности"
|
|
2348 |
msgid "Cerber Security Rules"
|
2349 |
msgstr "Правила безопасности Цербер"
|
2350 |
|
2351 |
-
#: dashboard.php:
|
2352 |
msgid "Country"
|
2353 |
msgstr "Страна"
|
2354 |
|
2355 |
-
#: common.php:
|
2356 |
msgid "Blocked by country rule"
|
2357 |
msgstr "Заблокирован по ограничению для страны"
|
2358 |
|
2359 |
-
#: common.php:
|
2360 |
msgid "Malicious activity detected"
|
2361 |
msgstr "Обнаружена вредоносная активность"
|
2362 |
|
2363 |
-
#: common.php:
|
2364 |
msgid "Citadel mode is active"
|
2365 |
msgstr "Режим цитадель активен"
|
2366 |
|
2367 |
-
#: common.php:
|
2368 |
msgid "Bot detected"
|
2369 |
msgstr "Обнаружен бот"
|
2370 |
|
2371 |
-
#: common.php:
|
2372 |
msgid "XML-RPC request denied"
|
2373 |
msgstr "Запрос XML-RPC заблокирован"
|
2374 |
|
2375 |
-
#: common.php:
|
2376 |
msgid "Request to REST API denied"
|
2377 |
msgstr "Запрос к REST API заблокирован"
|
2378 |
|
2379 |
-
#: common.php:
|
2380 |
msgid "Comment denied"
|
2381 |
msgstr "Комментарий заблокирован"
|
2382 |
|
2383 |
-
#: common.php:
|
2384 |
msgid "Form submission denied"
|
2385 |
msgstr "Отправка формы заблокирована"
|
2386 |
|
2387 |
-
#: dashboard.php:
|
2388 |
msgid "License"
|
2389 |
msgstr "Лицензия"
|
2390 |
|
2391 |
-
#: settings.php:
|
2392 |
msgid "Disable bot detection engine for logged in users"
|
2393 |
msgstr "Отключить определение ботов для авторизованных пользователей"
|
2394 |
|
2395 |
-
#: settings.php:
|
2396 |
-
#: dashboard.php:
|
2397 |
msgid "Logged in users"
|
2398 |
msgstr "Авторизованные пользователи"
|
2399 |
|
2400 |
-
#: settings.php:
|
2401 |
msgid "Use less restrictive policies (allow AJAX)"
|
2402 |
msgstr "Использовать менее жесткую политику (разрешить AJAX)"
|
2403 |
|
2404 |
-
#: settings.php:
|
2405 |
msgid "Safe mode"
|
2406 |
msgstr "Безопасный режим"
|
2407 |
|
2408 |
-
#: settings.php:
|
2409 |
-
msgid "Adjust
|
2410 |
msgstr "Настроить антиспам-движок"
|
2411 |
|
2412 |
-
#: settings.php:
|
2413 |
msgid "Protect all forms on the website with bot detection engine"
|
2414 |
msgstr "Защитить все формы на сайте через определение ботов"
|
2415 |
|
2416 |
-
#: settings.php:
|
2417 |
msgid "Other forms"
|
2418 |
msgstr "Другие формы"
|
2419 |
|
2420 |
-
#: common.php:
|
2421 |
msgid "Spam form submission denied"
|
2422 |
msgstr "Отправка формы со спамом заблокирована"
|
2423 |
|
2424 |
-
#: cerber-load.php:
|
2425 |
msgid "Sorry, human verification failed."
|
2426 |
msgstr "Извините, проверка на человека не удалась."
|
2427 |
|
2428 |
-
#: settings.php:
|
2429 |
msgid "Move spam comments to trash after"
|
2430 |
msgstr "Удалить спам комментарии в корзину после"
|
2431 |
|
2432 |
-
#: settings.php:
|
2433 |
msgid "Trash spam comments"
|
2434 |
msgstr "Удалить спам комментарии в корзину"
|
2435 |
|
2436 |
-
#: settings.php:
|
2437 |
msgid "If a spam comment detected"
|
2438 |
msgstr "Если обнаружен спам комментарий"
|
2439 |
|
2440 |
-
#: settings.php:
|
2441 |
msgid "Comment processing"
|
2442 |
msgstr "Обработка комментария"
|
2443 |
|
2444 |
-
#: settings.php:
|
2445 |
msgid "Protect registration form with bot detection engine"
|
2446 |
msgstr "Защита регистрации через определение ботов"
|
2447 |
|
2448 |
-
#: settings.php:
|
2449 |
msgid "Protect comment form with bot detection engine"
|
2450 |
msgstr "Защита комментариев через определение ботов"
|
2451 |
|
2452 |
-
#: settings.php:
|
2453 |
-
msgid "Cerber
|
2454 |
msgstr "Движок Цербер-антиспам"
|
2455 |
|
2456 |
-
#: settings.php:1054 dashboard.php:71
|
2457 |
-
msgid "Antispam"
|
2458 |
-
msgstr "Аниспам"
|
2459 |
-
|
2460 |
#: dashboard.php:71
|
2461 |
-
msgid "Cerber
|
2462 |
-
msgstr "Настройка
|
2463 |
|
2464 |
-
#: common.php:
|
2465 |
msgid "Bot activity is detected"
|
2466 |
msgstr "Обнаружена активность ботов"
|
2467 |
|
2468 |
-
#: dashboard.php:
|
2469 |
-
msgid "
|
2470 |
msgstr "Антиспам и настройки определения ботов"
|
2471 |
|
2472 |
-
#: dashboard.php:
|
2473 |
msgid "Diagnostic"
|
2474 |
msgstr "Диагностика"
|
2475 |
|
2476 |
-
#: dashboard.php:
|
2477 |
msgid "Export & Import"
|
2478 |
msgstr "Экспорт и Импорт"
|
2479 |
|
2480 |
-
#: cerber-load.php:
|
2481 |
-
#: cerber-load.php:
|
2482 |
msgid "You are not allowed to register."
|
2483 |
msgstr "Вам не разрешено зарегистрироваться."
|
2484 |
|
2485 |
-
#: common.php:
|
2486 |
msgid "Lockouts occurred"
|
2487 |
msgstr "Блокировок произошло"
|
2488 |
|
2489 |
-
#: common.php:
|
2490 |
msgid "Malicious IP addresses detected"
|
2491 |
msgstr "Найдены вредоносные IP адреса"
|
2492 |
|
2493 |
-
#: common.php:
|
2494 |
msgid "Spam comments denied"
|
2495 |
msgstr "Спам-комментарии отклонены"
|
2496 |
|
2497 |
-
#: common.php:
|
2498 |
msgid "Malicious activities mitigated"
|
2499 |
msgstr "Вредоносная активность снижена"
|
2500 |
|
2501 |
-
#: dashboard.php:
|
2502 |
msgid "Event"
|
2503 |
msgstr "Событие"
|
2504 |
|
2505 |
-
#: common.php:
|
2506 |
msgid "Attempt to register denied"
|
2507 |
msgstr "Попытка регистрации отклонена"
|
2508 |
|
2509 |
-
#: common.php:
|
2510 |
msgid "Attempt to log in denied"
|
2511 |
msgstr "Попытка входа отклонена"
|
2512 |
|
2513 |
-
#: common.php:
|
2514 |
msgid "Spam comment denied"
|
2515 |
msgstr "Спам коммнтарий отклонен"
|
2516 |
|
2517 |
-
#: settings.php:
|
2518 |
msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
|
2519 |
msgstr "В режиме Цитадель никто не может войти кроме как с IP в белом списке. Активные сессии пользователей не будут затронуты."
|
2520 |
|
2521 |
-
#: settings.php:
|
2522 |
msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
|
2523 |
msgstr "Блокировать IP адрес на %s минут после %s неудачных попыток в течении %s минут"
|
2524 |
|
2525 |
-
#: settings.php:
|
2526 |
msgid "Limit attempts"
|
2527 |
msgstr "Ограничение попыток"
|
2528 |
|
2529 |
-
#: settings.php:
|
|
|
|
|
|
|
|
|
2530 |
msgid "Apply limit login rules to IP addresses in the White IP Access List"
|
2531 |
msgstr "Применить правила входа для IP адресов в белом списке"
|
2532 |
|
2533 |
-
#: common.php:
|
2534 |
msgid "Limit on failed reCAPTCHA verifications is reached"
|
2535 |
msgstr "Достигнут предел проверки reCAPTCHA"
|
2536 |
|
2537 |
-
#: common.php:
|
2538 |
msgid "Password reset requested"
|
2539 |
msgstr "Запрошен сброс пароля"
|
2540 |
|
2541 |
-
#: settings.php:
|
2542 |
msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
|
2543 |
msgstr "(не включайте, если у вас нет или вы не вводили ключ сайта и секретный ключ для невидимой версии)"
|
2544 |
|
2545 |
-
#: settings.php:
|
2546 |
msgid "Disable reCAPTCHA for logged in users"
|
2547 |
msgstr "Отключить reCAPTCHA для авторизованных пользователей"
|
2548 |
|
2549 |
-
#: settings.php:
|
2550 |
msgid "Enable reCAPTCHA for WordPress comment form"
|
2551 |
msgstr "Включить reCAPTCHA в форме комментариев WordPress"
|
2552 |
|
2553 |
-
#: settings.php:
|
2554 |
msgid "Comment form"
|
2555 |
msgstr "Форма комментариев"
|
2556 |
|
2557 |
-
#: settings.php:
|
2558 |
msgid "Enable invisible reCAPTCHA"
|
2559 |
msgstr "Включить невидимую reCAPTCHA"
|
2560 |
|
2561 |
-
#: settings.php:
|
2562 |
msgid "Invisible reCAPTCHA"
|
2563 |
msgstr "невидимая reCAPTCHA"
|
2564 |
|
2565 |
-
#: common.php:
|
2566 |
msgid "%s ago"
|
2567 |
msgstr "%s назад"
|
2568 |
|
2569 |
-
#: settings.php:
|
2570 |
msgid "Not available"
|
2571 |
msgstr "Недоступно"
|
2572 |
|
2573 |
-
#: settings.php:
|
2574 |
msgid "No devices found"
|
2575 |
msgstr "Устройства не найдены"
|
2576 |
|
2577 |
-
#: settings.php:
|
2578 |
msgid "All connected devices"
|
2579 |
msgstr "Все подключенные устройства"
|
2580 |
|
2581 |
-
#: settings.php:
|
2582 |
msgid "Use comma to specify multiple values"
|
2583 |
msgstr "Используйте запятую для разделения множественных значений"
|
2584 |
|
2585 |
-
#: settings.php:
|
2586 |
msgid "Email notifications"
|
2587 |
msgstr "Уведомления по эл.почте"
|
2588 |
|
2589 |
-
#: settings.php:
|
2590 |
msgid "Display 404 page"
|
2591 |
msgstr "Показывать страницу 404"
|
2592 |
|
2593 |
-
#: settings.php:
|
2594 |
msgid "Push notifications"
|
2595 |
msgstr "Push уведомления"
|
2596 |
|
2597 |
-
#: dashboard.php:
|
2598 |
msgid "Search for IP or username"
|
2599 |
msgstr "Поиск IP или имени пользователя"
|
2600 |
|
@@ -2602,19 +2698,19 @@ msgstr "Поиск IP или имени пользователя"
|
|
2602 |
msgid "Unsubscribe"
|
2603 |
msgstr "Отменить подписку"
|
2604 |
|
2605 |
-
#: dashboard.php:
|
2606 |
msgid "User login"
|
2607 |
msgstr "Имя пользователя"
|
2608 |
|
2609 |
-
#: dashboard.php:
|
2610 |
msgid "IP address"
|
2611 |
msgstr "IP адрес"
|
2612 |
|
2613 |
-
#: dashboard.php:
|
2614 |
msgid "Export"
|
2615 |
msgstr "Экспорт"
|
2616 |
|
2617 |
-
#: dashboard.php:
|
2618 |
msgid "User ID"
|
2619 |
msgstr "ID пользователя"
|
2620 |
|
@@ -2622,119 +2718,119 @@ msgstr "ID пользователя"
|
|
2622 |
msgid "Cerber Dashboard"
|
2623 |
msgstr "Консоль Cerber"
|
2624 |
|
2625 |
-
#: dashboard.php:
|
2626 |
msgid "Filter"
|
2627 |
msgstr "Фильтр"
|
2628 |
|
2629 |
-
#: dashboard.php:
|
2630 |
msgid "Cerber tools"
|
2631 |
msgstr "Инструменты Cerber"
|
2632 |
|
2633 |
-
#: cerber-load.php:
|
2634 |
msgid "A new activity has been recorded"
|
2635 |
msgstr "Отмечена новая активность"
|
2636 |
|
2637 |
-
#: settings.php:
|
2638 |
msgid "if empty, the default format %s will be used"
|
2639 |
msgstr "Если пусто, будет использован формат по умолчанию %s"
|
2640 |
|
2641 |
-
#: cerber-load.php:
|
2642 |
msgid "User"
|
2643 |
msgstr "Пользователь"
|
2644 |
|
2645 |
-
#: cerber-load.php:
|
2646 |
msgid "Search string"
|
2647 |
msgstr "Строка поиска"
|
2648 |
|
2649 |
-
#: settings.php:
|
2650 |
msgid "Preferences"
|
2651 |
msgstr "Настройки"
|
2652 |
|
2653 |
-
#: settings.php:
|
2654 |
msgid "Date format"
|
2655 |
msgstr "Формат даты"
|
2656 |
|
2657 |
-
#: dashboard.php:54 dashboard.php:
|
2658 |
msgid "Dashboard"
|
2659 |
msgstr "Консоль"
|
2660 |
|
2661 |
-
#: settings.php:
|
2662 |
msgid "Enable reCAPTCHA for WooCommerce login form"
|
2663 |
msgstr "Включить reCAPTCHA для формы входа WooCommerce"
|
2664 |
|
2665 |
-
#: settings.php:
|
2666 |
msgid "Enable reCAPTCHA for WordPress login form"
|
2667 |
msgstr "Включить reCAPTCHA для формы входа WordPress"
|
2668 |
|
2669 |
-
#: settings.php:
|
2670 |
msgid "Enable reCAPTCHA for WooCommerce lost password form"
|
2671 |
msgstr "Включить reCAPTCHA для формы восстановления пароля WooCommerce"
|
2672 |
|
2673 |
-
#: settings.php:
|
2674 |
msgid "Enable reCAPTCHA for WordPress lost password form"
|
2675 |
msgstr "Включить reCAPTCHA для формы восстановления пароля WordPress"
|
2676 |
|
2677 |
-
#: settings.php:
|
2678 |
msgid "Enable reCAPTCHA for WooCommerce registration form"
|
2679 |
msgstr "Включить reCAPTCHA для формы регистрации WooCommerce"
|
2680 |
|
2681 |
-
#: settings.php:
|
2682 |
msgid "Enable reCAPTCHA for WordPress registration form"
|
2683 |
msgstr "Включить reCAPTCHA для формы регистрации WordPress"
|
2684 |
|
2685 |
-
#: settings.php:
|
2686 |
msgid "Registration form"
|
2687 |
msgstr "Форма регистрации"
|
2688 |
|
2689 |
-
#: settings.php:
|
2690 |
msgid "Cerber Lab protocol"
|
2691 |
msgstr "протокол Cerber Lab"
|
2692 |
|
2693 |
-
#: settings.php:
|
2694 |
msgid "Send malicious IP addresses to the Cerber Lab"
|
2695 |
msgstr "Посылать вредоносные IP адреса в Cerber Lab"
|
2696 |
|
2697 |
-
#: settings.php:
|
2698 |
msgid "Cerber Lab connection"
|
2699 |
msgstr "Подключение Cerber Lab"
|
2700 |
|
2701 |
-
#: dashboard.php:
|
2702 |
msgid "Recently locked out IP addresses"
|
2703 |
msgstr "Недавно заблокированые IP адреса"
|
2704 |
|
2705 |
-
#: dashboard.php:
|
2706 |
msgid "View all"
|
2707 |
msgstr "Просмотреть все"
|
2708 |
|
2709 |
-
#: dashboard.php:
|
2710 |
msgid "Add network to the Black List"
|
2711 |
msgstr "Добавить сеть в черный список"
|
2712 |
|
2713 |
-
#: dashboard.php:
|
2714 |
msgid "Network:"
|
2715 |
msgstr "Сеть:"
|
2716 |
|
2717 |
-
#: dashboard.php:
|
2718 |
msgid "Incorrect IP address or IP range"
|
2719 |
msgstr "Неверный IP адрес или диапазон адресов"
|
2720 |
|
2721 |
-
#: common.php:
|
2722 |
msgid "Request to the Google reCAPTCHA service failed"
|
2723 |
msgstr "Запрос к сервису Google reCAPTCHA не удался"
|
2724 |
|
2725 |
-
#: cerber-lab.php:
|
2726 |
msgid "NO, maybe later"
|
2727 |
msgstr "НЕТ, возможно позже"
|
2728 |
|
2729 |
-
#: cerber-lab.php:
|
2730 |
msgid "OK, nail them all"
|
2731 |
msgstr "ОК, прибьем их всех"
|
2732 |
|
2733 |
-
#: cerber-lab.php:
|
2734 |
msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
|
2735 |
msgstr "Разрешить WP Cerber посылать заблокированные IP адреса в Cerber Lab. Это помогает команде плагина разрабатывать новые алгоритмы для WP Cerber, которые будут защищать WordPress против новых угроз и ботнетов появляюшихся каждый день. Вы всегда можете отключить отсылку в настройках плагина, в любой момент."
|
2736 |
|
2737 |
-
#: cerber-lab.php:
|
2738 |
msgid "Want to make WP Cerber even more powerful?"
|
2739 |
msgstr "Хотите сделать WP Cerber еще мощнее ?"
|
2740 |
|
@@ -2743,521 +2839,510 @@ msgstr "Хотите сделать WP Cerber еще мощнее ?"
|
|
2743 |
msgid "https://wpcerber.com"
|
2744 |
msgstr "https://wpcerber.com"
|
2745 |
|
2746 |
-
#: cerber-load.php:
|
2747 |
msgid "Import settings"
|
2748 |
msgstr "Импорт настроек"
|
2749 |
|
2750 |
-
#: cerber-load.php:
|
2751 |
msgid "Your IP address is added to the"
|
2752 |
msgstr "Ваш IP адрес добавлен к"
|
2753 |
|
2754 |
-
#: cerber-load.php:
|
2755 |
msgid "Can't activate WP Cerber due to a database error."
|
2756 |
msgstr "Невозможно активировать плагин WP Cerber из-за ошибки в базе данных."
|
2757 |
|
2758 |
-
#: cerber-load.php:
|
2759 |
msgid "The WP Cerber requires WordPress %s or higher. You are running"
|
2760 |
msgstr "WP Cerber требует WordPress версии %s или выше. У вас версия"
|
2761 |
|
2762 |
-
#: cerber-load.php:
|
2763 |
msgid "The WP Cerber requires PHP %s or higher. You are running"
|
2764 |
msgstr "WP Cerber требует PHP версии %s или выше. У вас версия"
|
2765 |
|
2766 |
-
#: cerber-load.php:
|
2767 |
msgid "This message was sent by"
|
2768 |
msgstr "Это сообщение было отправлено"
|
2769 |
|
2770 |
-
#: cerber-load.php:
|
2771 |
msgid "New Custom login URL"
|
2772 |
msgstr "Новый URL для входа на сайт"
|
2773 |
|
2774 |
-
#: cerber-load.php:
|
2775 |
msgid "WP Cerber is now active and has started protecting your site"
|
2776 |
msgstr "WP Cerber активен и начал защищать ваш сайт"
|
2777 |
|
2778 |
-
#: cerber-load.php:
|
2779 |
msgid "The WP Cerber security plugin is now active"
|
2780 |
msgstr "WP Cerber плагин безопасности активен"
|
2781 |
|
2782 |
-
#: cerber-load.php:
|
2783 |
msgid "From country"
|
2784 |
msgstr "Из страны"
|
2785 |
|
2786 |
-
#: cerber-load.php:
|
2787 |
msgid "From IP address"
|
2788 |
msgstr "С IP адреса"
|
2789 |
|
2790 |
-
#: cerber-load.php:
|
2791 |
msgid "By user"
|
2792 |
msgstr "По пользователю"
|
2793 |
|
2794 |
-
#: cerber-load.php:
|
2795 |
msgid "Not logged in"
|
2796 |
msgstr "Нет авторизации"
|
2797 |
|
2798 |
-
#: cerber-load.php:
|
2799 |
msgid "The WP Cerber security plugin has been deactivated"
|
2800 |
msgstr "WP Cerber плагин деактивирован"
|
2801 |
|
2802 |
-
#: cerber-load.php:
|
2803 |
msgid "Website"
|
2804 |
msgstr "Сайт"
|
2805 |
|
2806 |
-
#: cerber-load.php:
|
2807 |
msgid "Hi!"
|
2808 |
msgstr "Привет!"
|
2809 |
|
2810 |
-
#: cerber-load.php:
|
2811 |
msgid "A new version of WP Cerber is available to install"
|
2812 |
msgstr "Доступна новая версия WP Cerber!"
|
2813 |
|
2814 |
-
#: cerber-load.php:
|
2815 |
msgid "View lockouts in dashboard"
|
2816 |
msgstr "Просмотреть список заблокированных IP"
|
2817 |
|
2818 |
-
#: cerber-load.php:
|
2819 |
msgid "View activity for this IP"
|
2820 |
msgstr "Посмотреть активность для этого IP"
|
2821 |
|
2822 |
-
#: cerber-load.php:
|
2823 |
msgid "Last lockout was added: %s for IP %s"
|
2824 |
msgstr "Последняя блокировка была добавлена %s для IP %s"
|
2825 |
|
2826 |
-
#: cerber-load.php:
|
2827 |
msgid "Number of active lockouts"
|
2828 |
msgstr "Число активных блокировок на данный момент"
|
2829 |
|
2830 |
-
#: cerber-load.php:
|
2831 |
msgid "Number of lockouts is increasing"
|
2832 |
msgstr "Число блокировок увеличилось"
|
2833 |
|
2834 |
-
#: cerber-load.php:
|
2835 |
msgid "unspecified"
|
2836 |
msgstr "неуказано"
|
2837 |
|
2838 |
-
#: cerber-load.php:
|
2839 |
msgid "View activity in dashboard"
|
2840 |
msgstr "Просмотреть журнал активности"
|
2841 |
|
2842 |
-
#: cerber-load.php:
|
2843 |
msgid "Last failed attempt was at %s from IP %s with user login: %s."
|
2844 |
msgstr "Последняя неудачная попытка была в %s с IP адреса %s с логином %s."
|
2845 |
|
2846 |
-
#: cerber-load.php:
|
2847 |
msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
|
2848 |
msgstr "Режим Цитадель активирован после %d неудачных попыток за %d минут."
|
2849 |
|
2850 |
-
#: cerber-load.php:
|
2851 |
msgid "Citadel mode is activated"
|
2852 |
msgstr "Активирован режим Цитадель"
|
2853 |
|
2854 |
-
#: cerber-load.php:
|
2855 |
msgid "WP Cerber notify"
|
2856 |
msgstr "Уведомление WP Cerber"
|
2857 |
|
2858 |
-
#: common.php:
|
2859 |
msgid "Limit on login attempts is reached"
|
2860 |
msgstr "Количество попыток исчерпано"
|
2861 |
|
2862 |
-
#: common.php:
|
2863 |
msgid "Attempt to access"
|
2864 |
msgstr "Попытка доступа к"
|
2865 |
|
2866 |
-
#: cerber-load.php:
|
2867 |
msgid "Username is not allowed. Please choose another one."
|
2868 |
msgstr "Имя пользователя недопустимо. Выберите другое."
|
2869 |
|
2870 |
-
#: cerber-load.php:
|
2871 |
msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
|
2872 |
msgstr "<strong>ОШИБКА</strong>: Пароль введенный для пользователя %s is некорректен."
|
2873 |
|
2874 |
-
#: cerber-load.php:
|
2875 |
msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
|
2876 |
msgstr "Антибот проверка неудачна. Пожалуйста тыкните в квадратную отметку блока reCAPTCHA ниже"
|
2877 |
|
2878 |
-
#: admin/cerber-settings.php:
|
2879 |
-
#: admin/cerber-settings.php:
|
2880 |
-
#: cerber-load.php:
|
2881 |
-
#: cerber-load.php:
|
2882 |
-
#: cerber-load.php:
|
2883 |
-
#: cerber-load.php:
|
2884 |
-
#: nexus/cerber-nexus-slave.php:
|
2885 |
-
#: common.php:
|
2886 |
msgid "ERROR:"
|
2887 |
msgstr "ОШИБКА:"
|
2888 |
|
2889 |
-
#: cerber-load.php:
|
2890 |
msgid "You have only one attempt remaining."
|
2891 |
msgid_plural "You have %d attempts remaining."
|
2892 |
msgstr[0] "У вас есть только одна попытка для входа"
|
2893 |
msgstr[1] "У вас осталось %d попытки для входа."
|
2894 |
msgstr[2] "У вас осталось %d попыток для входа."
|
2895 |
|
2896 |
-
#: cerber-load.php:
|
2897 |
msgid "You are not allowed to log in. Ask your administrator for assistance."
|
2898 |
msgstr "Вход на сайт невозможен. Обратитесь к администратору сайта."
|
2899 |
|
2900 |
-
#: dashboard.php:
|
2901 |
-
#: nexus/cerber-slave-list.php:
|
2902 |
-
#: common.php:
|
2903 |
msgid "Unknown"
|
2904 |
msgstr "Неизвестен"
|
2905 |
|
2906 |
-
#: admin/cerber-settings.php:
|
2907 |
-
#: admin/cerber-settings.php:
|
2908 |
msgid "<strong>ERROR</strong>: please enter a valid email address."
|
2909 |
msgstr "<strong>ОШИБКА</strong>: Введите действительный адрес эл.почты."
|
2910 |
|
2911 |
-
#: admin/cerber-settings.php:
|
2912 |
msgid "Attention! You have changed the login URL! The new login URL is"
|
2913 |
msgstr "Внимание! Вы изменили URL страницы авторизации. Новый адрес"
|
2914 |
|
2915 |
-
#: admin/cerber-settings.php:
|
2916 |
-
msgid "Enable after %s failed login attempts in last %s minutes"
|
2917 |
msgstr "Активировать после %s неудачных авторизаций за последние %s минут"
|
2918 |
|
2919 |
-
#: admin/cerber-settings.php:
|
2920 |
msgid "Notify admin if the number of active lockouts above"
|
2921 |
msgstr "Уведомить администратора, если число заблокированных IP более"
|
2922 |
|
2923 |
-
#: admin/cerber-settings.php:
|
2924 |
msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
|
2925 |
msgstr "Увеличить длительность блокировки до %s часов после %s блокировок в течение последних %s часов"
|
2926 |
|
2927 |
-
#:
|
2928 |
-
msgid "%s allowed retries in %s minutes"
|
2929 |
-
msgstr "%s попыток разрешено в течении %s минут"
|
2930 |
-
|
2931 |
-
#: dashboard.php:4758
|
2932 |
msgid "Help"
|
2933 |
msgstr "Помощь"
|
2934 |
|
2935 |
-
#: dashboard.php:
|
2936 |
msgid "Tools"
|
2937 |
msgstr "Инструменты"
|
2938 |
|
2939 |
-
#: dashboard.php:
|
2940 |
msgid "Hardening"
|
2941 |
msgstr "Панцирь"
|
2942 |
|
2943 |
-
#: dashboard.php:
|
2944 |
msgid "Main Settings"
|
2945 |
msgstr "Основные настройки"
|
2946 |
|
2947 |
-
#: settings.php:
|
|
|
2948 |
msgid "Know more"
|
2949 |
msgstr "Узнать больше"
|
2950 |
|
2951 |
-
#: settings.php:
|
2952 |
msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
|
2953 |
msgstr "Перед использованием reCAPTCHA вам нужно получить ключ сайта и секретный ключ на сайте Google"
|
2954 |
|
2955 |
-
#: settings.php:
|
2956 |
msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
|
2957 |
msgstr "Для использования этой настройки необходимо активировать Постоянные ссылки в настройках сайта."
|
2958 |
|
2959 |
-
#: settings.php:
|
2960 |
msgid "Make your protection smarter!"
|
2961 |
msgstr "Сделайте защиту от злоумышленников еще умнее"
|
2962 |
|
2963 |
-
#: settings.php:
|
2964 |
msgid "Login form"
|
2965 |
msgstr "Форма входа"
|
2966 |
|
2967 |
-
#: settings.php:
|
2968 |
msgid "Lost password form"
|
2969 |
msgstr "Форма восстановления пароля"
|
2970 |
|
2971 |
-
#: settings.php:
|
2972 |
msgid "Secret key"
|
2973 |
msgstr "Секретный ключ"
|
2974 |
|
2975 |
-
#: settings.php:
|
2976 |
msgid "Site key"
|
2977 |
msgstr "Ключ сайта"
|
2978 |
|
2979 |
-
#: settings.php:
|
2980 |
msgid "reCAPTCHA settings"
|
2981 |
msgstr "Настройки reCAPTCHA"
|
2982 |
|
2983 |
-
#: settings.php:
|
2984 |
msgid "in minutes (leave empty to use default WP value)"
|
2985 |
msgstr "В минутах (оставьте пустым для значения WP по умолчанию)"
|
2986 |
|
2987 |
-
#: settings.php:
|
2988 |
msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
|
2989 |
msgstr "Имена пользователей из этого списка не разрешены для входа или регистрации. Любой IP адрес пытающийся использовать эти имена будет автоматически заблокирован. Испольуйте запятую как разделитель."
|
2990 |
|
2991 |
-
#: settings.php:
|
2992 |
msgid "Prohibited usernames"
|
2993 |
msgstr "Запрещеные имена пользователей"
|
2994 |
|
2995 |
-
#: settings.php:
|
2996 |
msgid "Disable REST API"
|
2997 |
msgstr "Отключить REST API"
|
2998 |
|
2999 |
-
#: settings.php:
|
3000 |
msgid "Block access to the RSS, Atom and RDF feeds"
|
3001 |
msgstr "Закрыть доступ к RSS, Atom и RDF лентам"
|
3002 |
|
3003 |
-
#: settings.php:
|
3004 |
msgid "Disable feeds"
|
3005 |
msgstr "Отключить ленты"
|
3006 |
|
3007 |
-
#: settings.php:
|
3008 |
msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
|
3009 |
msgstr "Закрыть доступ к функциям XML-RPC, включая уведомления и обратные ссылки"
|
3010 |
|
3011 |
-
#: settings.php:
|
3012 |
msgid "Disable XML-RPC"
|
3013 |
msgstr "Отключить XML-RPC"
|
3014 |
|
3015 |
-
#: settings.php:
|
3016 |
msgid "Block access to user pages like /?author=n"
|
3017 |
msgstr "Закрыть доступ к страницам авторов наподобие /?author=n"
|
3018 |
|
3019 |
-
#: settings.php:
|
3020 |
msgid "Stop user enumeration"
|
3021 |
msgstr "Заблокировать сбор имен"
|
3022 |
|
3023 |
-
#: settings.php:
|
3024 |
msgid "Hardening WordPress"
|
3025 |
msgstr "Усиление защиты WordPress"
|
3026 |
|
3027 |
-
#: settings.php:
|
3028 |
msgid "Write failed login attempts to the file"
|
3029 |
msgstr "Записывать попытки входа в файл"
|
3030 |
|
3031 |
-
#: settings.php:
|
3032 |
msgid "Use file"
|
3033 |
msgstr "Использовать файл"
|
3034 |
|
3035 |
-
#: settings.php:
|
3036 |
msgid "Retrieve extra WHOIS information for IP"
|
3037 |
msgstr "Получить дополнительную информацию об IP используя WHOIS"
|
3038 |
|
3039 |
-
#: settings.php:
|
3040 |
msgid "Drill down IP"
|
3041 |
msgstr "Изучать IP"
|
3042 |
|
3043 |
-
#: settings.php:
|
3044 |
-
#: settings.php:
|
3045 |
msgid "days"
|
3046 |
msgstr "дней"
|
3047 |
|
3048 |
-
#: settings.php:
|
3049 |
-
msgid "
|
3050 |
msgstr "разрешенное число писем с уведомлениями в час (0 - без ограничений)"
|
3051 |
|
3052 |
-
#: settings.php:
|
3053 |
msgid "Notification limit"
|
3054 |
msgstr "Ограничение уведомлений"
|
3055 |
|
3056 |
-
#: settings.php:
|
3057 |
-
msgid "if empty, the admin email %s will be used"
|
3058 |
-
msgstr "Если пусто, то будет использован адрес администратора %s"
|
3059 |
-
|
3060 |
-
#: settings.php:611 settings.php:654 settings.php:870
|
3061 |
msgid "Email Address"
|
3062 |
msgstr "Адрес email"
|
3063 |
|
3064 |
-
#: settings.php:
|
3065 |
msgid "Click to send test"
|
3066 |
msgstr "Нажмите, чтобы протестировать отправку"
|
3067 |
|
3068 |
-
#: settings.php:
|
3069 |
msgid "Send notification to admin email"
|
3070 |
msgstr "Отправить уведомление на адрес email администратора сайта"
|
3071 |
|
3072 |
-
#: settings.php:
|
3073 |
msgid "Duration"
|
3074 |
msgstr "Длительность"
|
3075 |
|
3076 |
-
#: settings.php:
|
3077 |
msgid "Threshold"
|
3078 |
msgstr "Порог"
|
3079 |
|
3080 |
-
#: settings.php:
|
3081 |
msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
|
3082 |
msgstr "Заблокировать доступ к wp-login.php и возвращать HTTP 404 Страница не найдена"
|
3083 |
|
3084 |
-
#: settings.php:
|
3085 |
msgid "Disable wp-login.php"
|
3086 |
msgstr "Доступ к wp-login.php"
|
3087 |
|
3088 |
-
#: settings.php:
|
3089 |
msgid "must not overlap with the existing pages or posts slug"
|
3090 |
msgstr "не должно совпадать с URL существующих страниц или записей"
|
3091 |
|
3092 |
-
#: settings.php:
|
3093 |
msgid "Custom login URL"
|
3094 |
msgstr "Адрес страницы авторизации"
|
3095 |
|
3096 |
-
#: settings.php:
|
3097 |
msgid "Custom login page"
|
3098 |
msgstr "Смена URL страницы авторизации"
|
3099 |
|
3100 |
-
#: settings.php:
|
3101 |
msgid "Immediately block IP after any request to wp-login.php"
|
3102 |
msgstr "Блокировать IP при любом запросе wp-login.php"
|
3103 |
|
3104 |
-
#: settings.php:
|
3105 |
msgid "Request wp-login.php"
|
3106 |
msgstr "Запрос wp-login.php"
|
3107 |
|
3108 |
-
#: settings.php:
|
3109 |
msgid "Disable automatic redirection to the login page when /wp-admin/ is requested by an unauthorized request"
|
3110 |
msgstr "Отключить автоматическую переадресацию при запросе /wp-admin/ неавторизованным пользователем"
|
3111 |
|
3112 |
-
#: settings.php:
|
3113 |
msgid "Immediately block IP when attempting to log in with a non-existing username"
|
3114 |
msgstr "Блокировать IP при попытке авторизации с логином несуществующего пользователя"
|
3115 |
|
3116 |
-
#: settings.php:
|
3117 |
msgid "Non-existing users"
|
3118 |
msgstr "Несуществующие пользователи"
|
3119 |
|
3120 |
-
#: settings.php:
|
3121 |
msgid "Always block entire subnet Class C of intruders IP"
|
3122 |
msgstr "Всегда блокировать подсеть класса С вместо IP адреса"
|
3123 |
|
3124 |
-
#: settings.php:
|
3125 |
msgid "Block subnet"
|
3126 |
msgstr "Блокировка подсети"
|
3127 |
|
3128 |
-
#: settings.php:
|
3129 |
msgid "Proactive security rules"
|
3130 |
msgstr "Проактивные правила безопасности"
|
3131 |
|
3132 |
-
#: settings.php:
|
3133 |
msgid "My site is behind a reverse proxy"
|
3134 |
msgstr "Мой сайт подключен к сети через прокси-сервер"
|
3135 |
|
3136 |
-
#: settings.php:
|
3137 |
msgid "Site connection"
|
3138 |
msgstr "Подключение к сети"
|
3139 |
|
3140 |
-
#: settings.php:
|
3141 |
msgid "Notifications"
|
3142 |
msgstr "Уведомления"
|
3143 |
|
3144 |
-
#: settings.php:
|
3145 |
msgid "Aggressive lockout"
|
3146 |
msgstr "Ужесточение"
|
3147 |
|
3148 |
-
#: settings.php:
|
3149 |
msgid "minutes"
|
3150 |
msgstr "минут"
|
3151 |
|
3152 |
-
#: settings.php:
|
3153 |
msgid "Lockout duration"
|
3154 |
msgstr "Длительность блокировки"
|
3155 |
|
3156 |
-
#: settings.php:
|
3157 |
-
msgid "Attempts"
|
3158 |
-
msgstr "Попытки"
|
3159 |
-
|
3160 |
-
#: settings.php:130
|
3161 |
msgid "Limit login attempts"
|
3162 |
msgstr "Ограничение числа попыток авторизации"
|
3163 |
|
3164 |
-
#: dashboard.php:
|
3165 |
msgid "Abuse email:"
|
3166 |
msgstr "Адрес email для жалоб:"
|
3167 |
|
3168 |
-
#: settings.php:
|
3169 |
msgid "New version is available"
|
3170 |
msgstr "Доступна новая версия"
|
3171 |
|
3172 |
-
#: dashboard.php:
|
3173 |
msgid "View Activity"
|
3174 |
msgstr "Что происходит?"
|
3175 |
|
3176 |
-
#: dashboard.php:
|
3177 |
msgid "Deactivate"
|
3178 |
msgstr "Деактивировать"
|
3179 |
|
3180 |
-
#: dashboard.php:
|
3181 |
msgid "Attention! Citadel mode is now active. Nobody is able to log in."
|
3182 |
msgstr "Внимание! Режим Цитадель активен. Авторизация на сайте заблокирована."
|
3183 |
|
3184 |
-
#: dashboard.php:
|
3185 |
msgid "doesn't affect Custom login URL and Access Lists"
|
3186 |
msgstr "не затронет настройки URL страницы авторизации и списки доступа"
|
3187 |
|
3188 |
-
#: dashboard.php:
|
3189 |
-
#: cerber-scanner.php:
|
3190 |
msgid "Are you sure?"
|
3191 |
msgstr "Вы уверены?"
|
3192 |
|
3193 |
-
#: dashboard.php:
|
3194 |
msgid "Load default settings"
|
3195 |
msgstr "Загрузить настройки"
|
3196 |
|
3197 |
-
#: dashboard.php:
|
3198 |
msgid "You can easily load default recommended settings using button below"
|
3199 |
msgstr "Вы можете загрузить рекомендованные настройки с помощью всего одной кнопки"
|
3200 |
|
3201 |
-
#: dashboard.php:
|
3202 |
msgid "Confused about some settings?"
|
3203 |
msgstr "Сомневаетесь какие настройки оптимальны?"
|
3204 |
|
3205 |
-
#: dashboard.php:
|
3206 |
msgid "Lockouts"
|
3207 |
msgstr "Блокировки"
|
3208 |
|
3209 |
-
#: settings.php:
|
3210 |
msgid "Citadel mode"
|
3211 |
msgstr "Режим Цитадель"
|
3212 |
|
3213 |
-
#: dashboard.php:
|
3214 |
msgid "entry"
|
3215 |
msgid_plural "entries"
|
3216 |
msgstr[0] "элемент"
|
3217 |
msgstr[1] "элемента"
|
3218 |
msgstr[2] "элементов"
|
3219 |
|
3220 |
-
#: dashboard.php:
|
3221 |
msgid "Last lockout"
|
3222 |
msgstr "Последняя блокировка"
|
3223 |
|
3224 |
-
#: dashboard.php:
|
3225 |
msgid "Lockouts at the moment"
|
3226 |
msgstr "Сейчас заблокировано"
|
3227 |
|
3228 |
-
#: dashboard.php:
|
3229 |
msgid "lockouts"
|
3230 |
msgstr "блокировок"
|
3231 |
|
3232 |
-
#: dashboard.php:
|
3233 |
msgid "view all"
|
3234 |
msgstr "просмотреть все"
|
3235 |
|
3236 |
-
#: dashboard.php:
|
3237 |
msgid "in 24 hours"
|
3238 |
msgstr "за 24 часа"
|
3239 |
|
3240 |
-
#: dashboard.php:
|
3241 |
msgid "failed attempts"
|
3242 |
msgstr "ошибок авторизации"
|
3243 |
|
3244 |
-
#: dashboard.php:
|
3245 |
msgid "disabled"
|
3246 |
msgstr "отключен"
|
3247 |
|
3248 |
-
#: dashboard.php:
|
3249 |
msgid "not active"
|
3250 |
msgstr "неактивен"
|
3251 |
|
3252 |
-
#: dashboard.php:
|
3253 |
msgid "deactivate"
|
3254 |
msgstr "деактивировать"
|
3255 |
|
3256 |
-
#: dashboard.php:
|
3257 |
msgid "active"
|
3258 |
msgstr "активен"
|
3259 |
|
3260 |
-
#: dashboard.php:
|
3261 |
msgid "Cerber Quick View"
|
3262 |
msgstr "Сводка от Cerber"
|
3263 |
|
@@ -3273,7 +3358,7 @@ msgstr "Все настройки успешно загружены"
|
|
3273 |
msgid "No file was uploaded or file is corrupted"
|
3274 |
msgstr "Файл не был загружен или имеет неверный формат"
|
3275 |
|
3276 |
-
#: cerber-tools.php:48 cerber-scanner.php:
|
3277 |
msgid "Upload file"
|
3278 |
msgstr "Загрузить файл"
|
3279 |
|
@@ -3281,7 +3366,7 @@ msgstr "Загрузить файл"
|
|
3281 |
msgid "What do you want to import?"
|
3282 |
msgstr "Что вы хотите импортировать?"
|
3283 |
|
3284 |
-
#: cerber-tools.php:43 cerber-scanner.php:
|
3285 |
msgid "Maximum upload file size: %s."
|
3286 |
msgstr "Максимальный размер загружаемого файла: %s."
|
3287 |
|
@@ -3301,12 +3386,12 @@ msgstr "Импорт настроек из файла"
|
|
3301 |
msgid "Download file"
|
3302 |
msgstr "Скачать файл"
|
3303 |
|
3304 |
-
#: cerber-tools.php:38 cerber-tools.php:47 dashboard.php:
|
3305 |
msgid "Access Lists"
|
3306 |
msgstr "Списки доступа"
|
3307 |
|
3308 |
-
#: cerber-tools.php:37 cerber-tools.php:46 dashboard.php:
|
3309 |
-
#: dashboard.php:
|
3310 |
msgid "Settings"
|
3311 |
msgstr "Настройки"
|
3312 |
|
@@ -3322,179 +3407,179 @@ msgstr "Когда вы нажмете на кнопку, то получите
|
|
3322 |
msgid "Export settings to the file"
|
3323 |
msgstr "Экспорт настроек в файл"
|
3324 |
|
3325 |
-
#: dashboard.php:
|
3326 |
-
#: common.php:
|
3327 |
msgid "Never"
|
3328 |
msgstr "Никогда"
|
3329 |
|
3330 |
-
#: common.php:
|
3331 |
msgid "User created"
|
3332 |
msgstr "Пользователь создан"
|
3333 |
|
3334 |
-
#: common.php:
|
3335 |
msgid "User registered"
|
3336 |
msgstr "Пользователь зарегистрирован"
|
3337 |
|
3338 |
-
#: common.php:
|
3339 |
msgid "Logged in"
|
3340 |
msgstr "Вход"
|
3341 |
|
3342 |
-
#: common.php:
|
3343 |
msgid "Logged out"
|
3344 |
msgstr "Выход"
|
3345 |
|
3346 |
-
#: common.php:
|
3347 |
msgid "Login failed"
|
3348 |
msgstr "Ошибка авторизации"
|
3349 |
|
3350 |
-
#: dashboard.php:
|
3351 |
msgid "IP blocked"
|
3352 |
msgstr "IP заблокирован"
|
3353 |
|
3354 |
-
#: common.php:
|
3355 |
msgid "Citadel activated!"
|
3356 |
msgstr "Режим Цитадель активирован!"
|
3357 |
|
3358 |
-
#: dashboard.php:
|
3359 |
msgid "Locked out"
|
3360 |
msgstr "Заблокировано"
|
3361 |
|
3362 |
-
#: common.php:
|
3363 |
msgid "Password changed"
|
3364 |
msgstr "Пароль изменен"
|
3365 |
|
3366 |
-
#: common.php:
|
3367 |
msgid "IP blacklisted"
|
3368 |
msgstr "IP в черном списке"
|
3369 |
|
3370 |
-
#: common.php:
|
3371 |
msgid "reCAPTCHA verification failed"
|
3372 |
msgstr "проверка reCAPTCHA неудачна"
|
3373 |
|
3374 |
-
#: common.php:
|
3375 |
msgid "reCAPTCHA settings are incorrect"
|
3376 |
msgstr "настройки reCAPTCHA неверны"
|
3377 |
|
3378 |
-
#: common.php:
|
3379 |
msgid "Attempt to access prohibited URL"
|
3380 |
msgstr "Попытка доступа к запрещенному URL"
|
3381 |
|
3382 |
-
#: common.php:
|
3383 |
msgid "Attempt to log in with non-existing username"
|
3384 |
msgstr "Попытка войти с несуществующим именем пользователя"
|
3385 |
|
3386 |
-
#: common.php:
|
3387 |
msgid "Attempt to log in with prohibited username"
|
3388 |
msgstr "Попытка входа с запрещенным именем"
|
3389 |
|
3390 |
-
#: dashboard.php:
|
3391 |
msgid "Remove"
|
3392 |
msgstr "Удалить"
|
3393 |
|
3394 |
-
#: cerber-load.php:
|
3395 |
msgid "IP"
|
3396 |
msgstr "IP"
|
3397 |
|
3398 |
-
#: dashboard.php:
|
3399 |
msgid "Hostname"
|
3400 |
msgstr "Имя узла"
|
3401 |
|
3402 |
-
#: dashboard.php:
|
3403 |
msgid "Expires"
|
3404 |
msgstr "Истекает"
|
3405 |
|
3406 |
-
#: cerber-load.php:
|
3407 |
msgid "Reason"
|
3408 |
msgstr "Причина"
|
3409 |
|
3410 |
-
#: dashboard.php:
|
3411 |
-
#: cerber-scanner.php:
|
3412 |
msgid "Action"
|
3413 |
msgstr "Действие"
|
3414 |
|
3415 |
-
#: dashboard.php:
|
3416 |
msgid "Showing last %d records from %d"
|
3417 |
msgstr "Отображены последние %d строк из %d"
|
3418 |
|
3419 |
-
#: dashboard.php:
|
3420 |
msgid "Hint"
|
3421 |
msgstr "Подсказка"
|
3422 |
|
3423 |
-
#: dashboard.php:
|
3424 |
msgid "To view activity, click on the IP"
|
3425 |
msgstr "Чтобы увидеть активность, нажмите на адрес IP"
|
3426 |
|
3427 |
-
#: dashboard.php:
|
3428 |
msgid "No lockouts at the moment. The sky is clear."
|
3429 |
msgstr "Блокировок нет. Все в порядке."
|
3430 |
|
3431 |
-
#: cerber-load.php:
|
3432 |
-
#: dashboard.php:
|
3433 |
msgid "White IP Access List"
|
3434 |
msgstr "Белый список доступа по IP"
|
3435 |
|
3436 |
-
#: dashboard.php:
|
3437 |
-
#: dashboard.php:
|
3438 |
msgid "Black IP Access List"
|
3439 |
msgstr "Черный список доступа по IP"
|
3440 |
|
3441 |
-
#: dashboard.php:
|
3442 |
msgid "Your IP"
|
3443 |
msgstr "Ваш адрес IP"
|
3444 |
|
3445 |
-
#: dashboard.php:
|
3446 |
msgid "Check for activities"
|
3447 |
msgstr "Проверить активность"
|
3448 |
|
3449 |
-
#: dashboard.php:
|
3450 |
msgid "List is empty"
|
3451 |
msgstr "Список пуст"
|
3452 |
|
3453 |
-
#: dashboard.php:
|
3454 |
msgid "unknown"
|
3455 |
msgstr "неизвестно"
|
3456 |
|
3457 |
-
#: dashboard.php:
|
3458 |
msgid "Lockout for %s was removed"
|
3459 |
msgstr "Удалена блокировка для %s"
|
3460 |
|
3461 |
-
#: dashboard.php:
|
3462 |
msgid "Settings saved"
|
3463 |
msgstr "Настройки сохранены."
|
3464 |
|
3465 |
-
#: dashboard.php:
|
3466 |
msgid "Date"
|
3467 |
msgstr "Дата"
|
3468 |
|
3469 |
-
#: settings.php:
|
3470 |
-
#: dashboard.php:
|
3471 |
msgid "Activity"
|
3472 |
msgstr "Активность"
|
3473 |
|
3474 |
-
#: dashboard.php:
|
3475 |
msgid "No activity has been logged."
|
3476 |
msgstr "Ни одного события не зафиксировано."
|
3477 |
|
3478 |
-
#: cerber-load.php:
|
3479 |
msgid "Username used"
|
3480 |
msgstr "Использован логин"
|
3481 |
|
3482 |
-
#: dashboard.php:
|
3483 |
msgid "Local User"
|
3484 |
msgstr "Пользователь"
|
3485 |
|
3486 |
-
#: dashboard.php:
|
3487 |
msgid "Add IP to the Black List"
|
3488 |
msgstr "Добавить IP в черный список"
|
3489 |
|
3490 |
-
#: dashboard.php:
|
3491 |
msgid "Comments"
|
3492 |
msgstr "Комментарии"
|
3493 |
|
3494 |
-
#: dashboard.php:
|
3495 |
msgid "Last login"
|
3496 |
msgstr "Последний вход"
|
3497 |
|
3498 |
-
#: settings.php:
|
3499 |
msgid "by date of registration"
|
3500 |
msgstr "по дате регистрации"
|
2 |
# This file is distributed under the same license as the Plugins - Cerber Security, Antispam & Malware Scan - Stable (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"PO-Revision-Date: 2020-04-01 14:54:17+0000\n"
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
"Language: ru\n"
|
12 |
"Project-Id-Version: Plugins - Cerber Security, Antispam & Malware Scan - Stable (latest release)\n"
|
13 |
|
14 |
+
#: common.php:1425
|
15 |
+
msgid "Multiple erroneous requests"
|
16 |
+
msgstr "Множественные ошибочные запросы"
|
17 |
+
|
18 |
+
#: nexus/cerber-nexus-slave.php:451
|
19 |
+
msgid "Settings updated"
|
20 |
+
msgstr "Настройки обновлены"
|
21 |
+
|
22 |
+
#: dashboard.php:1152
|
23 |
+
msgid "Search in URL"
|
24 |
+
msgstr "Поиск URL"
|
25 |
+
|
26 |
+
#: dashboard.php:1151
|
27 |
+
msgid "Request ID"
|
28 |
+
msgstr "ID запроса"
|
29 |
+
|
30 |
+
#: admin/cerber-settings.php:353
|
31 |
+
msgid "%s registrations are allowed within %s minutes from one IP address"
|
32 |
+
msgstr "Допустимо %s регистраций в течении %s минут с одного IP-адреса"
|
33 |
+
|
34 |
+
#: admin/cerber-settings.php:347
|
35 |
+
msgid "%s retries are allowed within %s minutes"
|
36 |
+
msgstr "Допустимо %s попыток в течении %s минут"
|
37 |
+
|
38 |
+
#: cerber-addons.php:289 dashboard.php:79
|
39 |
+
msgid "Add-ons"
|
40 |
+
msgstr "Дополнения"
|
41 |
+
|
42 |
+
#: settings.php:1040
|
43 |
+
msgid "How the plugin processes comments submitted through the standard comment form"
|
44 |
+
msgstr "То, как плагин обрабатывает комментарии через стандартную форму комментариев"
|
45 |
+
|
46 |
+
#: settings.php:1016
|
47 |
+
msgid "These settings enable you to fine-tune the behavior of anti-spam algorithms and avoid false positives"
|
48 |
+
msgstr "Эти настройки позволяют тонко настроить поведение алгоритмов защиты от спама и избежать ложных срабатываний"
|
49 |
+
|
50 |
+
#: settings.php:994
|
51 |
+
msgid "Spam protection for comment, registration and contact forms on a website"
|
52 |
+
msgstr "Антиспам защита для комментариев, форм регистрации и контактов на сайте"
|
53 |
+
|
54 |
+
#: settings.php:927
|
55 |
+
msgid "These policies are automatically enforced at the end of every scheduled scan based on its results. All affected files are moved to the quarantine"
|
56 |
+
msgstr "Эти правила автоматически применяются в конце каждой запланированной проверки, в зависимости от её результатов. Все затронутые файлы перемещаются в карантин"
|
57 |
+
|
58 |
+
#: settings.php:885
|
59 |
+
msgid "Configure what issues to include in the email report and the condition for sending reports"
|
60 |
+
msgstr "Настройте то, о чем хотите получать отчёт, а также условия для отправки отчёта"
|
61 |
+
|
62 |
+
#: settings.php:868
|
63 |
+
msgid "The scanner automatically scans the website, removes malware and sends email reports with the results of a scan"
|
64 |
+
msgstr "Сканер автоматически проверяет сайт, удаляет вредоносный код и посылает отчет по email с результатами сканирования"
|
65 |
+
|
66 |
+
#: settings.php:832 settings.php:841
|
67 |
+
msgid "All files"
|
68 |
+
msgstr "Все файлы"
|
69 |
+
|
70 |
+
#: settings.php:831 settings.php:840
|
71 |
+
msgid "Executable files"
|
72 |
+
msgstr "Исполняемые файлы"
|
73 |
+
|
74 |
+
#: settings.php:802
|
75 |
+
msgid "The scanner monitors file changes, verifies the integrity of WordPress, plugins, and themes, and detects malware"
|
76 |
+
msgstr "Сканер следит за изменениями файлов, проверяет целостность файлов WordPress, плагинов, тем. Определяет вредоносный код."
|
77 |
+
|
78 |
+
#: settings.php:738
|
79 |
+
msgid "Enable optional traffic logging if you need to monitor suspicious and malicious activity or solve security issues"
|
80 |
+
msgstr "Включите дополнительную запись трафика в журнал, если вам требуется отслеживать подозрительную или вредоносную активность или решить проблемы с безопасностью"
|
81 |
+
|
82 |
+
#: settings.php:737
|
83 |
+
msgid "Traffic Logging"
|
84 |
+
msgstr "Журналирование трафика"
|
85 |
+
|
86 |
+
#: settings.php:718
|
87 |
+
msgid "Block IP addresses that send excessive requests for non-existing pages or scan website for security breaches"
|
88 |
+
msgstr "Блокировка IP-адресов посылающих избыточные запросы на несуществующие страницы или проверяющих сайт на уязвимости в безопасности"
|
89 |
+
|
90 |
+
#: settings.php:689
|
91 |
+
msgid "Traffic Inspector is a context-aware web application firewall (WAF) that protects your website by recognizing and denying malicious HTTP requests"
|
92 |
+
msgstr "Инспектор трафика - фаерволл уровня веб-приложения, защищающий ваш сайт распознавая и блокируя вредоносные HTTP запросы"
|
93 |
+
|
94 |
+
#: settings.php:677 settings.php:916
|
95 |
+
msgid "if empty, the email addresses from the notification settings will be used"
|
96 |
+
msgstr "Если не задано, то будет использован email администратора из настроек уведомлений"
|
97 |
+
|
98 |
+
#: settings.php:664
|
99 |
+
msgid "Weekly report is a summary of all activities and suspicious events occurred during the last seven days"
|
100 |
+
msgstr "Еженедельный отчет представляет собой обобщение активности и подозрительных событий за последние 7 дней."
|
101 |
+
|
102 |
+
#: settings.php:649
|
103 |
+
msgid "Get notified instantly with mobile and desktop notifications"
|
104 |
+
msgstr "Получайте немедленные уведомления на мобильные и стационарные устройства"
|
105 |
+
|
106 |
+
#: settings.php:633
|
107 |
+
msgid "if empty, the website administrator email %s will be used"
|
108 |
+
msgstr "Если не задано, то будет использован email администратора %s"
|
109 |
+
|
110 |
+
#: settings.php:575
|
111 |
+
msgid "These features help your organization to be in compliance with personal data protection laws"
|
112 |
+
msgstr "Эти возможности позволяют вашему сайту соответствовать нормативам защиты персональных данных"
|
113 |
+
|
114 |
+
#: settings.php:360
|
115 |
+
msgid "Restrict or completely block access to the WordPress REST API according to your needs"
|
116 |
+
msgstr "Ограничение или полная блокировка WP REST-API"
|
117 |
+
|
118 |
+
#: settings.php:142
|
119 |
+
msgid "Limit"
|
120 |
+
msgstr "Предел"
|
121 |
+
|
122 |
+
#: settings.php:824
|
123 |
+
msgid "Specify directories to exclude from scanning. One directory per line."
|
124 |
+
msgstr "Задайте папки для исключения при сканировании. Одна папка на строку."
|
125 |
+
|
126 |
#: cerber-users.php:942
|
127 |
msgid "WP Cerber Personal Data Eraser"
|
128 |
msgstr "WP Cerber удаление персональных данных"
|
131 |
msgid "Admin Note"
|
132 |
msgstr "Заметка администратора"
|
133 |
|
134 |
+
#: settings.php:611
|
135 |
msgid "Cookies"
|
136 |
msgstr "Куки"
|
137 |
|
138 |
+
#: settings.php:610
|
139 |
msgid "Form fields data"
|
140 |
msgstr "Данные полей формы"
|
141 |
|
142 |
+
#: settings.php:609
|
143 |
msgid "Request URL"
|
144 |
msgstr "URL запроса"
|
145 |
|
146 |
+
#: settings.php:606
|
147 |
msgid "Include traffic log entries"
|
148 |
msgstr "Включить записи журнала трафика"
|
149 |
|
150 |
+
#: settings.php:600
|
151 |
msgid "Include activity log events"
|
152 |
msgstr "Включить события журнала активности"
|
153 |
|
154 |
+
#: settings.php:593
|
155 |
msgid "Enable data export"
|
156 |
msgstr "Включить экспорт данных"
|
157 |
|
158 |
+
#: settings.php:587
|
159 |
msgid "Delete user sessions data when user data is erased"
|
160 |
msgstr "Удалить пользовательские сессии при уничтожении данных пользователя"
|
161 |
|
162 |
+
#: settings.php:586
|
163 |
msgid "Terminate user sessions"
|
164 |
msgstr "Завершение пользовательских сессий"
|
165 |
|
166 |
+
#: settings.php:579
|
167 |
msgid "Enable data erase"
|
168 |
msgstr "Включить уничтожение данных"
|
169 |
|
170 |
+
#: settings.php:573
|
171 |
msgid "Personal Data"
|
172 |
msgstr "Персональные данные"
|
173 |
|
174 |
+
#: settings.php:275 settings.php:793
|
175 |
msgid "Keep log records of logged in users for"
|
176 |
msgstr "Сохранять записи журнала для авторизованных пользователей"
|
177 |
|
178 |
+
#: settings.php:269 settings.php:788
|
179 |
msgid "Keep log records of not logged in visitors for"
|
180 |
msgstr "Сохранять записи журнала для неавторизованных пользователей"
|
181 |
|
182 |
+
#: settings.php:237
|
183 |
msgid "Enable authentication log monitoring"
|
184 |
msgstr "Включить наблюдение над журналом авторизации"
|
185 |
|
186 |
+
#: settings.php:1265
|
187 |
msgid "Any activity"
|
188 |
msgstr "Любая активность"
|
189 |
|
190 |
+
#: common.php:1341
|
191 |
msgid "User metadata update denied"
|
192 |
msgstr "Изменение метаданных пользователя запрещено"
|
193 |
|
194 |
+
#: common.php:1338
|
195 |
msgid "User row update denied"
|
196 |
msgstr "Изменение пользователя запрещено"
|
197 |
|
198 |
+
#: common.php:1302
|
199 |
msgid "IP subnet blocked"
|
200 |
msgstr "Подсеть IP заблокирована"
|
201 |
|
203 |
msgid "A database error occurred while importing access list entries"
|
204 |
msgstr "Возникла ошибка базы данных при импорте списка адресов"
|
205 |
|
206 |
+
#: dashboard.php:4875
|
207 |
msgid "The IP address you are trying to add is already in the list"
|
208 |
msgstr "Этот IP адрес уже присутствует в списке"
|
209 |
|
210 |
+
#: dashboard.php:315
|
211 |
msgid "Add Entry"
|
212 |
msgstr "Добавить запись"
|
213 |
|
214 |
+
#: dashboard.php:314
|
215 |
msgid "IP address, range, wildcard, or CIDR"
|
216 |
msgstr "IP адрес, диапазон, маска или CIDR"
|
217 |
|
227 |
msgid "All countries"
|
228 |
msgstr "Все страны"
|
229 |
|
230 |
+
#: nexus/cerber-nexus-master.php:66
|
231 |
msgid "Show homepage in the Website column"
|
232 |
msgstr "Показывать домашнюю страницу в столбце вебсайта"
|
233 |
|
234 |
+
#: nexus/cerber-nexus-master.php:68
|
235 |
msgid "Hide server IP address"
|
236 |
msgstr "Спрятать IP адрес сервера"
|
237 |
|
238 |
+
#: settings.php:423 settings.php:451 settings.php:480
|
239 |
msgid "Do not apply these policies to the IP addresses in the White IP Access List"
|
240 |
msgstr "Не применять эти политики к IP адресам из белого списка"
|
241 |
|
243 |
msgid "Server"
|
244 |
msgstr "Сервер"
|
245 |
|
246 |
+
#: dashboard.php:4641
|
247 |
msgid "Site Settings"
|
248 |
msgstr "Настройки сайта"
|
249 |
|
250 |
+
#: dashboard.php:4640
|
251 |
msgid "Accounts & Roles"
|
252 |
msgstr "Учетные записи и роли"
|
253 |
|
254 |
+
#: dashboard.php:4638
|
255 |
msgid "Data Shield Policies"
|
256 |
msgstr "Политики защиты данных"
|
257 |
|
259 |
msgid "Data Shield"
|
260 |
msgstr "Защита данных"
|
261 |
|
262 |
+
#: settings.php:474
|
263 |
msgid "Protected settings"
|
264 |
msgstr "Защищенные настройки"
|
265 |
|
266 |
+
#: settings.php:469
|
267 |
msgid "Users with these roles are permitted to change protected settings"
|
268 |
msgstr "Пользователи с этими ролями могут изменять защищенные настройки"
|
269 |
|
270 |
+
#: settings.php:463
|
271 |
msgid "Restrict updating site settings with the following policies"
|
272 |
msgstr "Ограничить изменение настроек сайта следующими правилами"
|
273 |
|
274 |
+
#: settings.php:459
|
275 |
msgid "Protect site settings"
|
276 |
msgstr "Защита настроек сайта"
|
277 |
|
278 |
+
#: settings.php:446
|
279 |
msgid "Users with these roles are permitted to change role capabilities"
|
280 |
msgstr "Пользователи с этими ролями могут изменять возможности ролей"
|
281 |
|
282 |
+
#: settings.php:441
|
283 |
msgid "Users with these roles are permitted to add new roles"
|
284 |
msgstr "Пользователи с этими ролями могут добавлять новые роли"
|
285 |
|
286 |
+
#: settings.php:435
|
287 |
msgid "Restrict roles and capabilities management with the following policies"
|
288 |
msgstr "Ограничить управление ролями и возможностями следующими правилами"
|
289 |
|
290 |
+
#: settings.php:431
|
291 |
msgid "Protect user roles"
|
292 |
msgstr "Защита ролей пользователей"
|
293 |
|
295 |
msgid "Cerber Data Shield Policies"
|
296 |
msgstr "Cerber политики защиты данных"
|
297 |
|
298 |
+
#: settings.php:418
|
299 |
msgid "Users with these roles are permitted to change sensitive user data"
|
300 |
msgstr "Пользователи с этими ролями могут изменять важные пользовательские данные"
|
301 |
|
302 |
+
#: settings.php:413
|
303 |
msgid "Users with these roles are permitted to create new accounts"
|
304 |
msgstr "Пользователи с этими ролями могут создавать новые учетные записи"
|
305 |
|
306 |
+
#: settings.php:407
|
307 |
msgid "User registrations are limited to these roles"
|
308 |
msgstr "Регистрация ограничена следующими ролями"
|
309 |
|
310 |
+
#: settings.php:401
|
311 |
msgid "Restrict user account creation and user management with the following policies"
|
312 |
msgstr "Ограничить создание учетных записей и управление пользователями следующими правилами"
|
313 |
|
314 |
+
#: settings.php:396
|
315 |
msgid "Protect user accounts"
|
316 |
msgstr "Защита учетных записей пользователей"
|
317 |
|
318 |
+
#: common.php:1384
|
319 |
msgid "Incorrect password"
|
320 |
msgstr "Неверный пароль"
|
321 |
|
322 |
+
#: common.php:1383
|
323 |
msgid "Invalid user"
|
324 |
msgstr "Неверный пользователь"
|
325 |
|
326 |
+
#: common.php:1381
|
327 |
msgid "Permission denied"
|
328 |
msgstr "Доступ запрещен"
|
329 |
|
330 |
+
#: common.php:1340
|
331 |
msgid "Setting update denied"
|
332 |
msgstr "Изменение настройки запрещено"
|
333 |
|
334 |
+
#: common.php:1339
|
335 |
msgid "Role update denied"
|
336 |
msgstr "Изменение роли запрещено"
|
337 |
|
338 |
+
#: common.php:1337
|
339 |
msgid "User creation denied"
|
340 |
msgstr "Создание пользователя запрещено"
|
341 |
|
410 |
msgid "The code is valid for %s minutes."
|
411 |
msgstr "Этот код действителен в течении %s минут."
|
412 |
|
413 |
+
#: dashboard.php:4558
|
414 |
msgid "Sessions"
|
415 |
msgstr "Сессии"
|
416 |
|
417 |
+
#: dashboard.php:3401
|
418 |
msgid "All Users"
|
419 |
msgstr "Все пользователи"
|
420 |
|
421 |
+
#: dashboard.php:3289
|
422 |
msgid "Any country is permitted"
|
423 |
msgstr "Разрешены все страны"
|
424 |
|
425 |
+
#: dashboard.php:3207
|
426 |
msgid "Role-based rules are configured"
|
427 |
msgstr "Правила на основе ролей настроены"
|
428 |
|
429 |
+
#: dashboard.php:1734
|
430 |
msgid "user"
|
431 |
msgid_plural "users"
|
432 |
msgstr[0] "пользователь"
|
433 |
msgstr[1] "пользователя"
|
434 |
msgstr[2] "пользователей"
|
435 |
|
436 |
+
#: dashboard.php:840 dashboard.php:1085
|
437 |
msgid "Username"
|
438 |
msgstr "Имя пользователя"
|
439 |
|
440 |
+
#: dashboard.php:833 dashboard.php:1079 dashboard.php:3976 cerber-users.php:973
|
441 |
msgid "IP Address"
|
442 |
msgstr "IP-адрес"
|
443 |
|
444 |
+
#: dashboard.php:342
|
445 |
msgid "IP address %s has been added to Black IP Access List"
|
446 |
msgstr "IP адрес %s был добавлен в черный список доступа по IP"
|
447 |
|
448 |
+
#: dashboard.php:345
|
449 |
msgid "IP address %s has been added to White IP Access List"
|
450 |
msgstr "IP адрес %s был добавлен в белый список доступа по IP"
|
451 |
|
452 |
+
#: dashboard.php:2612
|
453 |
msgid "The alert has been deleted"
|
454 |
msgstr "Тревожное предупреждение удалено"
|
455 |
|
457 |
msgid "Cerber Tech Inc."
|
458 |
msgstr "Cerber Tech Inc."
|
459 |
|
460 |
+
#: common.php:1374
|
461 |
msgid "Site policy enforcement"
|
462 |
msgstr "Форсирование политики сайта"
|
463 |
|
464 |
+
#: common.php:1375
|
465 |
msgid "2FA code verified"
|
466 |
msgstr "2ФА код проверен"
|
467 |
|
468 |
+
#: common.php:1376
|
469 |
msgid "Initiated by the user"
|
470 |
msgstr "Начато пользователем"
|
471 |
|
472 |
+
#: common.php:1379
|
473 |
msgid "Email address is not permitted"
|
474 |
msgstr "Email адрес недопустим"
|
475 |
|
476 |
+
#: common.php:1762
|
477 |
msgid "A new version of %s is available. Please install it."
|
478 |
msgstr "Доступна новая версия %s, пожалуйста, установите её."
|
479 |
|
517 |
msgid "Redirect user after login"
|
518 |
msgstr "Перенаправить пользователя после входа"
|
519 |
|
520 |
+
#: settings.php:557 cerber-users.php:431
|
521 |
msgid "User session expiration time"
|
522 |
msgstr "Время до истечения сессии пользователя"
|
523 |
|
541 |
msgid "days interval"
|
542 |
msgstr "интервал в днях"
|
543 |
|
544 |
+
#: cerber-scanner.php:5403
|
545 |
msgid "Automatically deleted"
|
546 |
msgstr "Автоматически удалено"
|
547 |
|
548 |
+
#: cerber-scanner.php:5353
|
549 |
msgid "Recovered"
|
550 |
msgstr "Восстановлено"
|
551 |
|
552 |
+
#: cerber-scanner.php:5406
|
553 |
msgid "Automatically recovered"
|
554 |
msgstr "Автоматически восстановлено"
|
555 |
|
557 |
msgid "Cerber User Security"
|
558 |
msgstr "Безопасность пользователей"
|
559 |
|
560 |
+
#: dashboard.php:64 dashboard.php:4648
|
561 |
msgid "User Policies"
|
562 |
msgstr "Политики пользователей"
|
563 |
|
564 |
+
#: dashboard.php:942
|
565 |
msgid "New users"
|
566 |
msgstr "Новые пользователи"
|
567 |
|
568 |
+
#: dashboard.php:955
|
569 |
msgid "My activity"
|
570 |
msgstr "Моя активность"
|
571 |
|
572 |
+
#: dashboard.php:1784
|
573 |
msgid "A new version is available"
|
574 |
msgstr "Доступна новая версия"
|
575 |
|
576 |
+
#: dashboard.php:2571
|
577 |
msgid "Create Alert"
|
578 |
msgstr "Создать тревожное предупреждение"
|
579 |
|
580 |
+
#: dashboard.php:2575
|
581 |
msgid "Delete Alert"
|
582 |
msgstr "Удалить тревожное предупреждение"
|
583 |
|
584 |
+
#: dashboard.php:2608
|
585 |
msgid "The alert has been created"
|
586 |
msgstr "Тревожное предупреждение создано"
|
587 |
|
588 |
+
#: dashboard.php:4651
|
589 |
msgid "Global"
|
590 |
msgstr "Глобальная"
|
591 |
|
592 |
+
#: settings.php:204
|
593 |
msgid "Custom login URL may contain Latin alphanumeric characters, dashes and underscores only"
|
594 |
msgstr "Пользовательский URL входа может содержать только латинские буквы, цифры, тире и знак подчеркивания."
|
595 |
|
596 |
+
#: settings.php:216
|
597 |
msgid "Site-specific settings"
|
598 |
msgstr "Специфические настройки сайта"
|
599 |
|
600 |
+
#: settings.php:224
|
601 |
msgid "Prefix for plugin cookies"
|
602 |
msgstr "Префикс для куки плагинов"
|
603 |
|
604 |
+
#: settings.php:225
|
605 |
msgid "Prefix may contain only Latin alphanumeric characters and underscores"
|
606 |
msgstr "Префикс может содержать только латинские буквы, цифры и знак подчеркивания"
|
607 |
|
608 |
+
#: settings.php:532
|
609 |
msgid "Restrict email addresses"
|
610 |
msgstr "Ограничение адресов email"
|
611 |
|
612 |
+
#: settings.php:535
|
613 |
msgid "No restrictions"
|
614 |
msgstr "Без ограничений"
|
615 |
|
616 |
+
#: settings.php:536
|
617 |
msgid "Deny all email addresses that match the following"
|
618 |
msgstr "Запретить все адреса email совпадающие со следующим"
|
619 |
|
620 |
+
#: settings.php:537
|
621 |
msgid "Permit only email addresses that match the following"
|
622 |
msgstr "Разрешить только адреса совпадающие со следующим"
|
623 |
|
624 |
+
#: settings.php:542
|
625 |
msgid "Specify email addresses, wildcards or REGEX patterns. Use comma to separate items."
|
626 |
msgstr "Укажите адреса email, маску или регулярные выражения. Элементы разделяются запятой."
|
627 |
|
628 |
+
#: settings.php:624
|
629 |
msgid "Lockout notifications"
|
630 |
msgstr "Уведомления о блокировках"
|
631 |
|
632 |
+
#: settings.php:656
|
633 |
msgid "Pushbullet device"
|
634 |
msgstr "Устройство Pushbullet"
|
635 |
|
636 |
+
#: settings.php:931
|
637 |
msgid "Delete unattended files"
|
638 |
msgstr "Удалить несопровождаемые файлы"
|
639 |
|
640 |
+
#: settings.php:957
|
641 |
msgid "Recover plugins files"
|
642 |
msgstr "Восстановление файлов плагинов"
|
643 |
|
644 |
+
#: settings.php:964
|
645 |
msgid "These files will never be deleted during automatic cleanup."
|
646 |
msgstr "Эти файлы никогда не будут удалены при автоматической очистке."
|
647 |
|
648 |
+
#: cerber-load.php:1574
|
649 |
msgid "Email address is not permitted."
|
650 |
msgstr "Email адрес недопустим."
|
651 |
|
652 |
+
#: cerber-load.php:1574
|
653 |
msgid "Please choose another one."
|
654 |
msgstr "Выберите другой."
|
655 |
|
656 |
+
#: cerber-load.php:4865
|
657 |
msgid "To delete the alert, click here"
|
658 |
msgstr "Для удаления этого тревожного предупреждения нажмите тут"
|
659 |
|
733 |
msgid "File recovered"
|
734 |
msgstr "Файл восстановлен"
|
735 |
|
736 |
+
#: cerber-scanner.php:3870
|
737 |
msgid "Recovering WordPress files"
|
738 |
msgstr "Восстановление файлов WordPress"
|
739 |
|
740 |
+
#: cerber-scanner.php:3872
|
741 |
msgid "Recovering plugins files"
|
742 |
msgstr "Восстановление файлов плагинов"
|
743 |
|
744 |
+
#: settings.php:950
|
745 |
msgid "Automatic recovery of modified and infected files"
|
746 |
msgstr "Автоматическое восстановление измененных и зараженных файлов"
|
747 |
|
748 |
+
#: settings.php:953
|
749 |
msgid "Recover WordPress files"
|
750 |
msgstr "Восстановление файлов WordPress"
|
751 |
|
773 |
msgid "Verify"
|
774 |
msgstr "Проверить"
|
775 |
|
776 |
+
#: dashboard.php:4650
|
777 |
msgid "Role-based"
|
778 |
msgstr "Основана на ролях"
|
779 |
|
781 |
msgid "Redirect user after logout"
|
782 |
msgstr "Перенаправить пользователя после выхода"
|
783 |
|
784 |
+
#: settings.php:653
|
785 |
msgid "Pushbullet access token"
|
786 |
msgstr "Токен доступа Pushbullet"
|
787 |
|
788 |
+
#: cerber-load.php:351
|
789 |
msgid "You are not allowed to log in"
|
790 |
msgstr "Вам не разрешено войти"
|
791 |
|
792 |
+
#: admin/cerber-settings.php:498
|
793 |
msgid "Select one or more roles"
|
794 |
msgstr "Выберите одну или несколько ролей"
|
795 |
|
796 |
+
#: settings.php:122
|
797 |
msgid "These restrictions do not apply to IP addresses in the White IP Access List"
|
798 |
msgstr "Эти ограничения не применяются к IP адресам из белого списка"
|
799 |
|
800 |
+
#: settings.php:671
|
801 |
msgid "Send reports on"
|
802 |
msgstr "Отправлять отчеты в"
|
803 |
|
804 |
+
#: settings.php:385
|
805 |
msgid "Allow these namespaces"
|
806 |
msgstr "Разрешить эти пространства имен"
|
807 |
|
808 |
+
#: settings.php:380
|
809 |
msgid "Allow REST API for these roles"
|
810 |
msgstr "Разрешить REST API для следующих ролей"
|
811 |
|
812 |
+
#: settings.php:365
|
813 |
msgid "Block access to users' data via REST API"
|
814 |
msgstr "Блокировать доступ к данным пользователей через REST API"
|
815 |
|
816 |
+
#: settings.php:359
|
817 |
msgid "Access to WordPress REST API"
|
818 |
msgstr "Доступ к WordPress REST API"
|
819 |
|
820 |
+
#: settings.php:1197
|
821 |
msgid "The full access mode requires the PRO version of WP Cerber"
|
822 |
msgstr "Полный доступ требует PRO версии WP Cerber"
|
823 |
|
824 |
+
#: settings.php:1177
|
825 |
msgid "Read-only mode"
|
826 |
msgstr "Доступ только для чтения"
|
827 |
|
828 |
+
#: settings.php:1176
|
829 |
msgid "Full access mode"
|
830 |
msgstr "Полный доступ"
|
831 |
|
832 |
+
#: settings.php:1173
|
833 |
msgid "Access to this website"
|
834 |
msgstr "Доступ к этому сайту"
|
835 |
|
836 |
+
#: settings.php:1167
|
837 |
msgid "Limit access by IP address"
|
838 |
msgstr "Ограничить доступ IP адресом"
|
839 |
|
840 |
+
#: settings.php:1144
|
841 |
msgid "Use master language"
|
842 |
msgstr "Использовать основной язык"
|
843 |
|
844 |
+
#: settings.php:1140
|
845 |
msgid "Add @ site to the page title"
|
846 |
msgstr "Добавить @ сайт к заголовку страницы"
|
847 |
|
848 |
+
#: settings.php:1136
|
849 |
msgid "Show \"Switched to\" notification"
|
850 |
msgstr "Показывать уведомление о переходах"
|
851 |
|
852 |
+
#: settings.php:1132
|
853 |
msgid "Return to the website list"
|
854 |
msgstr "Вернуться к списку сайтов"
|
855 |
|
856 |
+
#: settings.php:1124
|
857 |
msgid "Master settings"
|
858 |
msgstr "Настройки режима основного сайта"
|
859 |
|
860 |
+
#: settings.php:517
|
861 |
msgid "Redirect to URL"
|
862 |
msgstr "Перенаправление на URL"
|
863 |
|
864 |
+
#: settings.php:512 settings.php:1419
|
865 |
msgid "Only registered and logged in users are allowed to view this website"
|
866 |
msgstr "Только зарегистрированные и авторизованные пользователи могут просматривать этот сайт"
|
867 |
|
868 |
+
#: settings.php:502
|
869 |
msgid "Do not apply these policy to the IP addresses in the White IP Access List"
|
870 |
msgstr "Не применять эти политики к IP адресам из белого списка"
|
871 |
|
872 |
+
#: settings.php:495
|
873 |
msgid "Only registered and logged in website users have access to the website"
|
874 |
msgstr "Только зарегистрированные и авторизованные пользователи могут получить доступ к этому сайту"
|
875 |
|
876 |
+
#: settings.php:494
|
877 |
msgid "Authorized users only"
|
878 |
msgstr "Только для авторизованных пользователей"
|
879 |
|
880 |
+
#: dashboard.php:4723
|
881 |
msgid "Changelog"
|
882 |
msgstr "Журнал изменений"
|
883 |
|
884 |
+
#: dashboard.php:3264
|
885 |
msgid "Save all rules"
|
886 |
msgstr "Сохранить все правила"
|
887 |
|
888 |
+
#: dashboard.php:1147
|
889 |
msgid "Filter by registered user"
|
890 |
msgstr "Фильтровать по зарегистрированным пользователям"
|
891 |
|
892 |
+
#: dashboard.php:629
|
893 |
msgid "Default settings have been loaded"
|
894 |
msgstr "Загружены настройки по умолчанию"
|
895 |
|
896 |
+
#: nexus/cerber-nexus.php:269
|
897 |
msgid "Install the access token on the master website."
|
898 |
msgstr "Установите токен доступа на основном сайте."
|
899 |
|
900 |
+
#: nexus/cerber-nexus.php:268
|
901 |
msgid "This website is set as slave."
|
902 |
msgstr "Этот сайт установлен как зависимый."
|
903 |
|
904 |
+
#: nexus/cerber-nexus.php:265
|
905 |
msgid "Add slave websites by using access tokens."
|
906 |
msgstr "Добавьте зависимые сайты используя токены доступа."
|
907 |
|
908 |
+
#: nexus/cerber-nexus.php:264
|
909 |
msgid "This website is set as master."
|
910 |
msgstr "Этот сайт установлен основным."
|
911 |
|
912 |
+
#: nexus/cerber-nexus.php:149
|
913 |
msgid "Disable slave mode"
|
914 |
msgstr "Отключить зависимый режим"
|
915 |
|
916 |
+
#: nexus/cerber-nexus.php:149
|
917 |
msgid "To revoke the token and disable remote management, click here:"
|
918 |
msgstr "Для отзыва токена и отключения удаленного управления нажмите здесь:"
|
919 |
|
920 |
+
#: nexus/cerber-nexus.php:148
|
921 |
msgid "Are you sure? This permanently invalidates the token."
|
922 |
msgstr "Вы уверены? Это сделает токен недействительным."
|
923 |
|
924 |
+
#: nexus/cerber-nexus.php:146
|
925 |
msgid "The token is unique to this website. Keep it secret. Install the token on a master website to grant access to this website."
|
926 |
msgstr "Этот токен уникален для этого сайта. Сохраните его в тайне. Установите токен на основном сайте, чтобы предоставить доступ к этому сайту."
|
927 |
|
928 |
+
#: nexus/cerber-nexus.php:144
|
929 |
msgid "Secret Access Token"
|
930 |
msgstr "Секретный токен доступа"
|
931 |
|
932 |
+
#: nexus/cerber-nexus.php:98 nexus/cerber-nexus.php:102
|
933 |
msgid "Slave Settings"
|
934 |
msgstr "Настройки зависимого режима"
|
935 |
|
936 |
+
#: nexus/cerber-nexus.php:74
|
937 |
msgid "To proceed, please select the mode for this website"
|
938 |
msgstr "Для продолжения выберите режим для сайта"
|
939 |
|
940 |
+
#: nexus/cerber-nexus.php:69
|
941 |
msgid "Configure this website as a master to manage other website"
|
942 |
msgstr "Настроить этот сайт как основной для управления другими сайтами"
|
943 |
|
944 |
+
#: nexus/cerber-nexus.php:68
|
945 |
msgid "Enable master mode"
|
946 |
msgstr "Включить режим основного сайта"
|
947 |
|
948 |
+
#: nexus/cerber-nexus.php:65
|
949 |
msgid "This website can be managed from a master website"
|
950 |
msgstr "Этот сайт может управляться с основного сайта"
|
951 |
|
952 |
+
#: cerber-load.php:5136 nexus/cerber-nexus.php:64
|
953 |
msgid "Enable slave mode"
|
954 |
msgstr "Включить зависимый режим"
|
955 |
|
956 |
+
#: nexus/cerber-nexus-master.php:1400 nexus/cerber-nexus-master.php:1408
|
957 |
msgid "Active plugins and updates on"
|
958 |
msgstr "Активные плагины и обновления на"
|
959 |
|
960 |
+
#: nexus/cerber-nexus-master.php:1378
|
961 |
msgid "A newer version is available"
|
962 |
msgstr "Доступна новая версия"
|
963 |
|
964 |
+
#: nexus/cerber-nexus-master.php:1334
|
965 |
msgid "Are you sure you want to delete selected websites?"
|
966 |
msgstr "Вы точно хотите удалить выделенные сайты?"
|
967 |
|
968 |
+
#: nexus/cerber-nexus-master.php:1268
|
969 |
msgid "Visit Site"
|
970 |
msgstr "Посетить сайт"
|
971 |
|
972 |
+
#: nexus/cerber-nexus-master.php:1253 nexus/cerber-nexus.php:92
|
973 |
+
#: nexus/cerber-nexus.php:102
|
974 |
msgid "My Websites"
|
975 |
msgstr "Мои сайты"
|
976 |
|
977 |
+
#: nexus/cerber-nexus-master.php:1250
|
978 |
msgid "You are here:"
|
979 |
msgstr "Вы здесь:"
|
980 |
|
981 |
+
#: nexus/cerber-nexus-master.php:1034
|
982 |
msgid "You have switched back to the master website"
|
983 |
msgstr "Вы перешли назад на основной сайт"
|
984 |
|
985 |
+
#: nexus/cerber-nexus-master.php:1024
|
986 |
msgid "You have switched to %s"
|
987 |
msgstr "Вы перешли к %s"
|
988 |
|
989 |
+
#: nexus/cerber-nexus-master.php:692
|
990 |
msgid "Invalid response from the slave website"
|
991 |
msgstr "Неверный ответ с зависимого сайта"
|
992 |
|
993 |
+
#: nexus/cerber-nexus-master.php:448
|
994 |
msgid "Website has been deleted"
|
995 |
msgid_plural "%s websites have been deleted"
|
996 |
msgstr[0] "Сайт удален"
|
997 |
msgstr[1] "%s сайта удалено"
|
998 |
msgstr[2] "%s сайтов удалено"
|
999 |
|
1000 |
+
#: nexus/cerber-nexus-master.php:329
|
1001 |
msgid "Keep in mind: You have added the website that does not support SSL encryption. This may lead to data leakage."
|
1002 |
msgstr "Имейте ввиду: Вы добавили сайт, который не поддерживает SSL. Это может привести к утечке данных."
|
1003 |
|
1004 |
+
#: nexus/cerber-nexus-master.php:326
|
1005 |
msgid "Switch to the Dashboard"
|
1006 |
msgstr "Перейти в консоль"
|
1007 |
|
1008 |
+
#: nexus/cerber-nexus-master.php:325
|
1009 |
msgid "Click to edit"
|
1010 |
msgstr "Нажмите для редактирования"
|
1011 |
|
1012 |
+
#: nexus/cerber-nexus-master.php:324
|
1013 |
msgid "The website has been added successfully"
|
1014 |
msgstr "Сайт добавлен"
|
1015 |
|
1016 |
+
#: nexus/cerber-nexus-master.php:315
|
1017 |
msgid "The website you are trying to add is already in the list"
|
1018 |
msgstr "Добавляемый вами сайт уже присутствует в списке"
|
1019 |
|
1020 |
+
#: nexus/cerber-nexus-master.php:285
|
1021 |
msgid "Security access token is invalid"
|
1022 |
msgstr "Токен безопасного доступа не верен"
|
1023 |
|
1049 |
msgid "Website Owner"
|
1050 |
msgstr "Владелец сайта"
|
1051 |
|
1052 |
+
#: nexus/cerber-nexus-master.php:118
|
1053 |
msgid "Display as"
|
1054 |
msgstr "Отображать как"
|
1055 |
|
1056 |
+
#: nexus/cerber-nexus-master.php:113
|
1057 |
msgid "Website URL"
|
1058 |
msgstr "URL сайта"
|
1059 |
|
1060 |
+
#: nexus/cerber-nexus-master.php:103
|
1061 |
msgid "Website Properties"
|
1062 |
msgstr "Свойства сайта"
|
1063 |
|
1064 |
+
#: nexus/cerber-nexus-master.php:95
|
1065 |
msgid "Select an existing group or enter a new one to add it"
|
1066 |
msgstr "Выберите имеющуюся группу или введите новую для добавления"
|
1067 |
|
1068 |
+
#: nexus/cerber-slave-list.php:413
|
1069 |
msgid "Disable master mode"
|
1070 |
msgstr "Отключить режим управляющего сайта"
|
1071 |
|
1072 |
+
#: nexus/cerber-slave-list.php:413
|
1073 |
msgid "Add a new one"
|
1074 |
msgstr "Добавить новый"
|
1075 |
|
1076 |
+
#: nexus/cerber-slave-list.php:413
|
1077 |
msgid "No websites configured."
|
1078 |
msgstr "Ни один сайт не настроен."
|
1079 |
|
1145 |
msgid "An optional message for this user"
|
1146 |
msgstr "Необязательное сообщение для этого пользователя"
|
1147 |
|
1148 |
+
#: settings.php:508 cerber-users.php:68
|
1149 |
msgid "User Message"
|
1150 |
msgstr "Сообщение пользователю"
|
1151 |
|
1164 |
|
1165 |
#. translators: Time difference between two dates, in seconds (sec=second). 1:
|
1166 |
#. Number of seconds
|
1167 |
+
#: common.php:1563
|
1168 |
msgid "%s sec"
|
1169 |
msgid_plural "%s secs"
|
1170 |
msgstr[0] "%s сек."
|
1171 |
msgstr[1] "%s сек."
|
1172 |
msgstr[2] "%s сек."
|
1173 |
|
1174 |
+
#: common.php:1373
|
1175 |
msgid "Blocked by administrator"
|
1176 |
msgstr "Заблокирован администратором"
|
1177 |
|
1178 |
+
#: common.php:1349
|
1179 |
msgid "Invalid master credentials"
|
1180 |
msgstr "Неверная мастер пара логин/пароль"
|
1181 |
|
1182 |
+
#: admin/cerber-settings.php:599 dashboard.php:3135
|
1183 |
msgid "Save Changes"
|
1184 |
msgstr "Сохранить изменения"
|
1185 |
|
1186 |
+
#: common.php:1360
|
1187 |
msgid "IP address is locked out"
|
1188 |
msgstr "IP адрес заблокирован"
|
1189 |
|
1190 |
+
#: dashboard.php:836
|
1191 |
msgid "Additional Details"
|
1192 |
msgstr "Дополнительная информация"
|
1193 |
|
1194 |
+
#: settings.php:730
|
1195 |
msgid "Ignore logged in users"
|
1196 |
msgstr "Игнорировать авторизованных пользователей"
|
1197 |
|
1198 |
+
#: settings.php:716
|
1199 |
msgid "Erroneous Request Shielding"
|
1200 |
msgstr "Защита от ошибочных запросов"
|
1201 |
|
1202 |
+
#: settings.php:698 settings.php:726
|
1203 |
msgid "Maximum security"
|
1204 |
msgstr "Максимальная безопасность"
|
1205 |
|
1206 |
+
#: settings.php:697 settings.php:725
|
1207 |
msgid "Maximum compatibility"
|
1208 |
msgstr "Максимальная совместимость"
|
1209 |
|
1210 |
+
#: settings.php:779
|
1211 |
msgid "Save software errors"
|
1212 |
msgstr "Сохранять ошибки ПО"
|
1213 |
|
1214 |
+
#: settings.php:721
|
1215 |
msgid "Enable error shielding"
|
1216 |
msgstr "Включить защиту от ошибок"
|
1217 |
|
1218 |
+
#: settings.php:688
|
1219 |
msgid "Traffic Inspection"
|
1220 |
msgstr "Инспектор трафика"
|
1221 |
|
1222 |
+
#: dashboard.php:5091 dashboard.php:5092
|
1223 |
msgid "Add to menu"
|
1224 |
msgstr "Добавить в меню"
|
1225 |
|
1226 |
+
#: dashboard.php:5052
|
1227 |
msgid "WooCommerce Log Out"
|
1228 |
msgstr "Выход WooCommerce"
|
1229 |
|
1230 |
+
#: dashboard.php:5051
|
1231 |
msgid "WooCommerce Log In"
|
1232 |
msgstr "Вход WooCommerce"
|
1233 |
|
1234 |
+
#: dashboard.php:5048
|
1235 |
msgid "Register"
|
1236 |
msgstr "Регистрация"
|
1237 |
|
1238 |
+
#: dashboard.php:5047
|
1239 |
msgid "Log Out"
|
1240 |
msgstr "Выход"
|
1241 |
|
1242 |
+
#: dashboard.php:5046
|
1243 |
msgid "Log In"
|
1244 |
msgstr "Вход"
|
1245 |
|
1246 |
+
#: dashboard.php:3556
|
1247 |
msgid "Page generation time"
|
1248 |
msgstr "Время генерации страницы"
|
1249 |
|
1250 |
+
#: common.php:1426
|
1251 |
msgid "Multiple suspicious requests"
|
1252 |
msgstr "Множественные подозрительные запросы"
|
1253 |
|
1254 |
+
#: dashboard.php:5011
|
1255 |
msgid "Know more about all advantages at"
|
1256 |
msgstr "Узнайте больше о всех преимуществах на"
|
1257 |
|
1258 |
+
#: dashboard.php:5010
|
1259 |
msgid "These features are available in a professional version of the plugin."
|
1260 |
msgstr "Эти возможности доступны в профессиональной версии плагина."
|
1261 |
|
1262 |
+
#: common.php:1372
|
1263 |
msgid "Suspicious JavaScript code detected"
|
1264 |
msgstr "Найден подозрительный код JavaScript"
|
1265 |
|
1266 |
+
#: cerber-scanner.php:5781
|
1267 |
msgid "All scans"
|
1268 |
msgstr "Все проверки"
|
1269 |
|
1270 |
+
#: cerber-scanner.php:5729
|
1271 |
msgid "Click here to see the full list of files"
|
1272 |
msgstr "Нажмите здесь для просмотра полного списка файлов"
|
1273 |
|
1274 |
+
#: cerber-scanner.php:5729
|
1275 |
msgid "No files match the specified filter."
|
1276 |
msgstr "Нет файлов подходящих к указанному фильтру."
|
1277 |
|
1278 |
+
#: cerber-scanner.php:3862
|
1279 |
msgid "Preparing for the scan"
|
1280 |
msgstr "Подготовка сканирования"
|
1281 |
|
1282 |
+
#: settings.php:853 settings.php:1157 settings.php:1184
|
1283 |
msgid "Enable diagnostic logging"
|
1284 |
msgstr "Включить журнал диагностики"
|
1285 |
|
1286 |
+
#: settings.php:343
|
1287 |
msgid "Disable PHP error displaying"
|
1288 |
msgstr "Отключить отображение ошибок PHP"
|
1289 |
|
1290 |
+
#: settings.php:339
|
1291 |
msgid "Block execution of PHP scripts in the WordPress media folder"
|
1292 |
msgstr "Отключить исполнение PHP скриптов в папке медиафайлов WordPress"
|
1293 |
|
1294 |
+
#: settings.php:338
|
1295 |
msgid "Disable PHP in uploads"
|
1296 |
msgstr "Отключить PHP в папке загрузок"
|
1297 |
|
1298 |
+
#: settings.php:317
|
1299 |
msgid "Use English for admin interface"
|
1300 |
msgstr "Use English for admin interface (использовать английский язык для интерфейса администрирования)"
|
1301 |
|
1302 |
+
#: dashboard.php:2799
|
1303 |
msgid "All files have been processed"
|
1304 |
msgstr "Все файлы обработаны"
|
1305 |
|
1306 |
+
#: dashboard.php:2798
|
1307 |
msgid "Some errors occurred"
|
1308 |
msgstr "Возникли ошибки"
|
1309 |
|
1310 |
+
#: dashboard.php:2796
|
1311 |
msgid "These files have been added to the ignore list"
|
1312 |
msgstr "Эти файлы были добавлены в список игнорирования"
|
1313 |
|
1314 |
+
#: dashboard.php:2795
|
1315 |
msgid "Do you want to add selected files to the ignore list?"
|
1316 |
msgstr "Вы точно хотите добавить выбранные файлы в список игнорирования?"
|
1317 |
|
1318 |
+
#: dashboard.php:2792
|
1319 |
msgid "These files have been moved to the quarantine"
|
1320 |
msgstr "Эти файлы были перемещены в карантин"
|
1321 |
|
1322 |
+
#: dashboard.php:2791
|
1323 |
msgid "Are you sure you want to delete selected files?"
|
1324 |
msgstr "Вы точно хотите удалить выбранные файлы?"
|
1325 |
|
1326 |
+
#: dashboard.php:4722
|
1327 |
msgid "Log"
|
1328 |
msgstr "Журнал"
|
1329 |
|
1330 |
+
#: cerber-scanner.php:5914
|
1331 |
msgid "Added"
|
1332 |
msgstr "Добавлено"
|
1333 |
|
1334 |
+
#: cerber-scanner.php:5886
|
1335 |
msgid "The list is empty."
|
1336 |
msgstr "Список пуст."
|
1337 |
|
1338 |
+
#: cerber-scanner.php:5884
|
1339 |
msgid "Activity Insights"
|
1340 |
msgstr "На виду: активность"
|
1341 |
|
1342 |
+
#: cerber-scanner.php:5883
|
1343 |
msgid "Traffic Insights"
|
1344 |
msgstr "На виду: трафик"
|
1345 |
|
1346 |
+
#: cerber-scanner.php:5882
|
1347 |
msgid "User Insights"
|
1348 |
msgstr "На виду: пользователи"
|
1349 |
|
1350 |
+
#: cerber-scanner.php:5881 cerber-scanner.php:5908
|
1351 |
msgid "Remove from the list"
|
1352 |
msgstr "Удалить из списка"
|
1353 |
|
1354 |
+
#: cerber-scanner.php:5880
|
1355 |
msgid "Apply"
|
1356 |
msgstr "Применить"
|
1357 |
|
1358 |
+
#: dashboard.php:4689
|
1359 |
msgid "Ignore List"
|
1360 |
msgstr "Список игнорируемого"
|
1361 |
|
1363 |
msgid "Ignore"
|
1364 |
msgstr "Игнорировать"
|
1365 |
|
1366 |
+
#: settings.php:986
|
1367 |
msgid "Use comma to separate items."
|
1368 |
msgstr "Используйте запятую для разделения элементов."
|
1369 |
|
1370 |
+
#: settings.php:982
|
1371 |
msgid "Files with these extensions"
|
1372 |
msgstr "Файлы с этими расширениями"
|
1373 |
|
1374 |
+
#: settings.php:979
|
1375 |
msgid "Use absolute paths. One item per line."
|
1376 |
msgstr "Используйте абсолютные пути. Один элемент на строку."
|
1377 |
|
1378 |
+
#: settings.php:975
|
1379 |
msgid "Files in these directories"
|
1380 |
msgstr "Файлы в этих папках"
|
1381 |
|
1382 |
+
#: settings.php:971
|
1383 |
msgid "Files in the sessions directory"
|
1384 |
msgstr "Файлы в папке сессий"
|
1385 |
|
1386 |
+
#: settings.php:967
|
1387 |
msgid "Files in the temporary directory"
|
1388 |
msgstr "Файлы в временной папке"
|
1389 |
|
1390 |
+
#: settings.php:963
|
1391 |
msgid "Exclusions"
|
1392 |
msgstr "Исключения"
|
1393 |
|
1394 |
+
#: settings.php:944
|
1395 |
msgid "Files with unwanted extensions"
|
1396 |
msgstr "Файлы с нежелательными расширениями"
|
1397 |
|
1398 |
+
#: settings.php:935
|
1399 |
msgid "Files in the uploads folder"
|
1400 |
msgstr "Файлы в папке загрузки"
|
1401 |
|
1402 |
+
#: settings.php:926
|
1403 |
msgid "Automatic cleanup of malware and suspicious files"
|
1404 |
msgstr "Автоматическая очистка вредоносных и подозрительных файлов"
|
1405 |
|
1406 |
+
#: dashboard.php:1781
|
1407 |
msgid "Integrity"
|
1408 |
msgstr "Целостность"
|
1409 |
|
1410 |
+
#: dashboard.php:1762
|
1411 |
msgctxt "Example: Last malware scan: 23 Jan 2018"
|
1412 |
msgid "Last malware scan"
|
1413 |
msgstr "Последняя проверка на вредоносное ПО"
|
1414 |
|
1415 |
+
#: common.php:1371
|
1416 |
msgid "Suspicious SQL code detected"
|
1417 |
msgstr "Обнаружен подозрительный SQL код"
|
1418 |
|
1419 |
+
#: common.php:1332
|
1420 |
msgid "Attempt to upload malicious file denied"
|
1421 |
msgstr "Заблокирована попытка загрузки вредоносного файла"
|
1422 |
|
1423 |
+
#: cerber-scanner.php:5402
|
1424 |
msgid "Automatically moved to quarantine"
|
1425 |
msgstr "Автоматически перемещен в карантин"
|
1426 |
|
1427 |
+
#: cerber-scanner.php:5349
|
1428 |
msgid "Deleted"
|
1429 |
msgstr "Удален"
|
1430 |
|
1448 |
msgid "Malicious code found"
|
1449 |
msgstr "Найден вредоносный код"
|
1450 |
|
1451 |
+
#: dashboard.php:4688
|
1452 |
msgid "Cleaning up"
|
1453 |
msgstr "Очистка"
|
1454 |
|
1455 |
+
#: cerber-news.php:148
|
1456 |
msgid "Awesome!"
|
1457 |
msgstr "Замечательно!"
|
1458 |
|
1460 |
msgid "Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications."
|
1461 |
msgstr "Защищает WordPress от атак хакеров, спама, троянов и вирусов. Включает сканер вредоносного ПО и проверку целостности. Усиление защиты WordPress набором комплексных алгоритмов безопасности. Защита от спама тонким определением ботов и reCAPTCHA. Отслеживание пользовательской активности и вторжений с уведомлением по email, а также через уведомления браузера или на мобильные устройства."
|
1462 |
|
1463 |
+
#: admin/cerber-settings.php:538
|
1464 |
msgctxt "preposition of time like: at 11:00"
|
1465 |
msgid "at"
|
1466 |
msgstr "в"
|
1467 |
|
1468 |
+
#: dashboard.php:4604
|
1469 |
+
msgid "Anti-spam engine"
|
1470 |
msgstr "Антиспам защита"
|
1471 |
|
1472 |
+
#: common.php:1570
|
1473 |
msgctxt "preposition of a period of time like: in 6 hours"
|
1474 |
msgid "in %s"
|
1475 |
msgstr "Через %s"
|
1476 |
|
1477 |
+
#: cerber-scanner.php:5857
|
1478 |
msgid "The file has been restored to its original location."
|
1479 |
msgstr "Файл был восстановлен по оригинальному местоположению."
|
1480 |
|
1481 |
+
#: cerber-scanner.php:5843
|
1482 |
msgid "The file has been deleted permanently."
|
1483 |
msgstr "Файл удален навсегда."
|
1484 |
|
1485 |
+
#: cerber-scanner.php:5767 cerber-scanner.php:5915
|
1486 |
msgid "File"
|
1487 |
msgstr "Файл"
|
1488 |
|
1489 |
+
#: cerber-scanner.php:5766
|
1490 |
msgid "Size"
|
1491 |
msgstr "Размер"
|
1492 |
|
1493 |
+
#: cerber-scanner.php:5765
|
1494 |
msgid "Automatic deletion"
|
1495 |
msgstr "Автоматическое удаление"
|
1496 |
|
1497 |
+
#: cerber-scanner.php:5764
|
1498 |
msgid "Moved to quarantine"
|
1499 |
msgstr "Перемещен в карантин"
|
1500 |
|
1501 |
+
#: cerber-scanner.php:5749
|
1502 |
msgid "Delete permanently"
|
1503 |
msgstr "Удалить навсегда"
|
1504 |
|
1505 |
+
#: cerber-scanner.php:5752
|
1506 |
msgid "Restore"
|
1507 |
msgstr "Восстановить"
|
1508 |
|
1509 |
+
#: cerber-scanner.php:5662
|
1510 |
msgid "There are no files in the quarantine at the moment."
|
1511 |
msgstr "В карантине сейчас нет файлов."
|
1512 |
|
1513 |
+
#: cerber-scanner.php:4003 cerber-scanner.php:5763
|
1514 |
msgid "Scanned"
|
1515 |
msgstr "Проверено"
|
1516 |
|
1517 |
+
#: cerber-scanner.php:3994
|
1518 |
msgid "Unattended files"
|
1519 |
msgstr "Несопровождаемые файлы"
|
1520 |
|
1521 |
+
#: cerber-scanner.php:3982
|
1522 |
msgid "Changed files"
|
1523 |
msgstr "Измененные файлы"
|
1524 |
|
1525 |
+
#: cerber-scanner.php:3978
|
1526 |
msgid "New files"
|
1527 |
msgstr "Новые файлы"
|
1528 |
|
1529 |
+
#: nexus/cerber-slave-list.php:337 cerber-scanner.php:3974
|
1530 |
msgid "Vulnerabilities"
|
1531 |
msgstr "Уязвимости"
|
1532 |
|
1533 |
+
#: cerber-scanner.php:3962
|
1534 |
msgid "Performance"
|
1535 |
msgstr "Производительность"
|
1536 |
|
1537 |
+
#: cerber-scanner.php:3954
|
1538 |
msgid "Finished"
|
1539 |
msgstr "Завершено"
|
1540 |
|
1541 |
+
#: cerber-scanner.php:3950
|
1542 |
msgid "Started"
|
1543 |
msgstr "Начато"
|
1544 |
|
1545 |
+
#: dashboard.php:4690
|
1546 |
msgid "Quarantine"
|
1547 |
msgstr "Карантин"
|
1548 |
|
1549 |
+
#: cerber-load.php:347
|
1550 |
msgid "You have exceeded the number of allowed login attempts. Please try again in %d minutes."
|
1551 |
msgstr "Вы исчерпали максимально допустимое количество попыток входа. Попробуйте снова через %d минут."
|
1552 |
|
1553 |
+
#: settings.php:884
|
1554 |
msgid "Scan results reporting"
|
1555 |
msgstr "Отчет о результатах проверки"
|
1556 |
|
1557 |
+
#: settings.php:867
|
1558 |
msgid "Automated recurring scan schedule"
|
1559 |
msgstr "План автоматической повторной проверки"
|
1560 |
|
1561 |
+
#: dashboard.php:4006
|
1562 |
msgid "Errors"
|
1563 |
msgstr "Ошибки"
|
1564 |
|
1565 |
+
#: dashboard.php:948 dashboard.php:4005
|
1566 |
msgid "Suspicious activity"
|
1567 |
msgstr "Подозрительная активность"
|
1568 |
|
1569 |
+
#: dashboard.php:1512
|
1570 |
msgid "Activated"
|
1571 |
msgstr "Активация"
|
1572 |
|
1573 |
+
#: common.php:1656
|
1574 |
msgid "Bytes"
|
1575 |
msgstr "Байт"
|
1576 |
|
1577 |
+
#: common.php:1423
|
1578 |
msgid "Attempt to upload a file with malicious code"
|
1579 |
msgstr "Попытка загрузки файла с вредоносным кодом"
|
1580 |
|
1581 |
+
#: common.php:1370 common.php:1422
|
1582 |
msgid "Malicious code detected"
|
1583 |
msgstr "Обнаружен вредоносный код"
|
1584 |
|
1585 |
+
#: common.php:1369
|
1586 |
msgid "Suspicious number of nested values"
|
1587 |
msgstr "Подозрительное количество вложенных значений"
|
1588 |
|
1589 |
+
#: common.php:1368
|
1590 |
msgid "Suspicious number of fields"
|
1591 |
msgstr "Подозрительное число полей"
|
1592 |
|
1593 |
+
#: common.php:1346
|
1594 |
msgid "User activated"
|
1595 |
msgstr "Пользователь активирован"
|
1596 |
|
1597 |
+
#: common.php:1343
|
1598 |
msgid "Malicious request denied"
|
1599 |
msgstr "Заблокирован вредоносный запрос"
|
1600 |
|
1601 |
+
#: cerber-scanner.php:3866
|
1602 |
msgid "Scanning the session folder for files"
|
1603 |
msgstr "Поиск файлов в каталоге сессий"
|
1604 |
|
1605 |
+
#: cerber-scanner.php:3865
|
1606 |
msgid "Scanning the temp folder for files"
|
1607 |
msgstr "Поиск файлов в временном каталоге"
|
1608 |
|
1609 |
+
#: cerber-scanner.php:3864
|
1610 |
msgid "Scanning the upload folder for files"
|
1611 |
msgstr "Поиск файлов в каталоге uploads"
|
1612 |
|
1618 |
msgid "Vulnerability found"
|
1619 |
msgstr "Обнаружена уязвимость"
|
1620 |
|
1621 |
+
#: admin/cerber-settings.php:927
|
1622 |
msgid "Unable to update the schedule"
|
1623 |
msgstr "Невозможно обновить запланированное"
|
1624 |
|
1625 |
+
#: admin/cerber-settings.php:924
|
1626 |
msgid "The schedule has been updated"
|
1627 |
msgstr "Запланированное обновлено"
|
1628 |
|
1629 |
+
#: settings.php:911
|
1630 |
msgid "Include scan errors"
|
1631 |
msgstr "Включать ошибки сканера"
|
1632 |
|
1633 |
+
#: settings.php:907
|
1634 |
msgid "Include file sizes"
|
1635 |
msgstr "Включать размеры файлов"
|
1636 |
|
1637 |
+
#: settings.php:903
|
1638 |
msgid "If new issues found"
|
1639 |
msgstr "Если найдены новые проблемы"
|
1640 |
|
1641 |
+
#: settings.php:902
|
1642 |
msgid "If any changes in scan results occurred"
|
1643 |
msgstr "Если найдены изменения в результатах сканирования"
|
1644 |
|
1645 |
+
#: settings.php:901
|
1646 |
msgid "After every scan"
|
1647 |
msgstr "После каждого сканирования"
|
1648 |
|
1649 |
+
#: settings.php:898
|
1650 |
msgid "Send email report"
|
1651 |
msgstr "Отсылать отчет по эл.почте"
|
1652 |
|
1653 |
+
#: settings.php:889
|
1654 |
msgid "Report an issue if any of the following is true"
|
1655 |
msgstr "Отчитываться о проблемах, если нижеперечисленное верно"
|
1656 |
|
1657 |
+
#: settings.php:894 settings.php:940
|
1658 |
msgid "High severity"
|
1659 |
msgstr "Высокая тяжесть"
|
1660 |
|
1661 |
+
#: settings.php:893 settings.php:939
|
1662 |
msgid "Medium severity"
|
1663 |
msgstr "Средняя тяжесть"
|
1664 |
|
1665 |
+
#: settings.php:892 settings.php:938
|
1666 |
msgid "Low severity"
|
1667 |
msgstr "Низкая тяжесть"
|
1668 |
|
1669 |
+
#: settings.php:877
|
1670 |
msgid "Launch Full Scan"
|
1671 |
msgstr "Запуск полной проверки"
|
1672 |
|
1673 |
+
#: settings.php:872
|
1674 |
msgid "Launch Quick Scan"
|
1675 |
msgstr "Запуск быстрой проверки"
|
1676 |
|
1677 |
+
#: settings.php:836
|
1678 |
msgid "Monitor modified files"
|
1679 |
msgstr "Наблюдать за изменением файлов"
|
1680 |
|
1681 |
+
#: settings.php:827
|
1682 |
msgid "Monitor new files"
|
1683 |
msgstr "Наблюдать за новыми файлами"
|
1684 |
|
1685 |
+
#: cerber-scanner.php:5418
|
|
|
|
|
|
|
|
|
1686 |
msgid "To view full report visit"
|
1687 |
msgstr "Для просмотра полного отчета зайдите на"
|
1688 |
|
1689 |
+
#: cerber-scanner.php:5264
|
1690 |
msgid "Files scanned"
|
1691 |
msgstr "Проверено файлов"
|
1692 |
|
1693 |
+
#: cerber-scanner.php:5251
|
1694 |
msgid "Quick Scan Report"
|
1695 |
msgstr "Отчет быстрой проверки"
|
1696 |
|
1697 |
+
#: cerber-scanner.php:5251
|
1698 |
msgid "Full Scan Report"
|
1699 |
msgstr "Отчет полной проверки"
|
1700 |
|
1701 |
+
#: cerber-scanner.php:4704
|
1702 |
msgid "File access error. Possibly scan results are outdated. Please run Quick or Full Scan."
|
1703 |
msgstr "Ошибка доступа к файлу. Возможно результаты проверки устарели. Запустите быструю или полную проверку."
|
1704 |
|
1705 |
+
#: cerber-scanner.php:4105
|
1706 |
msgid "You have to upload a ZIP archive from which you've installed it. This enables the security scanner to verify the integrity of the code and detect malware."
|
1707 |
msgstr "Вам нужно загрузить zip-архив, из которого вы это установили. Это даст возможность сканеру безопасности проверить целостность файлов, кода и определить вредоносный код."
|
1708 |
|
1709 |
+
#: cerber-scanner.php:4103
|
1710 |
msgid "We have not found any integrity data to verify"
|
1711 |
msgstr "Не найдены данные о целостности для проверки"
|
1712 |
|
1713 |
+
#: cerber-scanner.php:3875
|
1714 |
msgid "Finalizing the scan"
|
1715 |
msgstr "Завершение проверки"
|
1716 |
|
1717 |
+
#: cerber-scanner.php:3874
|
1718 |
msgid "Searching for malicious code"
|
1719 |
msgstr "Поиск вредоносного кода"
|
1720 |
|
1721 |
+
#: cerber-scanner.php:3873
|
1722 |
msgid "Verifying the integrity of the themes"
|
1723 |
msgstr "Проверка целостности тем"
|
1724 |
|
1725 |
+
#: cerber-scanner.php:3871
|
1726 |
msgid "Verifying the integrity of the plugins"
|
1727 |
msgstr "Проверка целостности плагинов"
|
1728 |
|
1729 |
+
#: cerber-scanner.php:3869
|
1730 |
msgid "Verifying the integrity of WordPress"
|
1731 |
msgstr "Проверка целостности WordPress"
|
1732 |
|
1733 |
+
#: cerber-scanner.php:3868
|
1734 |
msgid "Checking for new and modified files"
|
1735 |
msgstr "Поиск новых и измененных файлов"
|
1736 |
|
1737 |
+
#: cerber-scanner.php:3867
|
1738 |
msgid "Parsing the list of files"
|
1739 |
msgstr "Обработка списка файлов"
|
1740 |
|
1741 |
+
#: cerber-scanner.php:3863
|
1742 |
msgid "Scanning folders for files"
|
1743 |
msgstr "Поиск файлов в каталогах"
|
1744 |
|
1774 |
msgid "Every hour"
|
1775 |
msgstr "Каждый час"
|
1776 |
|
1777 |
+
#: settings.php:696 settings.php:724 settings.php:830 settings.php:839
|
1778 |
+
#: settings.php:1178 dashboard.php:1765 dashboard.php:1767 cerber-users.php:20
|
1779 |
+
#: cerber-users.php:445 cerber-scanner.php:1622
|
1780 |
msgid "Disabled"
|
1781 |
msgstr "Отключено"
|
1782 |
|
1792 |
msgid "Suspicious directives found"
|
1793 |
msgstr "Найдены подозрительные директивы"
|
1794 |
|
1795 |
+
#: cerber-scanner.php:1586 cerber-scanner.php:3986
|
1796 |
msgid "Checksum mismatch"
|
1797 |
msgstr "Несовпадение контрольной суммы"
|
1798 |
|
1799 |
+
#: dashboard.php:1766 cerber-scanner.php:1065
|
1800 |
msgid "Quick Scan"
|
1801 |
msgstr "Быстрая проверка"
|
1802 |
|
1803 |
+
#: dashboard.php:1768 cerber-scanner.php:1065
|
1804 |
msgid "Full Scan"
|
1805 |
msgstr "Полная проверка"
|
1806 |
|
1816 |
msgid "Currently a scheduled scan in progress. Please wait until it is finished."
|
1817 |
msgstr "Сейчас выполняется запланированная проверка. Дождитесь пока она завершится."
|
1818 |
|
1819 |
+
#: cerber-load.php:4186
|
1820 |
msgid "Scanner Report"
|
1821 |
msgstr "Отчет проверки"
|
1822 |
|
1823 |
+
#: dashboard.php:4687
|
1824 |
msgid "Scheduling"
|
1825 |
msgstr "Планирование"
|
1826 |
|
1828 |
msgid "WP Cerber Security, Antispam & Malware Scan"
|
1829 |
msgstr "WP Cerber Security, Antispam & Malware Scan"
|
1830 |
|
1831 |
+
#: settings.php:857
|
1832 |
msgid "Delete quarantined files after"
|
1833 |
msgstr "Удалять файлы карантина через"
|
1834 |
|
1835 |
+
#: settings.php:849
|
1836 |
msgid "Scan session directory"
|
1837 |
msgstr "Проверять каталог файлов сессий"
|
1838 |
|
1839 |
+
#: settings.php:845
|
1840 |
msgid "Scan temporary directory"
|
1841 |
msgstr "Проверять каталог временных файлов"
|
1842 |
|
1843 |
+
#: settings.php:820
|
1844 |
msgid "Directories to exclude"
|
1845 |
msgstr "Каталоги для исключения"
|
1846 |
|
1847 |
+
#: settings.php:817
|
1848 |
msgid "Specify file extensions to search for. Full scan only. Use comma to separate items."
|
1849 |
msgstr "Укажите расширения файлов для поиска. Используется только при полной проверке. Испольуйте запятую для разделения элементов."
|
1850 |
|
1851 |
+
#: settings.php:813
|
1852 |
msgid "Unwanted file extensions"
|
1853 |
msgstr "Нежелательные расширения файлов"
|
1854 |
|
1855 |
+
#: settings.php:810
|
1856 |
msgid "Specify custom PHP code signatures. One item per line. To specify a REGEX pattern, enclose a whole line in two braces."
|
1857 |
msgstr "Укажите пользовательские подписи PHP кода. Один элемент на строку. Для использования регулярных выражений, включите строку в фигурные скобки { }."
|
1858 |
|
1859 |
+
#: settings.php:806
|
1860 |
msgid "Custom signatures"
|
1861 |
msgstr "Пользовательские отпечатки"
|
1862 |
|
1863 |
+
#: settings.php:801
|
1864 |
msgid "Scanner settings"
|
1865 |
msgstr "Настройки сканера"
|
1866 |
|
1867 |
+
#: settings.php:176
|
1868 |
msgid "Disable dashboard redirection"
|
1869 |
msgstr "Отключить перенаправление с консоли"
|
1870 |
|
1871 |
+
#: settings.php:155 settings.php:501 settings.php:702
|
1872 |
msgid "Use White IP Access List"
|
1873 |
msgstr "Использовать белый список IP"
|
1874 |
|
1875 |
+
#: cerber-scanner.php:4010 cerber-scanner.php:5295
|
1876 |
msgid "Issues total"
|
1877 |
msgstr "Всего проблем"
|
1878 |
|
1879 |
+
#: cerber-scanner.php:4010
|
1880 |
msgid "Critical issues"
|
1881 |
msgstr "Критические проблемы"
|
1882 |
|
1883 |
+
#: cerber-scanner.php:4003
|
1884 |
msgid "Files to scan"
|
1885 |
msgstr "Файлы для проверки"
|
1886 |
|
1888 |
msgid "Custom signature found"
|
1889 |
msgstr "Найден пользовательский отпечаток"
|
1890 |
|
1891 |
+
#: cerber-scanner.php:3990
|
1892 |
msgid "Unwanted extensions"
|
1893 |
msgstr "Нежелательные расширения"
|
1894 |
|
1908 |
msgid "Content has been modified"
|
1909 |
msgstr "Содержимое изменено"
|
1910 |
|
1911 |
+
#: cerber-scanner.php:1584 cerber-scanner.php:5104
|
1912 |
msgid "Unable to open file"
|
1913 |
msgstr "Невозможно открыть файл"
|
1914 |
|
1960 |
msgid "Start Quick Scan"
|
1961 |
msgstr "Начать быструю проверку"
|
1962 |
|
1963 |
+
#: dashboard.php:4685
|
1964 |
msgid "Security Scanner"
|
1965 |
msgstr "Сканер безопасности"
|
1966 |
|
1967 |
+
#: dashboard.php:67 dashboard.php:4683
|
1968 |
msgid "Site Integrity"
|
1969 |
msgstr "Целостность сайта"
|
1970 |
|
1971 |
+
#: settings.php:119
|
1972 |
msgid "If you forget your Custom login URL, you will be unable to log in."
|
1973 |
msgstr "Если вы забудете ваш пользовательский URL входа, то вы не сможете войти."
|
1974 |
|
1975 |
+
#: settings.php:119
|
1976 |
msgid "Be careful about enabling these options."
|
1977 |
msgstr "Будьте осторожны при включении этих настроек."
|
1978 |
|
1979 |
+
#: common.php:1366
|
1980 |
msgid "Denied"
|
1981 |
msgstr "Запрещено"
|
1982 |
|
1983 |
+
#: settings.php:710
|
1984 |
msgid "To specify a REGEX pattern, enclose a whole line in two braces."
|
1985 |
msgstr "Для использования регулярных выражений заключите строку целиком в фигурные скобки { }."
|
1986 |
|
1987 |
+
#: admin/cerber-settings.php:625
|
1988 |
msgid "Plugin initialization mode has not been changed"
|
1989 |
msgstr "Режим инициализации плагина не был изменен"
|
1990 |
|
1991 |
+
#: settings.php:133
|
1992 |
msgid "Standard mode"
|
1993 |
msgstr "Стандартный режим"
|
1994 |
|
1995 |
+
#: settings.php:132
|
1996 |
msgid "Legacy mode"
|
1997 |
msgstr "Старый режим"
|
1998 |
|
1999 |
+
#: settings.php:129
|
2000 |
msgid "Load security engine"
|
2001 |
msgstr "Загрузка движка безопасности"
|
2002 |
|
2003 |
+
#: settings.php:126
|
2004 |
msgid "Plugin initialization"
|
2005 |
msgstr "Инициализация плагина"
|
2006 |
|
2007 |
+
#: common.php:2782
|
2008 |
msgid "Unable to delete the file"
|
2009 |
msgstr "Невозможно удалить файл"
|
2010 |
|
2011 |
+
#: common.php:2776
|
2012 |
msgid "Unable to copy the file"
|
2013 |
msgstr "Невозможно скопировать файл"
|
2014 |
|
2015 |
+
#: common.php:2773
|
2016 |
msgid "File not found"
|
2017 |
msgstr "Файл не найден"
|
2018 |
|
2019 |
+
#: common.php:2770
|
2020 |
msgid "Destination folder access denied"
|
2021 |
msgstr "Доступ к каталогу назначения закрыт"
|
2022 |
|
2023 |
+
#: common.php:2765
|
2024 |
msgid "Unable to create the directory"
|
2025 |
msgstr "Невозможно создать каталог"
|
2026 |
|
2027 |
+
#: common.php:1333
|
2028 |
msgid "File upload denied"
|
2029 |
msgstr "Предотвращена загрузка файла"
|
2030 |
|
2031 |
+
#: settings.php:334
|
2032 |
msgid "Block unauthorized access to load-scripts.php and load-styles.php"
|
2033 |
msgstr "Блокировка неавторизованного доступа к load-scripts.php и load-styles.php"
|
2034 |
|
2035 |
+
#: settings.php:333
|
2036 |
msgid "Protect admin scripts"
|
2037 |
msgstr "Защита скриптов администратора"
|
2038 |
|
2039 |
+
#: cerber-load.php:3954
|
2040 |
msgid "We're sorry, you are not allowed to proceed"
|
2041 |
msgstr "Извините, вам не разрешено продолжить"
|
2042 |
|
2043 |
+
#: settings.php:710
|
2044 |
msgid "Enter a request URI to exclude the request from inspection. One item per line."
|
2045 |
msgstr "Введите URI запроса для исключения из инспекции. Один элемент на строку."
|
2046 |
|
2047 |
+
#: settings.php:706
|
2048 |
msgid "Request whitelist"
|
2049 |
msgstr "Белый список запросов"
|
2050 |
|
2051 |
+
#: settings.php:784
|
2052 |
msgid "milliseconds"
|
2053 |
msgstr "миллисекунд"
|
2054 |
|
2055 |
+
#: settings.php:783
|
2056 |
msgid "Page generation time threshold"
|
2057 |
msgstr "Порог времени генерации страницы"
|
2058 |
|
2059 |
+
#: settings.php:775
|
2060 |
msgid "Save request cookies"
|
2061 |
msgstr "Сохранять куки запроса"
|
2062 |
|
2063 |
+
#: settings.php:771
|
2064 |
msgid "Save $_SERVER"
|
2065 |
msgstr "Сохранять $_SERVER"
|
2066 |
|
2067 |
+
#: settings.php:766
|
2068 |
msgid "Save request headers"
|
2069 |
msgstr "Сохранять заголовки запроса"
|
2070 |
|
2071 |
+
#: settings.php:759
|
2072 |
msgid "Mask these form fields"
|
2073 |
msgstr "Маскировать эти поля форм"
|
2074 |
|
2075 |
+
#: settings.php:755
|
2076 |
msgid "Save request fields"
|
2077 |
msgstr "Сохранять поля запросов"
|
2078 |
|
2079 |
+
#: settings.php:751
|
2080 |
msgid "Ignore crawlers"
|
2081 |
msgstr "Игнорировать веб-пауков"
|
2082 |
|
2083 |
+
#: settings.php:747
|
2084 |
msgid "All traffic"
|
2085 |
msgstr "Весь трафик"
|
2086 |
|
2087 |
+
#: settings.php:746
|
2088 |
msgid "Smart"
|
2089 |
msgstr "Умная выборка"
|
2090 |
|
2091 |
+
#: settings.php:745
|
2092 |
msgid "Logging disabled"
|
2093 |
msgstr "Журнал отключен"
|
2094 |
|
2095 |
+
#: settings.php:742
|
2096 |
msgid "Logging mode"
|
2097 |
msgstr "Режим журнала"
|
2098 |
|
2099 |
+
#: settings.php:693
|
|
|
|
|
|
|
|
|
2100 |
msgid "Enable traffic inspection"
|
2101 |
msgstr "Включить инспектирование трафика"
|
2102 |
|
2103 |
+
#: dashboard.php:4032
|
2104 |
msgid "Advanced Search"
|
2105 |
msgstr "Улучшенный поиск"
|
2106 |
|
2107 |
+
#: dashboard.php:4045
|
2108 |
msgid "Refresh"
|
2109 |
msgstr "Обновить"
|
2110 |
|
2111 |
+
#: dashboard.php:4022
|
2112 |
msgid "Longer than"
|
2113 |
msgstr "Дольше чем"
|
2114 |
|
2115 |
+
#: dashboard.php:4013
|
2116 |
msgid "Page Not Found"
|
2117 |
msgstr "Страница не найдена"
|
2118 |
|
2119 |
+
#: dashboard.php:4011
|
2120 |
msgid "Form submissions"
|
2121 |
msgstr "Отправки форм"
|
2122 |
|
2123 |
+
#: dashboard.php:953 dashboard.php:4008
|
2124 |
msgid "Not logged in visitors"
|
2125 |
msgstr "Неавторизованные посетители"
|
2126 |
|
2127 |
+
#: dashboard.php:4003
|
2128 |
msgid "All requests"
|
2129 |
msgstr "Все запросы"
|
2130 |
|
2131 |
+
#: dashboard.php:3995
|
2132 |
msgid "No requests have been logged."
|
2133 |
msgstr "В журнале нет данных о запросах."
|
2134 |
|
2135 |
+
#: dashboard.php:3978
|
2136 |
msgid "User Agent"
|
2137 |
msgstr "User Agent"
|
2138 |
|
2139 |
+
#: dashboard.php:3977 cerber-users.php:974
|
2140 |
msgid "Host Info"
|
2141 |
msgstr "Информация о хосте"
|
2142 |
|
2143 |
+
#: dashboard.php:3975
|
2144 |
msgid "Request"
|
2145 |
msgstr "Запрос"
|
2146 |
|
2147 |
+
#: dashboard.php:4624
|
2148 |
msgid "Live Traffic"
|
2149 |
msgstr "Живой трафик"
|
2150 |
|
2151 |
+
#: dashboard.php:1780 cerber-users.php:1140
|
2152 |
msgid "Traffic"
|
2153 |
msgstr "Трафик"
|
2154 |
|
2155 |
+
#: dashboard.php:1745
|
2156 |
msgid "no connection"
|
2157 |
msgstr "нет подключения"
|
2158 |
|
2159 |
+
#: dashboard.php:1740
|
2160 |
msgid "enabled"
|
2161 |
msgstr "включено"
|
2162 |
|
2163 |
+
#: dashboard.php:56 dashboard.php:1741 dashboard.php:4622
|
2164 |
msgid "Traffic Inspector"
|
2165 |
msgstr "Инспектор трафика"
|
2166 |
|
2168 |
msgid "Cerber Traffic Inspector"
|
2169 |
msgstr "Цербер-инспектор трафика"
|
2170 |
|
2171 |
+
#: dashboard.php:1534
|
2172 |
msgid "Last seen"
|
2173 |
msgstr "Последний раз"
|
2174 |
|
2175 |
+
#: common.php:1782
|
2176 |
msgid "Not specified"
|
2177 |
msgstr "Не указано"
|
2178 |
|
2179 |
+
#: common.php:1331 common.php:1421
|
2180 |
msgid "Probing for vulnerable PHP code"
|
2181 |
msgstr "Проверка на уязвимый PHP-код"
|
2182 |
|
2183 |
+
#: common.php:213
|
2184 |
msgid "Check for requests"
|
2185 |
msgstr "Проверить запросы"
|
2186 |
|
2187 |
+
#: dashboard.php:338
|
2188 |
msgid "You cannot add your IP address or network"
|
2189 |
msgstr "Вы не можете добавить ваш IP-адрес или сеть"
|
2190 |
|
2191 |
+
#: dashboard.php:316
|
2192 |
msgid "Optional comment for this entry"
|
2193 |
msgstr "Необязательный комментарий к этой записи"
|
2194 |
|
2195 |
+
#: cerber-load.php:4336
|
2196 |
msgid "Attempts to log in with non-existing usernames"
|
2197 |
msgstr "Попытка войти с несуществующим именем пользователя"
|
2198 |
|
2199 |
+
#: cerber-load.php:4310
|
2200 |
msgid "Weekly Report"
|
2201 |
msgstr "Недельный отчет"
|
2202 |
|
2203 |
+
#: cerber-load.php:4240
|
2204 |
msgid "Your last sign-in was %s from %s"
|
2205 |
msgstr "Ваш последний вход был %s с %s"
|
2206 |
|
2207 |
+
#: settings.php:667
|
2208 |
msgid "Enable reporting"
|
2209 |
msgstr "Включить отчеты"
|
2210 |
|
2211 |
+
#: settings.php:1030
|
|
|
|
|
|
|
|
|
2212 |
msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
|
2213 |
msgstr "Введите часть строки или пути запроса для исключения запроса из проверки движком. Один элемент на строку."
|
2214 |
|
2215 |
+
#: settings.php:542 settings.php:550
|
2216 |
msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
|
2217 |
msgstr "Для использования регулярных выражений оберните их в два прямых слеша."
|
2218 |
|
2219 |
+
#: settings.php:190
|
2220 |
msgid "Display simple 404 page"
|
2221 |
msgstr "Показать простую страницу 404"
|
2222 |
|
2223 |
+
#: settings.php:189
|
2224 |
msgid "Use 404 template from the active theme"
|
2225 |
msgstr "Использовать шаблон 404 активной темы"
|
2226 |
|
2227 |
+
#: dashboard.php:3379
|
2228 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
2229 |
msgid "Selected countries are not permitted to %s, other countries are permitted to"
|
2230 |
msgstr "Выбранным странам не разрешено %s, остальным странам разрешено"
|
2231 |
|
2232 |
+
#: dashboard.php:3376
|
2233 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
2234 |
msgid "Selected countries are permitted to %s, other countries are not permitted to"
|
2235 |
msgstr "Выбранным странам разрешено %s, остальным странам - нет"
|
2236 |
|
2237 |
+
#: dashboard.php:3280
|
2238 |
msgid "Not permitted for one country"
|
2239 |
msgid_plural "Not permitted for %d countries"
|
2240 |
msgstr[0] "Не разрешено в одной стране"
|
2241 |
msgstr[1] "Не разрешено в %d странах"
|
2242 |
msgstr[2] "Не разрешено в %d странах"
|
2243 |
|
2244 |
+
#: dashboard.php:574
|
2245 |
msgid "Unable to send email to"
|
2246 |
msgstr "Невозможно отправить email на"
|
2247 |
|
2248 |
+
#: dashboard.php:571
|
2249 |
msgid "Email has been sent to"
|
2250 |
msgstr "Сообщение было отправлено на электронный адрес"
|
2251 |
|
2252 |
+
#: cerber-load.php:4322
|
2253 |
msgid "Activity details"
|
2254 |
msgstr "Подробно об активности"
|
2255 |
|
2256 |
+
#: cerber-load.php:4216
|
2257 |
msgid "Your license is valid until"
|
2258 |
msgstr "Ваша лицензия действительна до"
|
2259 |
|
2260 |
+
#: cerber-load.php:4212
|
2261 |
msgid "Your login page:"
|
2262 |
msgstr "Ваша страница входа:"
|
2263 |
|
2264 |
+
#: cerber-load.php:4179 cerber-load.php:4189
|
2265 |
msgid "To change reporting settings visit"
|
2266 |
msgstr "Для смены настроек отчетности зайдите"
|
2267 |
|
2268 |
+
#: cerber-load.php:4176
|
2269 |
msgid "Weekly report"
|
2270 |
msgstr "Недельный отчет"
|
2271 |
|
2272 |
+
#: cerber-load.php:818
|
2273 |
msgid "> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/"
|
2274 |
msgstr ">>> Переводите WP Cerber? Получите PRO лицензию бесплатно, оставьте контакты здесь: https://wpcerber.com/contact/"
|
2275 |
|
2276 |
+
#: admin/cerber-settings.php:557
|
2277 |
msgid "Click to send now"
|
2278 |
msgstr "Нажмите для отправки сейчас"
|
2279 |
|
2280 |
+
#: admin/cerber-settings.php:528
|
2281 |
msgid "Saturday"
|
2282 |
msgstr "Суббота"
|
2283 |
|
2284 |
+
#: admin/cerber-settings.php:527
|
2285 |
msgid "Friday"
|
2286 |
msgstr "Пятница"
|
2287 |
|
2288 |
+
#: admin/cerber-settings.php:526
|
2289 |
msgid "Thursday"
|
2290 |
msgstr "Четверг"
|
2291 |
|
2292 |
+
#: admin/cerber-settings.php:525
|
2293 |
msgid "Wednesday"
|
2294 |
msgstr "Среда"
|
2295 |
|
2296 |
+
#: admin/cerber-settings.php:524
|
2297 |
msgid "Tuesday"
|
2298 |
msgstr "Вторник"
|
2299 |
|
2300 |
+
#: admin/cerber-settings.php:523
|
2301 |
msgid "Monday"
|
2302 |
msgstr "Понедельник"
|
2303 |
|
2304 |
+
#: admin/cerber-settings.php:522
|
2305 |
msgid "Sunday"
|
2306 |
msgstr "Воскресенье"
|
2307 |
|
2308 |
+
#: settings.php:663
|
2309 |
msgid "Weekly reports"
|
2310 |
msgstr "Недельные отчеты"
|
2311 |
|
2312 |
+
#: dashboard.php:2682
|
2313 |
msgid "Main settings"
|
2314 |
msgstr "Основные настройки"
|
2315 |
|
2316 |
+
#: admin/cerber-settings.php:654 admin/cerber-settings.php:655
|
2317 |
msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
|
2318 |
msgstr "Если вы используете плагин кеширования, вам нужно добавить новый URL входа в список исключений кеширования"
|
2319 |
|
2320 |
+
#: settings.php:1045
|
|
|
|
|
|
|
|
|
2321 |
msgid "Mark it as spam"
|
2322 |
msgstr "Пометить как спам"
|
2323 |
|
2324 |
+
#: settings.php:1045
|
2325 |
msgid "Deny it completely"
|
2326 |
msgstr "Полностью запретить"
|
2327 |
|
2328 |
+
#: settings.php:564
|
2329 |
msgid "Sort users in dashboard"
|
2330 |
msgstr "Сортировать пользователей в консоли"
|
2331 |
|
2332 |
+
#: settings.php:526
|
2333 |
msgid "Registration limit"
|
2334 |
msgstr "Предел регистраций"
|
2335 |
|
2336 |
+
#: settings.php:375
|
2337 |
msgid "Allow REST API for logged in users"
|
2338 |
msgstr "Разрешить REST API для авторизованных пользователей"
|
2339 |
|
2340 |
+
#: dashboard.php:3407
|
2341 |
msgid "Use REST API"
|
2342 |
msgstr "использование REST API"
|
2343 |
|
2344 |
+
#: dashboard.php:3406
|
2345 |
msgid "Use XML-RPC"
|
2346 |
msgstr "использование XML-RPC"
|
2347 |
|
2348 |
+
#: dashboard.php:3403
|
2349 |
msgid "Register on the website"
|
2350 |
msgstr "регистрация на сайте"
|
2351 |
|
2352 |
+
#: dashboard.php:3399
|
2353 |
msgid "Log in to the website"
|
2354 |
msgstr "авторизация на сайте"
|
2355 |
|
2356 |
+
#: dashboard.php:3405
|
2357 |
msgid "Post comments"
|
2358 |
msgstr "отправка комментариев"
|
2359 |
|
2360 |
+
#: dashboard.php:3404
|
2361 |
msgid "Submit forms"
|
2362 |
msgstr "отправка форм"
|
2363 |
|
2364 |
+
#: dashboard.php:3372
|
2365 |
msgid "Click on a country name to add it to the list of selected countries"
|
2366 |
msgstr "Нажмите на страну чтобы добавить ее в список выбранных"
|
2367 |
|
2368 |
+
#: dashboard.php:3257
|
2369 |
msgid "Start typing here to find a country"
|
2370 |
msgstr "Начните печатать тут чтобы найти страну"
|
2371 |
|
2372 |
+
#: cerber-load.php:4161 cerber-load.php:5121 dashboard.php:2380
|
2373 |
msgid "Getting Started Guide"
|
2374 |
msgstr "Руководство с чего начать"
|
2375 |
|
2376 |
+
#: dashboard.php:2320
|
2377 |
msgid "in the last 24 hours"
|
2378 |
msgstr "В последние 24 часа"
|
2379 |
|
2380 |
+
#: dashboard.php:1658 cerber-users.php:52 cerber-users.php:1106
|
2381 |
msgid "You"
|
2382 |
msgstr "Вы"
|
2383 |
|
2384 |
+
#: dashboard.php:1544 dashboard.php:1588
|
2385 |
msgid "Registered"
|
2386 |
msgstr "Зарегистрирован"
|
2387 |
|
2388 |
+
#: dashboard.php:1587
|
2389 |
msgid "Failed login attempts"
|
2390 |
msgstr "Неудачные попытки входа"
|
2391 |
|
2392 |
+
#: common.php:1420
|
2393 |
msgid "Multiple suspicious activities were detected"
|
2394 |
msgstr "Обнаружена множественная подозрительная активность"
|
2395 |
|
2396 |
+
#: common.php:1365
|
2397 |
msgid "Multiple suspicious activities"
|
2398 |
msgstr "Множественная подозрительная активность"
|
2399 |
|
2400 |
+
#: common.php:1364
|
2401 |
msgid "Limit reached"
|
2402 |
msgstr "Предел достигнут"
|
2403 |
|
2404 |
+
#: settings.php:1029
|
2405 |
msgid "Query whitelist"
|
2406 |
msgstr "Белый список запросов"
|
2407 |
|
2408 |
+
#: settings.php:389
|
2409 |
msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
|
2410 |
msgstr "Укажите пространства имен REST API разрешенных при отключении REST API, одно имя на строку."
|
2411 |
|
2412 |
+
#: settings.php:370
|
2413 |
msgid "Block access to WordPress REST API except any of the following"
|
2414 |
msgstr "Блокировать доступ к REST API кроме следующего"
|
2415 |
|
2416 |
+
#: dashboard.php:3449
|
2417 |
msgid "Security rules have been updated"
|
2418 |
msgstr "Правила безопасности обновлены"
|
2419 |
|
2420 |
+
#: dashboard.php:3288
|
2421 |
msgid "No rule"
|
2422 |
msgstr "Нет правила"
|
2423 |
|
2424 |
+
#: dashboard.php:3277
|
2425 |
msgid "Permitted for one country"
|
2426 |
msgid_plural "Permitted for %d countries"
|
2427 |
msgstr[0] "Разрешается для одной страны"
|
2428 |
msgstr[1] "Разрешается для %d стран"
|
2429 |
msgstr[2] "Разрешается для %d стран"
|
2430 |
|
2431 |
+
#: dashboard.php:4670
|
2432 |
msgid "Countries"
|
2433 |
msgstr "Страны"
|
2434 |
|
2435 |
+
#: common.php:287
|
2436 |
msgid "Spam form submissions denied"
|
2437 |
msgstr "Заблокированы отправки форм спама"
|
2438 |
|
2439 |
+
#: dashboard.php:61 dashboard.php:4668
|
2440 |
msgid "Security Rules"
|
2441 |
msgstr "Правила безопасности"
|
2442 |
|
2444 |
msgid "Cerber Security Rules"
|
2445 |
msgstr "Правила безопасности Цербер"
|
2446 |
|
2447 |
+
#: dashboard.php:193 dashboard.php:1081
|
2448 |
msgid "Country"
|
2449 |
msgstr "Страна"
|
2450 |
|
2451 |
+
#: common.php:1363
|
2452 |
msgid "Blocked by country rule"
|
2453 |
msgstr "Заблокирован по ограничению для страны"
|
2454 |
|
2455 |
+
#: common.php:1362
|
2456 |
msgid "Malicious activity detected"
|
2457 |
msgstr "Обнаружена вредоносная активность"
|
2458 |
|
2459 |
+
#: common.php:1358
|
2460 |
msgid "Citadel mode is active"
|
2461 |
msgstr "Режим цитадель активен"
|
2462 |
|
2463 |
+
#: common.php:1357
|
2464 |
msgid "Bot detected"
|
2465 |
msgstr "Обнаружен бот"
|
2466 |
|
2467 |
+
#: common.php:1336
|
2468 |
msgid "XML-RPC request denied"
|
2469 |
msgstr "Запрос XML-RPC заблокирован"
|
2470 |
|
2471 |
+
#: common.php:1335
|
2472 |
msgid "Request to REST API denied"
|
2473 |
msgstr "Запрос к REST API заблокирован"
|
2474 |
|
2475 |
+
#: common.php:1309
|
2476 |
msgid "Comment denied"
|
2477 |
msgstr "Комментарий заблокирован"
|
2478 |
|
2479 |
+
#: common.php:1308
|
2480 |
msgid "Form submission denied"
|
2481 |
msgstr "Отправка формы заблокирована"
|
2482 |
|
2483 |
+
#: dashboard.php:4724
|
2484 |
msgid "License"
|
2485 |
msgstr "Лицензия"
|
2486 |
|
2487 |
+
#: settings.php:1025
|
2488 |
msgid "Disable bot detection engine for logged in users"
|
2489 |
msgstr "Отключить определение ботов для авторизованных пользователей"
|
2490 |
|
2491 |
+
#: settings.php:374 settings.php:1024 dashboard.php:952 dashboard.php:1734
|
2492 |
+
#: dashboard.php:4007
|
2493 |
msgid "Logged in users"
|
2494 |
msgstr "Авторизованные пользователи"
|
2495 |
|
2496 |
+
#: settings.php:1020
|
2497 |
msgid "Use less restrictive policies (allow AJAX)"
|
2498 |
msgstr "Использовать менее жесткую политику (разрешить AJAX)"
|
2499 |
|
2500 |
+
#: settings.php:1019
|
2501 |
msgid "Safe mode"
|
2502 |
msgstr "Безопасный режим"
|
2503 |
|
2504 |
+
#: settings.php:1015
|
2505 |
+
msgid "Adjust anti-spam engine"
|
2506 |
msgstr "Настроить антиспам-движок"
|
2507 |
|
2508 |
+
#: settings.php:1009
|
2509 |
msgid "Protect all forms on the website with bot detection engine"
|
2510 |
msgstr "Защитить все формы на сайте через определение ботов"
|
2511 |
|
2512 |
+
#: settings.php:1008
|
2513 |
msgid "Other forms"
|
2514 |
msgstr "Другие формы"
|
2515 |
|
2516 |
+
#: common.php:1307
|
2517 |
msgid "Spam form submission denied"
|
2518 |
msgstr "Отправка формы со спамом заблокирована"
|
2519 |
|
2520 |
+
#: cerber-load.php:1874
|
2521 |
msgid "Sorry, human verification failed."
|
2522 |
msgstr "Извините, проверка на человека не удалась."
|
2523 |
|
2524 |
+
#: settings.php:1050
|
2525 |
msgid "Move spam comments to trash after"
|
2526 |
msgstr "Удалить спам комментарии в корзину после"
|
2527 |
|
2528 |
+
#: settings.php:1048
|
2529 |
msgid "Trash spam comments"
|
2530 |
msgstr "Удалить спам комментарии в корзину"
|
2531 |
|
2532 |
+
#: settings.php:1043
|
2533 |
msgid "If a spam comment detected"
|
2534 |
msgstr "Если обнаружен спам комментарий"
|
2535 |
|
2536 |
+
#: settings.php:1039
|
2537 |
msgid "Comment processing"
|
2538 |
msgstr "Обработка комментария"
|
2539 |
|
2540 |
+
#: settings.php:1004
|
2541 |
msgid "Protect registration form with bot detection engine"
|
2542 |
msgstr "Защита регистрации через определение ботов"
|
2543 |
|
2544 |
+
#: settings.php:999
|
2545 |
msgid "Protect comment form with bot detection engine"
|
2546 |
msgstr "Защита комментариев через определение ботов"
|
2547 |
|
2548 |
+
#: settings.php:993
|
2549 |
+
msgid "Cerber anti-spam engine"
|
2550 |
msgstr "Движок Цербер-антиспам"
|
2551 |
|
|
|
|
|
|
|
|
|
2552 |
#: dashboard.php:71
|
2553 |
+
msgid "Cerber anti-spam settings"
|
2554 |
+
msgstr "Настройка Цербер-антиспам"
|
2555 |
|
2556 |
+
#: common.php:1419
|
2557 |
msgid "Bot activity is detected"
|
2558 |
msgstr "Обнаружена активность ботов"
|
2559 |
|
2560 |
+
#: dashboard.php:4602
|
2561 |
+
msgid "Anti-spam and bot detection settings"
|
2562 |
msgstr "Антиспам и настройки определения ботов"
|
2563 |
|
2564 |
+
#: dashboard.php:4721
|
2565 |
msgid "Diagnostic"
|
2566 |
msgstr "Диагностика"
|
2567 |
|
2568 |
+
#: dashboard.php:4720
|
2569 |
msgid "Export & Import"
|
2570 |
msgstr "Экспорт и Импорт"
|
2571 |
|
2572 |
+
#: cerber-load.php:1549 cerber-load.php:1555 cerber-load.php:1580
|
2573 |
+
#: cerber-load.php:1587
|
2574 |
msgid "You are not allowed to register."
|
2575 |
msgstr "Вам не разрешено зарегистрироваться."
|
2576 |
|
2577 |
+
#: common.php:289
|
2578 |
msgid "Lockouts occurred"
|
2579 |
msgstr "Блокировок произошло"
|
2580 |
|
2581 |
+
#: common.php:288
|
2582 |
msgid "Malicious IP addresses detected"
|
2583 |
msgstr "Найдены вредоносные IP адреса"
|
2584 |
|
2585 |
+
#: common.php:286
|
2586 |
msgid "Spam comments denied"
|
2587 |
msgstr "Спам-комментарии отклонены"
|
2588 |
|
2589 |
+
#: common.php:283
|
2590 |
msgid "Malicious activities mitigated"
|
2591 |
msgstr "Вредоносная активность снижена"
|
2592 |
|
2593 |
+
#: dashboard.php:835 dashboard.php:1083
|
2594 |
msgid "Event"
|
2595 |
msgstr "Событие"
|
2596 |
|
2597 |
+
#: common.php:1330
|
2598 |
msgid "Attempt to register denied"
|
2599 |
msgstr "Попытка регистрации отклонена"
|
2600 |
|
2601 |
+
#: common.php:1329
|
2602 |
msgid "Attempt to log in denied"
|
2603 |
msgstr "Попытка входа отклонена"
|
2604 |
|
2605 |
+
#: common.php:1306
|
2606 |
msgid "Spam comment denied"
|
2607 |
msgstr "Спам коммнтарий отклонен"
|
2608 |
|
2609 |
+
#: settings.php:234
|
2610 |
msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
|
2611 |
msgstr "В режиме Цитадель никто не может войти кроме как с IP в белом списке. Активные сессии пользователей не будут затронуты."
|
2612 |
|
2613 |
+
#: settings.php:1117
|
2614 |
msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
|
2615 |
msgstr "Блокировать IP адрес на %s минут после %s неудачных попыток в течении %s минут"
|
2616 |
|
2617 |
+
#: settings.php:1116
|
2618 |
msgid "Limit attempts"
|
2619 |
msgstr "Ограничение попыток"
|
2620 |
|
2621 |
+
#: settings.php:1106 dashboard.php:71
|
2622 |
+
msgid "Anti-spam"
|
2623 |
+
msgstr "Антиспам"
|
2624 |
+
|
2625 |
+
#: settings.php:156
|
2626 |
msgid "Apply limit login rules to IP addresses in the White IP Access List"
|
2627 |
msgstr "Применить правила входа для IP адресов в белом списке"
|
2628 |
|
2629 |
+
#: common.php:1418
|
2630 |
msgid "Limit on failed reCAPTCHA verifications is reached"
|
2631 |
msgstr "Достигнут предел проверки reCAPTCHA"
|
2632 |
|
2633 |
+
#: common.php:1319
|
2634 |
msgid "Password reset requested"
|
2635 |
msgstr "Запрошен сброс пароля"
|
2636 |
|
2637 |
+
#: settings.php:1072
|
2638 |
msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
|
2639 |
msgstr "(не включайте, если у вас нет или вы не вводили ключ сайта и секретный ключ для невидимой версии)"
|
2640 |
|
2641 |
+
#: settings.php:1112
|
2642 |
msgid "Disable reCAPTCHA for logged in users"
|
2643 |
msgstr "Отключить reCAPTCHA для авторизованных пользователей"
|
2644 |
|
2645 |
+
#: settings.php:1107
|
2646 |
msgid "Enable reCAPTCHA for WordPress comment form"
|
2647 |
msgstr "Включить reCAPTCHA в форме комментариев WordPress"
|
2648 |
|
2649 |
+
#: settings.php:998
|
2650 |
msgid "Comment form"
|
2651 |
msgstr "Форма комментариев"
|
2652 |
|
2653 |
+
#: settings.php:1072
|
2654 |
msgid "Enable invisible reCAPTCHA"
|
2655 |
msgstr "Включить невидимую reCAPTCHA"
|
2656 |
|
2657 |
+
#: settings.php:1071
|
2658 |
msgid "Invisible reCAPTCHA"
|
2659 |
msgstr "невидимая reCAPTCHA"
|
2660 |
|
2661 |
+
#: common.php:1570
|
2662 |
msgid "%s ago"
|
2663 |
msgstr "%s назад"
|
2664 |
|
2665 |
+
#: settings.php:110
|
2666 |
msgid "Not available"
|
2667 |
msgstr "Недоступно"
|
2668 |
|
2669 |
+
#: settings.php:106
|
2670 |
msgid "No devices found"
|
2671 |
msgstr "Устройства не найдены"
|
2672 |
|
2673 |
+
#: settings.php:103
|
2674 |
msgid "All connected devices"
|
2675 |
msgstr "Все подключенные устройства"
|
2676 |
|
2677 |
+
#: settings.php:629 settings.php:678 settings.php:761 settings.php:917
|
2678 |
msgid "Use comma to specify multiple values"
|
2679 |
msgstr "Используйте запятую для разделения множественных значений"
|
2680 |
|
2681 |
+
#: settings.php:619
|
2682 |
msgid "Email notifications"
|
2683 |
msgstr "Уведомления по эл.почте"
|
2684 |
|
2685 |
+
#: settings.php:186
|
2686 |
msgid "Display 404 page"
|
2687 |
msgstr "Показывать страницу 404"
|
2688 |
|
2689 |
+
#: settings.php:648
|
2690 |
msgid "Push notifications"
|
2691 |
msgstr "Push уведомления"
|
2692 |
|
2693 |
+
#: dashboard.php:1148
|
2694 |
msgid "Search for IP or username"
|
2695 |
msgstr "Поиск IP или имени пользователя"
|
2696 |
|
2698 |
msgid "Unsubscribe"
|
2699 |
msgstr "Отменить подписку"
|
2700 |
|
2701 |
+
#: dashboard.php:838
|
2702 |
msgid "User login"
|
2703 |
msgstr "Имя пользователя"
|
2704 |
|
2705 |
+
#: dashboard.php:3549
|
2706 |
msgid "IP address"
|
2707 |
msgstr "IP адрес"
|
2708 |
|
2709 |
+
#: dashboard.php:1107 dashboard.php:4039
|
2710 |
msgid "Export"
|
2711 |
msgstr "Экспорт"
|
2712 |
|
2713 |
+
#: dashboard.php:839 dashboard.php:3555
|
2714 |
msgid "User ID"
|
2715 |
msgstr "ID пользователя"
|
2716 |
|
2718 |
msgid "Cerber Dashboard"
|
2719 |
msgstr "Консоль Cerber"
|
2720 |
|
2721 |
+
#: dashboard.php:1159
|
2722 |
msgid "Filter"
|
2723 |
msgstr "Фильтр"
|
2724 |
|
2725 |
+
#: dashboard.php:82
|
2726 |
msgid "Cerber tools"
|
2727 |
msgstr "Инструменты Cerber"
|
2728 |
|
2729 |
+
#: cerber-load.php:4170 cerber-load.php:4171
|
2730 |
msgid "A new activity has been recorded"
|
2731 |
msgstr "Отмечена новая активность"
|
2732 |
|
2733 |
+
#: settings.php:311
|
2734 |
msgid "if empty, the default format %s will be used"
|
2735 |
msgstr "Если пусто, будет использован формат по умолчанию %s"
|
2736 |
|
2737 |
+
#: cerber-load.php:4836 cerber-users.php:969
|
2738 |
msgid "User"
|
2739 |
msgstr "Пользователь"
|
2740 |
|
2741 |
+
#: cerber-load.php:4844
|
2742 |
msgid "Search string"
|
2743 |
msgstr "Строка поиска"
|
2744 |
|
2745 |
+
#: settings.php:302
|
2746 |
msgid "Preferences"
|
2747 |
msgstr "Настройки"
|
2748 |
|
2749 |
+
#: settings.php:310
|
2750 |
msgid "Date format"
|
2751 |
msgstr "Формат даты"
|
2752 |
|
2753 |
+
#: dashboard.php:54 dashboard.php:1778 dashboard.php:2681 dashboard.php:4556
|
2754 |
msgid "Dashboard"
|
2755 |
msgstr "Консоль"
|
2756 |
|
2757 |
+
#: settings.php:1102
|
2758 |
msgid "Enable reCAPTCHA for WooCommerce login form"
|
2759 |
msgstr "Включить reCAPTCHA для формы входа WooCommerce"
|
2760 |
|
2761 |
+
#: settings.php:1097
|
2762 |
msgid "Enable reCAPTCHA for WordPress login form"
|
2763 |
msgstr "Включить reCAPTCHA для формы входа WordPress"
|
2764 |
|
2765 |
+
#: settings.php:1092
|
2766 |
msgid "Enable reCAPTCHA for WooCommerce lost password form"
|
2767 |
msgstr "Включить reCAPTCHA для формы восстановления пароля WooCommerce"
|
2768 |
|
2769 |
+
#: settings.php:1087
|
2770 |
msgid "Enable reCAPTCHA for WordPress lost password form"
|
2771 |
msgstr "Включить reCAPTCHA для формы восстановления пароля WordPress"
|
2772 |
|
2773 |
+
#: settings.php:1082
|
2774 |
msgid "Enable reCAPTCHA for WooCommerce registration form"
|
2775 |
msgstr "Включить reCAPTCHA для формы регистрации WooCommerce"
|
2776 |
|
2777 |
+
#: settings.php:1077
|
2778 |
msgid "Enable reCAPTCHA for WordPress registration form"
|
2779 |
msgstr "Включить reCAPTCHA для формы регистрации WordPress"
|
2780 |
|
2781 |
+
#: settings.php:1003 settings.php:1076
|
2782 |
msgid "Registration form"
|
2783 |
msgstr "Форма регистрации"
|
2784 |
|
2785 |
+
#: settings.php:287
|
2786 |
msgid "Cerber Lab protocol"
|
2787 |
msgstr "протокол Cerber Lab"
|
2788 |
|
2789 |
+
#: settings.php:282
|
2790 |
msgid "Send malicious IP addresses to the Cerber Lab"
|
2791 |
msgstr "Посылать вредоносные IP адреса в Cerber Lab"
|
2792 |
|
2793 |
+
#: settings.php:281
|
2794 |
msgid "Cerber Lab connection"
|
2795 |
msgstr "Подключение Cerber Lab"
|
2796 |
|
2797 |
+
#: dashboard.php:2344
|
2798 |
msgid "Recently locked out IP addresses"
|
2799 |
msgstr "Недавно заблокированые IP адреса"
|
2800 |
|
2801 |
+
#: dashboard.php:931 dashboard.php:2341
|
2802 |
msgid "View all"
|
2803 |
msgstr "Просмотреть все"
|
2804 |
|
2805 |
+
#: dashboard.php:1441
|
2806 |
msgid "Add network to the Black List"
|
2807 |
msgstr "Добавить сеть в черный список"
|
2808 |
|
2809 |
+
#: dashboard.php:1427
|
2810 |
msgid "Network:"
|
2811 |
msgstr "Сеть:"
|
2812 |
|
2813 |
+
#: dashboard.php:4871
|
2814 |
msgid "Incorrect IP address or IP range"
|
2815 |
msgstr "Неверный IP адрес или диапазон адресов"
|
2816 |
|
2817 |
+
#: common.php:1323
|
2818 |
msgid "Request to the Google reCAPTCHA service failed"
|
2819 |
msgstr "Запрос к сервису Google reCAPTCHA не удался"
|
2820 |
|
2821 |
+
#: cerber-lab.php:827
|
2822 |
msgid "NO, maybe later"
|
2823 |
msgstr "НЕТ, возможно позже"
|
2824 |
|
2825 |
+
#: cerber-lab.php:826
|
2826 |
msgid "OK, nail them all"
|
2827 |
msgstr "ОК, прибьем их всех"
|
2828 |
|
2829 |
+
#: cerber-lab.php:825
|
2830 |
msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
|
2831 |
msgstr "Разрешить WP Cerber посылать заблокированные IP адреса в Cerber Lab. Это помогает команде плагина разрабатывать новые алгоритмы для WP Cerber, которые будут защищать WordPress против новых угроз и ботнетов появляюшихся каждый день. Вы всегда можете отключить отсылку в настройках плагина, в любой момент."
|
2832 |
|
2833 |
+
#: cerber-lab.php:824
|
2834 |
msgid "Want to make WP Cerber even more powerful?"
|
2835 |
msgstr "Хотите сделать WP Cerber еще мощнее ?"
|
2836 |
|
2839 |
msgid "https://wpcerber.com"
|
2840 |
msgstr "https://wpcerber.com"
|
2841 |
|
2842 |
+
#: cerber-load.php:5135
|
2843 |
msgid "Import settings"
|
2844 |
msgstr "Импорт настроек"
|
2845 |
|
2846 |
+
#: cerber-load.php:5119
|
2847 |
msgid "Your IP address is added to the"
|
2848 |
msgstr "Ваш IP адрес добавлен к"
|
2849 |
|
2850 |
+
#: cerber-load.php:5096
|
2851 |
msgid "Can't activate WP Cerber due to a database error."
|
2852 |
msgstr "Невозможно активировать плагин WP Cerber из-за ошибки в базе данных."
|
2853 |
|
2854 |
+
#: cerber-load.php:5087
|
2855 |
msgid "The WP Cerber requires WordPress %s or higher. You are running"
|
2856 |
msgstr "WP Cerber требует WordPress версии %s или выше. У вас версия"
|
2857 |
|
2858 |
+
#: cerber-load.php:5083
|
2859 |
msgid "The WP Cerber requires PHP %s or higher. You are running"
|
2860 |
msgstr "WP Cerber требует PHP версии %s или выше. У вас версия"
|
2861 |
|
2862 |
+
#: cerber-load.php:4219
|
2863 |
msgid "This message was sent by"
|
2864 |
msgstr "Это сообщение было отправлено"
|
2865 |
|
2866 |
+
#: cerber-load.php:4166
|
2867 |
msgid "New Custom login URL"
|
2868 |
msgstr "Новый URL для входа на сайт"
|
2869 |
|
2870 |
+
#: cerber-load.php:4159 cerber-load.php:5118
|
2871 |
msgid "WP Cerber is now active and has started protecting your site"
|
2872 |
msgstr "WP Cerber активен и начал защищать ваш сайт"
|
2873 |
|
2874 |
+
#: cerber-load.php:4158
|
2875 |
msgid "The WP Cerber security plugin is now active"
|
2876 |
msgstr "WP Cerber плагин безопасности активен"
|
2877 |
|
2878 |
+
#: cerber-load.php:4154
|
2879 |
msgid "From country"
|
2880 |
msgstr "Из страны"
|
2881 |
|
2882 |
+
#: cerber-load.php:4151
|
2883 |
msgid "From IP address"
|
2884 |
msgstr "С IP адреса"
|
2885 |
|
2886 |
+
#: cerber-load.php:4150
|
2887 |
msgid "By user"
|
2888 |
msgstr "По пользователю"
|
2889 |
|
2890 |
+
#: cerber-load.php:4144
|
2891 |
msgid "Not logged in"
|
2892 |
msgstr "Нет авторизации"
|
2893 |
|
2894 |
+
#: cerber-load.php:4141 cerber-load.php:4142
|
2895 |
msgid "The WP Cerber security plugin has been deactivated"
|
2896 |
msgstr "WP Cerber плагин деактивирован"
|
2897 |
|
2898 |
+
#: cerber-load.php:4138 cerber-load.php:4149 nexus/cerber-slave-list.php:44
|
2899 |
msgid "Website"
|
2900 |
msgstr "Сайт"
|
2901 |
|
2902 |
+
#: cerber-load.php:4135
|
2903 |
msgid "Hi!"
|
2904 |
msgstr "Привет!"
|
2905 |
|
2906 |
+
#: cerber-load.php:4134 cerber-load.php:4136
|
2907 |
msgid "A new version of WP Cerber is available to install"
|
2908 |
msgstr "Доступна новая версия WP Cerber!"
|
2909 |
|
2910 |
+
#: cerber-load.php:4131
|
2911 |
msgid "View lockouts in dashboard"
|
2912 |
msgstr "Просмотреть список заблокированных IP"
|
2913 |
|
2914 |
+
#: cerber-load.php:4130
|
2915 |
msgid "View activity for this IP"
|
2916 |
msgstr "Посмотреть активность для этого IP"
|
2917 |
|
2918 |
+
#: cerber-load.php:4128
|
2919 |
msgid "Last lockout was added: %s for IP %s"
|
2920 |
msgstr "Последняя блокировка была добавлена %s для IP %s"
|
2921 |
|
2922 |
+
#: cerber-load.php:4127
|
2923 |
msgid "Number of active lockouts"
|
2924 |
msgstr "Число активных блокировок на данный момент"
|
2925 |
|
2926 |
+
#: cerber-load.php:4125
|
2927 |
msgid "Number of lockouts is increasing"
|
2928 |
msgstr "Число блокировок увеличилось"
|
2929 |
|
2930 |
+
#: cerber-load.php:4122
|
2931 |
msgid "unspecified"
|
2932 |
msgstr "неуказано"
|
2933 |
|
2934 |
+
#: cerber-load.php:4098 cerber-load.php:4864
|
2935 |
msgid "View activity in dashboard"
|
2936 |
msgstr "Просмотреть журнал активности"
|
2937 |
|
2938 |
+
#: cerber-load.php:4097
|
2939 |
msgid "Last failed attempt was at %s from IP %s with user login: %s."
|
2940 |
msgstr "Последняя неудачная попытка была в %s с IP адреса %s с логином %s."
|
2941 |
|
2942 |
+
#: cerber-load.php:4096
|
2943 |
msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
|
2944 |
msgstr "Режим Цитадель активирован после %d неудачных попыток за %d минут."
|
2945 |
|
2946 |
+
#: cerber-load.php:4094
|
2947 |
msgid "Citadel mode is activated"
|
2948 |
msgstr "Активирован режим Цитадель"
|
2949 |
|
2950 |
+
#: cerber-load.php:4070
|
2951 |
msgid "WP Cerber notify"
|
2952 |
msgstr "Уведомление WP Cerber"
|
2953 |
|
2954 |
+
#: common.php:1413
|
2955 |
msgid "Limit on login attempts is reached"
|
2956 |
msgstr "Количество попыток исчерпано"
|
2957 |
|
2958 |
+
#: common.php:1414
|
2959 |
msgid "Attempt to access"
|
2960 |
msgstr "Попытка доступа к"
|
2961 |
|
2962 |
+
#: cerber-load.php:1567
|
2963 |
msgid "Username is not allowed. Please choose another one."
|
2964 |
msgstr "Имя пользователя недопустимо. Выберите другое."
|
2965 |
|
2966 |
+
#: cerber-load.php:1126
|
2967 |
msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
|
2968 |
msgstr "<strong>ОШИБКА</strong>: Пароль введенный для пользователя %s is некорректен."
|
2969 |
|
2970 |
+
#: cerber-load.php:678
|
2971 |
msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
|
2972 |
msgstr "Антибот проверка неудачна. Пожалуйста тыкните в квадратную отметку блока reCAPTCHA ниже"
|
2973 |
|
2974 |
+
#: admin/cerber-settings.php:624 admin/cerber-settings.php:644
|
2975 |
+
#: admin/cerber-settings.php:725 cerber-load.php:649 cerber-load.php:661
|
2976 |
+
#: cerber-load.php:668 cerber-load.php:1017 cerber-load.php:1548
|
2977 |
+
#: cerber-load.php:1554 cerber-load.php:1559 cerber-load.php:1566
|
2978 |
+
#: cerber-load.php:1573 cerber-load.php:1579 cerber-load.php:1586
|
2979 |
+
#: cerber-load.php:1737 cerber-load.php:1874 nexus/cerber-nexus-slave.php:219
|
2980 |
+
#: nexus/cerber-nexus-slave.php:230 cerber-scanner.php:5870 common.php:343
|
2981 |
+
#: common.php:421 common.php:426 common.php:432 common.php:437
|
2982 |
msgid "ERROR:"
|
2983 |
msgstr "ОШИБКА:"
|
2984 |
|
2985 |
+
#: cerber-load.php:366
|
2986 |
msgid "You have only one attempt remaining."
|
2987 |
msgid_plural "You have %d attempts remaining."
|
2988 |
msgstr[0] "У вас есть только одна попытка для входа"
|
2989 |
msgstr[1] "У вас осталось %d попытки для входа."
|
2990 |
msgstr[2] "У вас осталось %d попыток для входа."
|
2991 |
|
2992 |
+
#: cerber-load.php:341
|
2993 |
msgid "You are not allowed to log in. Ask your administrator for assistance."
|
2994 |
msgstr "Вход на сайт невозможен. Обратитесь к администратору сайта."
|
2995 |
|
2996 |
+
#: dashboard.php:427 dashboard.php:3662 whois.php:222 whois.php:253
|
2997 |
+
#: nexus/cerber-slave-list.php:330 common.php:1438 common.php:1822
|
2998 |
+
#: common.php:1887
|
2999 |
msgid "Unknown"
|
3000 |
msgstr "Неизвестен"
|
3001 |
|
3002 |
+
#: admin/cerber-settings.php:749 admin/cerber-settings.php:761
|
3003 |
+
#: admin/cerber-settings.php:918
|
3004 |
msgid "<strong>ERROR</strong>: please enter a valid email address."
|
3005 |
msgstr "<strong>ОШИБКА</strong>: Введите действительный адрес эл.почты."
|
3006 |
|
3007 |
+
#: admin/cerber-settings.php:652 admin/cerber-settings.php:653
|
3008 |
msgid "Attention! You have changed the login URL! The new login URL is"
|
3009 |
msgstr "Внимание! Вы изменили URL страницы авторизации. Новый адрес"
|
3010 |
|
3011 |
+
#: admin/cerber-settings.php:376
|
3012 |
+
msgid "Enable after %s failed login attempts in the last %s minutes"
|
3013 |
msgstr "Активировать после %s неудачных авторизаций за последние %s минут"
|
3014 |
|
3015 |
+
#: admin/cerber-settings.php:367
|
3016 |
msgid "Notify admin if the number of active lockouts above"
|
3017 |
msgstr "Уведомить администратора, если число заблокированных IP более"
|
3018 |
|
3019 |
+
#: admin/cerber-settings.php:359
|
3020 |
msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
|
3021 |
msgstr "Увеличить длительность блокировки до %s часов после %s блокировок в течение последних %s часов"
|
3022 |
|
3023 |
+
#: dashboard.php:4825
|
|
|
|
|
|
|
|
|
3024 |
msgid "Help"
|
3025 |
msgstr "Помощь"
|
3026 |
|
3027 |
+
#: dashboard.php:82 dashboard.php:4718
|
3028 |
msgid "Tools"
|
3029 |
msgstr "Инструменты"
|
3030 |
|
3031 |
+
#: dashboard.php:4562
|
3032 |
msgid "Hardening"
|
3033 |
msgstr "Панцирь"
|
3034 |
|
3035 |
+
#: dashboard.php:4560
|
3036 |
msgid "Main Settings"
|
3037 |
msgstr "Основные настройки"
|
3038 |
|
3039 |
+
#: admin/cerber-settings.php:94 admin/cerber-settings.php:271
|
3040 |
+
#: cerber-lab.php:828
|
3041 |
msgid "Know more"
|
3042 |
msgstr "Узнать больше"
|
3043 |
|
3044 |
+
#: settings.php:1059
|
3045 |
msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
|
3046 |
msgstr "Перед использованием reCAPTCHA вам нужно получить ключ сайта и секретный ключ на сайте Google"
|
3047 |
|
3048 |
+
#: settings.php:116
|
3049 |
msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
|
3050 |
msgstr "Для использования этой настройки необходимо активировать Постоянные ссылки в настройках сайта."
|
3051 |
|
3052 |
+
#: settings.php:163
|
3053 |
msgid "Make your protection smarter!"
|
3054 |
msgstr "Сделайте защиту от злоумышленников еще умнее"
|
3055 |
|
3056 |
+
#: settings.php:1096
|
3057 |
msgid "Login form"
|
3058 |
msgstr "Форма входа"
|
3059 |
|
3060 |
+
#: settings.php:1086
|
3061 |
msgid "Lost password form"
|
3062 |
msgstr "Форма восстановления пароля"
|
3063 |
|
3064 |
+
#: settings.php:1067
|
3065 |
msgid "Secret key"
|
3066 |
msgstr "Секретный ключ"
|
3067 |
|
3068 |
+
#: settings.php:1063
|
3069 |
msgid "Site key"
|
3070 |
msgstr "Ключ сайта"
|
3071 |
|
3072 |
+
#: settings.php:1058
|
3073 |
msgid "reCAPTCHA settings"
|
3074 |
msgstr "Настройки reCAPTCHA"
|
3075 |
|
3076 |
+
#: settings.php:558
|
3077 |
msgid "in minutes (leave empty to use default WP value)"
|
3078 |
msgstr "В минутах (оставьте пустым для значения WP по умолчанию)"
|
3079 |
|
3080 |
+
#: settings.php:550
|
3081 |
msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
|
3082 |
msgstr "Имена пользователей из этого списка не разрешены для входа или регистрации. Любой IP адрес пытающийся использовать эти имена будет автоматически заблокирован. Испольуйте запятую как разделитель."
|
3083 |
|
3084 |
+
#: settings.php:549
|
3085 |
msgid "Prohibited usernames"
|
3086 |
msgstr "Запрещеные имена пользователей"
|
3087 |
|
3088 |
+
#: settings.php:369
|
3089 |
msgid "Disable REST API"
|
3090 |
msgstr "Отключить REST API"
|
3091 |
|
3092 |
+
#: settings.php:353
|
3093 |
msgid "Block access to the RSS, Atom and RDF feeds"
|
3094 |
msgstr "Закрыть доступ к RSS, Atom и RDF лентам"
|
3095 |
|
3096 |
+
#: settings.php:352
|
3097 |
msgid "Disable feeds"
|
3098 |
msgstr "Отключить ленты"
|
3099 |
|
3100 |
+
#: settings.php:348
|
3101 |
msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
|
3102 |
msgstr "Закрыть доступ к функциям XML-RPC, включая уведомления и обратные ссылки"
|
3103 |
|
3104 |
+
#: settings.php:347
|
3105 |
msgid "Disable XML-RPC"
|
3106 |
msgstr "Отключить XML-RPC"
|
3107 |
|
3108 |
+
#: settings.php:329
|
3109 |
msgid "Block access to user pages like /?author=n"
|
3110 |
msgstr "Закрыть доступ к страницам авторов наподобие /?author=n"
|
3111 |
|
3112 |
+
#: settings.php:328 settings.php:364
|
3113 |
msgid "Stop user enumeration"
|
3114 |
msgstr "Заблокировать сбор имен"
|
3115 |
|
3116 |
+
#: settings.php:324
|
3117 |
msgid "Hardening WordPress"
|
3118 |
msgstr "Усиление защиты WordPress"
|
3119 |
|
3120 |
+
#: settings.php:296
|
3121 |
msgid "Write failed login attempts to the file"
|
3122 |
msgstr "Записывать попытки входа в файл"
|
3123 |
|
3124 |
+
#: settings.php:295
|
3125 |
msgid "Use file"
|
3126 |
msgstr "Использовать файл"
|
3127 |
|
3128 |
+
#: settings.php:306
|
3129 |
msgid "Retrieve extra WHOIS information for IP"
|
3130 |
msgstr "Получить дополнительную информацию об IP используя WHOIS"
|
3131 |
|
3132 |
+
#: settings.php:305
|
3133 |
msgid "Drill down IP"
|
3134 |
msgstr "Изучать IP"
|
3135 |
|
3136 |
+
#: settings.php:270 settings.php:276 settings.php:789 settings.php:794
|
3137 |
+
#: settings.php:859 settings.php:1051
|
3138 |
msgid "days"
|
3139 |
msgstr "дней"
|
3140 |
|
3141 |
+
#: settings.php:637
|
3142 |
+
msgid "notifications are allowed per hour (0 means unlimited)"
|
3143 |
msgstr "разрешенное число писем с уведомлениями в час (0 - без ограничений)"
|
3144 |
|
3145 |
+
#: settings.php:636
|
3146 |
msgid "Notification limit"
|
3147 |
msgstr "Ограничение уведомлений"
|
3148 |
|
3149 |
+
#: settings.php:628 settings.php:676 settings.php:915
|
|
|
|
|
|
|
|
|
3150 |
msgid "Email Address"
|
3151 |
msgstr "Адрес email"
|
3152 |
|
3153 |
+
#: settings.php:260 admin/cerber-settings.php:372
|
3154 |
msgid "Click to send test"
|
3155 |
msgstr "Нажмите, чтобы протестировать отправку"
|
3156 |
|
3157 |
+
#: settings.php:256
|
3158 |
msgid "Send notification to admin email"
|
3159 |
msgstr "Отправить уведомление на адрес email администратора сайта"
|
3160 |
|
3161 |
+
#: settings.php:248 cerber-scanner.php:3958
|
3162 |
msgid "Duration"
|
3163 |
msgstr "Длительность"
|
3164 |
|
3165 |
+
#: settings.php:243
|
3166 |
msgid "Threshold"
|
3167 |
msgstr "Порог"
|
3168 |
|
3169 |
+
#: settings.php:210
|
3170 |
msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
|
3171 |
msgstr "Заблокировать доступ к wp-login.php и возвращать HTTP 404 Страница не найдена"
|
3172 |
|
3173 |
+
#: settings.php:209
|
3174 |
msgid "Disable wp-login.php"
|
3175 |
msgstr "Доступ к wp-login.php"
|
3176 |
|
3177 |
+
#: settings.php:202
|
3178 |
msgid "must not overlap with the existing pages or posts slug"
|
3179 |
msgstr "не должно совпадать с URL существующих страниц или записей"
|
3180 |
|
3181 |
+
#: settings.php:201
|
3182 |
msgid "Custom login URL"
|
3183 |
msgstr "Адрес страницы авторизации"
|
3184 |
|
3185 |
+
#: settings.php:197
|
3186 |
msgid "Custom login page"
|
3187 |
msgstr "Смена URL страницы авторизации"
|
3188 |
|
3189 |
+
#: settings.php:182
|
3190 |
msgid "Immediately block IP after any request to wp-login.php"
|
3191 |
msgstr "Блокировать IP при любом запросе wp-login.php"
|
3192 |
|
3193 |
+
#: settings.php:181
|
3194 |
msgid "Request wp-login.php"
|
3195 |
msgstr "Запрос wp-login.php"
|
3196 |
|
3197 |
+
#: settings.php:177
|
3198 |
msgid "Disable automatic redirection to the login page when /wp-admin/ is requested by an unauthorized request"
|
3199 |
msgstr "Отключить автоматическую переадресацию при запросе /wp-admin/ неавторизованным пользователем"
|
3200 |
|
3201 |
+
#: settings.php:172
|
3202 |
msgid "Immediately block IP when attempting to log in with a non-existing username"
|
3203 |
msgstr "Блокировать IP при попытке авторизации с логином несуществующего пользователя"
|
3204 |
|
3205 |
+
#: settings.php:171
|
3206 |
msgid "Non-existing users"
|
3207 |
msgstr "Несуществующие пользователи"
|
3208 |
|
3209 |
+
#: settings.php:167
|
3210 |
msgid "Always block entire subnet Class C of intruders IP"
|
3211 |
msgstr "Всегда блокировать подсеть класса С вместо IP адреса"
|
3212 |
|
3213 |
+
#: settings.php:166
|
3214 |
msgid "Block subnet"
|
3215 |
msgstr "Блокировка подсети"
|
3216 |
|
3217 |
+
#: settings.php:162
|
3218 |
msgid "Proactive security rules"
|
3219 |
msgstr "Проактивные правила безопасности"
|
3220 |
|
3221 |
+
#: settings.php:220 dashboard.php:2144
|
3222 |
msgid "My site is behind a reverse proxy"
|
3223 |
msgstr "Мой сайт подключен к сети через прокси-сервер"
|
3224 |
|
3225 |
+
#: settings.php:219
|
3226 |
msgid "Site connection"
|
3227 |
msgstr "Подключение к сети"
|
3228 |
|
3229 |
+
#: settings.php:254 dashboard.php:4564
|
3230 |
msgid "Notifications"
|
3231 |
msgstr "Уведомления"
|
3232 |
|
3233 |
+
#: settings.php:151
|
3234 |
msgid "Aggressive lockout"
|
3235 |
msgstr "Ужесточение"
|
3236 |
|
3237 |
+
#: settings.php:147 settings.php:249
|
3238 |
msgid "minutes"
|
3239 |
msgstr "минут"
|
3240 |
|
3241 |
+
#: settings.php:146
|
3242 |
msgid "Lockout duration"
|
3243 |
msgstr "Длительность блокировки"
|
3244 |
|
3245 |
+
#: settings.php:139
|
|
|
|
|
|
|
|
|
3246 |
msgid "Limit login attempts"
|
3247 |
msgstr "Ограничение числа попыток авторизации"
|
3248 |
|
3249 |
+
#: dashboard.php:1422
|
3250 |
msgid "Abuse email:"
|
3251 |
msgstr "Адрес email для жалоб:"
|
3252 |
|
3253 |
+
#: settings.php:642
|
3254 |
msgid "New version is available"
|
3255 |
msgstr "Доступна новая версия"
|
3256 |
|
3257 |
+
#: dashboard.php:2485 dashboard.php:2872
|
3258 |
msgid "View Activity"
|
3259 |
msgstr "Что происходит?"
|
3260 |
|
3261 |
+
#: dashboard.php:2484
|
3262 |
msgid "Deactivate"
|
3263 |
msgstr "Деактивировать"
|
3264 |
|
3265 |
+
#: dashboard.php:2483
|
3266 |
msgid "Attention! Citadel mode is now active. Nobody is able to log in."
|
3267 |
msgstr "Внимание! Режим Цитадель активен. Авторизация на сайте заблокирована."
|
3268 |
|
3269 |
+
#: dashboard.php:2379
|
3270 |
msgid "doesn't affect Custom login URL and Access Lists"
|
3271 |
msgstr "не затронет настройки URL страницы авторизации и списки доступа"
|
3272 |
|
3273 |
+
#: dashboard.php:2373 dashboard.php:5025 cerber-scanner.php:5739
|
3274 |
+
#: cerber-scanner.php:5900
|
3275 |
msgid "Are you sure?"
|
3276 |
msgstr "Вы уверены?"
|
3277 |
|
3278 |
+
#: dashboard.php:2371
|
3279 |
msgid "Load default settings"
|
3280 |
msgstr "Загрузить настройки"
|
3281 |
|
3282 |
+
#: dashboard.php:2369
|
3283 |
msgid "You can easily load default recommended settings using button below"
|
3284 |
msgstr "Вы можете загрузить рекомендованные настройки с помощью всего одной кнопки"
|
3285 |
|
3286 |
+
#: dashboard.php:2368
|
3287 |
msgid "Confused about some settings?"
|
3288 |
msgstr "Сомневаетесь какие настройки оптимальны?"
|
3289 |
|
3290 |
+
#: dashboard.php:4559
|
3291 |
msgid "Lockouts"
|
3292 |
msgstr "Блокировки"
|
3293 |
|
3294 |
+
#: settings.php:233 dashboard.php:1738
|
3295 |
msgid "Citadel mode"
|
3296 |
msgstr "Режим Цитадель"
|
3297 |
|
3298 |
+
#: dashboard.php:1736 dashboard.php:1737 dashboard.php:2663
|
3299 |
msgid "entry"
|
3300 |
msgid_plural "entries"
|
3301 |
msgstr[0] "элемент"
|
3302 |
msgstr[1] "элемента"
|
3303 |
msgstr[2] "элементов"
|
3304 |
|
3305 |
+
#: dashboard.php:1732
|
3306 |
msgid "Last lockout"
|
3307 |
msgstr "Последняя блокировка"
|
3308 |
|
3309 |
+
#: dashboard.php:1731
|
3310 |
msgid "Lockouts at the moment"
|
3311 |
msgstr "Сейчас заблокировано"
|
3312 |
|
3313 |
+
#: dashboard.php:1729
|
3314 |
msgid "lockouts"
|
3315 |
msgstr "блокировок"
|
3316 |
|
3317 |
+
#: dashboard.php:1728 dashboard.php:1729
|
3318 |
msgid "view all"
|
3319 |
msgstr "просмотреть все"
|
3320 |
|
3321 |
+
#: dashboard.php:1728 dashboard.php:1729
|
3322 |
msgid "in 24 hours"
|
3323 |
msgstr "за 24 часа"
|
3324 |
|
3325 |
+
#: dashboard.php:1728
|
3326 |
msgid "failed attempts"
|
3327 |
msgstr "ошибок авторизации"
|
3328 |
|
3329 |
+
#: dashboard.php:1722 dashboard.php:1740
|
3330 |
msgid "disabled"
|
3331 |
msgstr "отключен"
|
3332 |
|
3333 |
+
#: dashboard.php:1719
|
3334 |
msgid "not active"
|
3335 |
msgstr "неактивен"
|
3336 |
|
3337 |
+
#: dashboard.php:1715
|
3338 |
msgid "deactivate"
|
3339 |
msgstr "деактивировать"
|
3340 |
|
3341 |
+
#: dashboard.php:1715 dashboard.php:1745
|
3342 |
msgid "active"
|
3343 |
msgstr "активен"
|
3344 |
|
3345 |
+
#: dashboard.php:1676
|
3346 |
msgid "Cerber Quick View"
|
3347 |
msgstr "Сводка от Cerber"
|
3348 |
|
3358 |
msgid "No file was uploaded or file is corrupted"
|
3359 |
msgstr "Файл не был загружен или имеет неверный формат"
|
3360 |
|
3361 |
+
#: cerber-tools.php:48 cerber-scanner.php:4109
|
3362 |
msgid "Upload file"
|
3363 |
msgstr "Загрузить файл"
|
3364 |
|
3366 |
msgid "What do you want to import?"
|
3367 |
msgstr "Что вы хотите импортировать?"
|
3368 |
|
3369 |
+
#: cerber-tools.php:43 cerber-scanner.php:4106
|
3370 |
msgid "Maximum upload file size: %s."
|
3371 |
msgstr "Максимальный размер загружаемого файла: %s."
|
3372 |
|
3386 |
msgid "Download file"
|
3387 |
msgstr "Скачать файл"
|
3388 |
|
3389 |
+
#: cerber-tools.php:38 cerber-tools.php:47 dashboard.php:4561
|
3390 |
msgid "Access Lists"
|
3391 |
msgstr "Списки доступа"
|
3392 |
|
3393 |
+
#: cerber-tools.php:37 cerber-tools.php:46 dashboard.php:4625
|
3394 |
+
#: dashboard.php:4686 nexus/cerber-nexus.php:93
|
3395 |
msgid "Settings"
|
3396 |
msgstr "Настройки"
|
3397 |
|
3407 |
msgid "Export settings to the file"
|
3408 |
msgstr "Экспорт настроек в файл"
|
3409 |
|
3410 |
+
#: dashboard.php:1619 dashboard.php:1710 dashboard.php:1759
|
3411 |
+
#: nexus/cerber-slave-list.php:344 common.php:1575
|
3412 |
msgid "Never"
|
3413 |
msgstr "Никогда"
|
3414 |
|
3415 |
+
#: common.php:1294
|
3416 |
msgid "User created"
|
3417 |
msgstr "Пользователь создан"
|
3418 |
|
3419 |
+
#: common.php:1295
|
3420 |
msgid "User registered"
|
3421 |
msgstr "Пользователь зарегистрирован"
|
3422 |
|
3423 |
+
#: common.php:1296
|
3424 |
msgid "Logged in"
|
3425 |
msgstr "Вход"
|
3426 |
|
3427 |
+
#: common.php:1297
|
3428 |
msgid "Logged out"
|
3429 |
msgstr "Выход"
|
3430 |
|
3431 |
+
#: common.php:1298
|
3432 |
msgid "Login failed"
|
3433 |
msgstr "Ошибка авторизации"
|
3434 |
|
3435 |
+
#: dashboard.php:950 common.php:1301
|
3436 |
msgid "IP blocked"
|
3437 |
msgstr "IP заблокирован"
|
3438 |
|
3439 |
+
#: common.php:1305
|
3440 |
msgid "Citadel activated!"
|
3441 |
msgstr "Режим Цитадель активирован!"
|
3442 |
|
3443 |
+
#: dashboard.php:1349 dashboard.php:1385 dashboard.php:3762 common.php:1359
|
3444 |
msgid "Locked out"
|
3445 |
msgstr "Заблокировано"
|
3446 |
|
3447 |
+
#: common.php:1318
|
3448 |
msgid "Password changed"
|
3449 |
msgstr "Пароль изменен"
|
3450 |
|
3451 |
+
#: common.php:1361
|
3452 |
msgid "IP blacklisted"
|
3453 |
msgstr "IP в черном списке"
|
3454 |
|
3455 |
+
#: common.php:1321
|
3456 |
msgid "reCAPTCHA verification failed"
|
3457 |
msgstr "проверка reCAPTCHA неудачна"
|
3458 |
|
3459 |
+
#: common.php:1322
|
3460 |
msgid "reCAPTCHA settings are incorrect"
|
3461 |
msgstr "настройки reCAPTCHA неверны"
|
3462 |
|
3463 |
+
#: common.php:1325 common.php:1415
|
3464 |
msgid "Attempt to access prohibited URL"
|
3465 |
msgstr "Попытка доступа к запрещенному URL"
|
3466 |
|
3467 |
+
#: common.php:1326 common.php:1416
|
3468 |
msgid "Attempt to log in with non-existing username"
|
3469 |
msgstr "Попытка войти с несуществующим именем пользователя"
|
3470 |
|
3471 |
+
#: common.php:1327 common.php:1417
|
3472 |
msgid "Attempt to log in with prohibited username"
|
3473 |
msgstr "Попытка входа с запрещенным именем"
|
3474 |
|
3475 |
+
#: dashboard.php:186 dashboard.php:302
|
3476 |
msgid "Remove"
|
3477 |
msgstr "Удалить"
|
3478 |
|
3479 |
+
#: cerber-load.php:4832 dashboard.php:191
|
3480 |
msgid "IP"
|
3481 |
msgstr "IP"
|
3482 |
|
3483 |
+
#: dashboard.php:192 dashboard.php:1080
|
3484 |
msgid "Hostname"
|
3485 |
msgstr "Имя узла"
|
3486 |
|
3487 |
+
#: dashboard.php:194 cerber-users.php:972
|
3488 |
msgid "Expires"
|
3489 |
msgstr "Истекает"
|
3490 |
|
3491 |
+
#: cerber-load.php:4129 dashboard.php:195
|
3492 |
msgid "Reason"
|
3493 |
msgstr "Причина"
|
3494 |
|
3495 |
+
#: dashboard.php:196 cerber-users.php:975 cerber-scanner.php:5768
|
3496 |
+
#: cerber-scanner.php:5916
|
3497 |
msgid "Action"
|
3498 |
msgstr "Действие"
|
3499 |
|
3500 |
+
#: dashboard.php:212
|
3501 |
msgid "Showing last %d records from %d"
|
3502 |
msgstr "Отображены последние %d строк из %d"
|
3503 |
|
3504 |
+
#: dashboard.php:214
|
3505 |
msgid "Hint"
|
3506 |
msgstr "Подсказка"
|
3507 |
|
3508 |
+
#: dashboard.php:214
|
3509 |
msgid "To view activity, click on the IP"
|
3510 |
msgstr "Чтобы увидеть активность, нажмите на адрес IP"
|
3511 |
|
3512 |
+
#: dashboard.php:218
|
3513 |
msgid "No lockouts at the moment. The sky is clear."
|
3514 |
msgstr "Блокировок нет. Все в порядке."
|
3515 |
|
3516 |
+
#: cerber-load.php:5119 dashboard.php:250 dashboard.php:1341 dashboard.php:1378
|
3517 |
+
#: dashboard.php:1736 dashboard.php:3754
|
3518 |
msgid "White IP Access List"
|
3519 |
msgstr "Белый список доступа по IP"
|
3520 |
|
3521 |
+
#: dashboard.php:253 dashboard.php:1344 dashboard.php:1381 dashboard.php:1737
|
3522 |
+
#: dashboard.php:3757
|
3523 |
msgid "Black IP Access List"
|
3524 |
msgstr "Черный список доступа по IP"
|
3525 |
|
3526 |
+
#: dashboard.php:260
|
3527 |
msgid "Your IP"
|
3528 |
msgstr "Ваш адрес IP"
|
3529 |
|
3530 |
+
#: dashboard.php:298 dashboard.php:1392 dashboard.php:1427 dashboard.php:1550
|
3531 |
msgid "Check for activities"
|
3532 |
msgstr "Проверить активность"
|
3533 |
|
3534 |
+
#: dashboard.php:308
|
3535 |
msgid "List is empty"
|
3536 |
msgstr "Список пуст"
|
3537 |
|
3538 |
+
#: dashboard.php:500
|
3539 |
msgid "unknown"
|
3540 |
msgstr "неизвестно"
|
3541 |
|
3542 |
+
#: dashboard.php:563
|
3543 |
msgid "Lockout for %s was removed"
|
3544 |
msgstr "Удалена блокировка для %s"
|
3545 |
|
3546 |
+
#: dashboard.php:2500
|
3547 |
msgid "Settings saved"
|
3548 |
msgstr "Настройки сохранены."
|
3549 |
|
3550 |
+
#: dashboard.php:834 dashboard.php:1082 dashboard.php:3550 dashboard.php:3974
|
3551 |
msgid "Date"
|
3552 |
msgstr "Дата"
|
3553 |
|
3554 |
+
#: settings.php:266 cerber-load.php:4823 dashboard.php:1779 dashboard.php:2327
|
3555 |
+
#: dashboard.php:4557 cerber-users.php:1139
|
3556 |
msgid "Activity"
|
3557 |
msgstr "Активность"
|
3558 |
|
3559 |
+
#: dashboard.php:1112
|
3560 |
msgid "No activity has been logged."
|
3561 |
msgstr "Ни одного события не зафиксировано."
|
3562 |
|
3563 |
+
#: cerber-load.php:4840
|
3564 |
msgid "Username used"
|
3565 |
msgstr "Использован логин"
|
3566 |
|
3567 |
+
#: dashboard.php:837 dashboard.php:1084 dashboard.php:3979
|
3568 |
msgid "Local User"
|
3569 |
msgstr "Пользователь"
|
3570 |
|
3571 |
+
#: dashboard.php:1447
|
3572 |
msgid "Add IP to the Black List"
|
3573 |
msgstr "Добавить IP в черный список"
|
3574 |
|
3575 |
+
#: dashboard.php:1585
|
3576 |
msgid "Comments"
|
3577 |
msgstr "Комментарии"
|
3578 |
|
3579 |
+
#: dashboard.php:1586
|
3580 |
msgid "Last login"
|
3581 |
msgstr "Последний вход"
|
3582 |
|
3583 |
+
#: settings.php:565
|
3584 |
msgid "by date of registration"
|
3585 |
msgstr "по дате регистрации"
|
languages/wp-cerber-vi.mo
ADDED
Binary file
|
languages/wp-cerber-vi.po
ADDED
@@ -0,0 +1,3709 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"MIME-Version: 1.0\n"
|
4 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
5 |
+
"Content-Transfer-Encoding: 8bit\n"
|
6 |
+
"X-Generator: POEditor.com\n"
|
7 |
+
"Project-Id-Version: WP Cerber Security\n"
|
8 |
+
"Language: vi\n"
|
9 |
+
"Plural-Forms: nplurals=1; plural=0;\n"
|
10 |
+
|
11 |
+
#: ../settings.php:149
|
12 |
+
msgid "Limit login attempts"
|
13 |
+
msgstr "Giới hạn số lần đăng nhập"
|
14 |
+
|
15 |
+
#: ../settings.php:157
|
16 |
+
msgid "Lockout duration"
|
17 |
+
msgstr "Thời gian khoá"
|
18 |
+
|
19 |
+
#: ../settings.php:158 ../settings.php:259
|
20 |
+
msgid "minutes"
|
21 |
+
msgstr "phút"
|
22 |
+
|
23 |
+
#: ../settings.php:161
|
24 |
+
msgid "Aggressive lockout"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: ../settings.php:229
|
28 |
+
msgid "Site connection"
|
29 |
+
msgstr "Kết nối trang"
|
30 |
+
|
31 |
+
#: ../settings.php:172
|
32 |
+
msgid "Proactive security rules"
|
33 |
+
msgstr "Quy tắc bảo mật chủ động"
|
34 |
+
|
35 |
+
#: ../settings.php:176
|
36 |
+
msgid "Block subnet"
|
37 |
+
msgstr "Chặn mạng con (subnet)"
|
38 |
+
|
39 |
+
#: ../settings.php:191
|
40 |
+
msgid "Request wp-login.php"
|
41 |
+
msgstr "Truy cập wp-login.php"
|
42 |
+
|
43 |
+
#: ../settings.php:192
|
44 |
+
msgid "Immediately block IP after any request to wp-login.php"
|
45 |
+
msgstr "Chặn ngay IP sau khi có bất kỳ yêu cầu truy cập nào đến wp-login.php"
|
46 |
+
|
47 |
+
#: ../settings.php:207
|
48 |
+
msgid "Custom login page"
|
49 |
+
msgstr "Trang đăng nhập tùy chỉnh"
|
50 |
+
|
51 |
+
#: ../settings.php:211
|
52 |
+
msgid "Custom login URL"
|
53 |
+
msgstr "URL trang đăng nhập tùy chỉnh"
|
54 |
+
|
55 |
+
#: ../settings.php:212
|
56 |
+
msgid "must not overlap with the existing pages or posts slug"
|
57 |
+
msgstr "không được trùng lặp với đường dẫn của các trang hoặc bài viết hiện có"
|
58 |
+
|
59 |
+
#: ../settings.php:219
|
60 |
+
msgid "Disable wp-login.php"
|
61 |
+
msgstr "Vô hiệu hóa wp-login.php"
|
62 |
+
|
63 |
+
#: ../settings.php:220
|
64 |
+
msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
|
65 |
+
msgstr "Chặn truy cập trực tiếp vào wp-login.php và trả về Lỗi HTTP 404 Không tìm thấy"
|
66 |
+
|
67 |
+
#: ../dashboard.php:1763 ../settings.php:243
|
68 |
+
msgid "Citadel mode"
|
69 |
+
msgstr "Chế độ phòng thủ"
|
70 |
+
|
71 |
+
#: ../settings.php:253
|
72 |
+
msgid "Threshold"
|
73 |
+
msgstr "Ngưỡng"
|
74 |
+
|
75 |
+
#: ../admin/cerber-admin.php:51 ../settings.php:258
|
76 |
+
msgid "Duration"
|
77 |
+
msgstr "Thời hạn"
|
78 |
+
|
79 |
+
#: ../dashboard.php:4591 ../settings.php:264
|
80 |
+
msgid "Notifications"
|
81 |
+
msgstr "Thông báo"
|
82 |
+
|
83 |
+
#: ../settings.php:266
|
84 |
+
msgid "Send notification to admin email"
|
85 |
+
msgstr "Gửi thông báo đến email của quản trị viên"
|
86 |
+
|
87 |
+
#: ../dashboard.php:4588 ../cerber-tools.php:38 ../cerber-tools.php:49
|
88 |
+
msgid "Access Lists"
|
89 |
+
msgstr "Danh sách truy cập"
|
90 |
+
|
91 |
+
#: ../dashboard.php:1804 ../dashboard.php:2352 ../dashboard.php:4584 ../cerber-
|
92 |
+
#: load.php:4930 ../cerber-users.php:1148 ../settings.php:276
|
93 |
+
msgid "Activity"
|
94 |
+
msgstr "Hoạt động"
|
95 |
+
|
96 |
+
#: ../dashboard.php:4586
|
97 |
+
msgid "Lockouts"
|
98 |
+
msgstr "Khoá"
|
99 |
+
|
100 |
+
#: ../cerber-load.php:4939
|
101 |
+
msgid "IP"
|
102 |
+
msgstr "IP"
|
103 |
+
|
104 |
+
#: ../dashboard.php:846 ../dashboard.php:1110 ../dashboard.php:3560 ../dashboard.
|
105 |
+
#: php:4001
|
106 |
+
msgid "Date"
|
107 |
+
msgstr "Ngày"
|
108 |
+
|
109 |
+
#: ../dashboard.php:849 ../dashboard.php:1112 ../dashboard.php:4006
|
110 |
+
msgid "Local User"
|
111 |
+
msgstr "Người dùng cục bộ"
|
112 |
+
|
113 |
+
#: ../cerber-load.php:4947
|
114 |
+
msgid "Username used"
|
115 |
+
msgstr "Tên người dùng đã sử dụng"
|
116 |
+
|
117 |
+
#: ../dashboard.php:216
|
118 |
+
msgid "Showing last %d records from %d"
|
119 |
+
msgstr ""
|
120 |
+
|
121 |
+
#: ../common.php:1326
|
122 |
+
msgid "Logged in"
|
123 |
+
msgstr "Đăng nhập"
|
124 |
+
|
125 |
+
#: ../common.php:1327
|
126 |
+
msgid "Logged out"
|
127 |
+
msgstr "Đăng xuất"
|
128 |
+
|
129 |
+
#: ../common.php:1328
|
130 |
+
msgid "Login failed"
|
131 |
+
msgstr "Đăng nhập không thành công"
|
132 |
+
|
133 |
+
#: ../dashboard.php:977 ../common.php:1331
|
134 |
+
msgid "IP blocked"
|
135 |
+
msgstr ""
|
136 |
+
|
137 |
+
#: ../common.php:1335
|
138 |
+
msgid "Citadel activated!"
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: ../dashboard.php:1352 ../dashboard.php:1396 ../dashboard.php:3789 ../common.
|
142 |
+
#: php:1389
|
143 |
+
msgid "Locked out"
|
144 |
+
msgstr ""
|
145 |
+
|
146 |
+
#: ../common.php:1391
|
147 |
+
msgid "IP blacklisted"
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
#: ../common.php:1348
|
151 |
+
msgid "Password changed"
|
152 |
+
msgstr "Mật khẩu đã được thay đổi"
|
153 |
+
|
154 |
+
#: ../dashboard.php:190 ../dashboard.php:308
|
155 |
+
msgid "Remove"
|
156 |
+
msgstr "Xoá"
|
157 |
+
|
158 |
+
#: ../dashboard.php:575
|
159 |
+
msgid "Lockout for %s was removed"
|
160 |
+
msgstr ""
|
161 |
+
|
162 |
+
#: ../dashboard.php:254 ../dashboard.php:1344 ../dashboard.php:1389 ../dashboard.
|
163 |
+
#: php:1761 ../dashboard.php:3781 ../cerber-load.php:5230 ../cerber-tools.php:69
|
164 |
+
msgid "White IP Access List"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: ../dashboard.php:257 ../dashboard.php:1347 ../dashboard.php:1392 ../dashboard.
|
168 |
+
#: php:1762 ../dashboard.php:3784 ../cerber-tools.php:70
|
169 |
+
msgid "Black IP Access List"
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: ../dashboard.php:314
|
173 |
+
msgid "List is empty"
|
174 |
+
msgstr "Danh sách trống"
|
175 |
+
|
176 |
+
#: ../cerber-load.php:4166
|
177 |
+
msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
#: ../dashboard.php:2482 ../dashboard.php:2881
|
181 |
+
msgid "View Activity"
|
182 |
+
msgstr "Xem hoạt động"
|
183 |
+
|
184 |
+
#: ../dashboard.php:4652 ../dashboard.php:4713 ../cerber-tools.php:37 ../cerber-
|
185 |
+
#: tools.php:48 ../nexus/cerber-nexus.php:93
|
186 |
+
msgid "Settings"
|
187 |
+
msgstr "Cài đặt"
|
188 |
+
|
189 |
+
#: ../dashboard.php:1611
|
190 |
+
msgid "Last login"
|
191 |
+
msgstr "Lần đăng nhập cuối"
|
192 |
+
|
193 |
+
#: ../dashboard.php:1644 ../dashboard.php:1735 ../dashboard.php:1784 ../common.
|
194 |
+
#: php:1611 ../nexus/cerber-slave-list.php:344
|
195 |
+
msgid "Never"
|
196 |
+
msgstr "Chưa bao giờ"
|
197 |
+
|
198 |
+
#: ../dashboard.php:5075 ../admin/cerber-admin.php:847 ../admin/cerber-admin.php:
|
199 |
+
#: 1014 ../cerber-tools.php:59
|
200 |
+
msgid "Are you sure?"
|
201 |
+
msgstr "Bạn có chắc?"
|
202 |
+
|
203 |
+
#: ../dashboard.php:2169 ../settings.php:230
|
204 |
+
msgid "My site is behind a reverse proxy"
|
205 |
+
msgstr "Trang web của tôi đứng sau một reverse proxy"
|
206 |
+
|
207 |
+
#: ../settings.php:173
|
208 |
+
msgid "Make your protection smarter!"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: ../settings.php:126
|
212 |
+
msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
+
#: ../dashboard.php:4587
|
216 |
+
msgid "Main Settings"
|
217 |
+
msgstr "Cài đặt chính"
|
218 |
+
|
219 |
+
#: ../dashboard.php:4872
|
220 |
+
msgid "Help"
|
221 |
+
msgstr "Hỗ trợ"
|
222 |
+
|
223 |
+
#: ../admin/cerber-settings.php:364
|
224 |
+
msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
|
225 |
+
msgstr ""
|
226 |
+
|
227 |
+
#: ../cerber-load.php:343
|
228 |
+
msgid "You are not allowed to log in. Ask your administrator for assistance."
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#: ../cerber-load.php:368
|
232 |
+
msgid "You have only one attempt remaining."
|
233 |
+
msgid_plural "You have %d attempts remaining."
|
234 |
+
msgstr[0] ""
|
235 |
+
|
236 |
+
#: ../dashboard.php:1140
|
237 |
+
msgid "No activity has been logged."
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
#: ../dashboard.php:198 ../cerber-users.php:981
|
241 |
+
msgid "Expires"
|
242 |
+
msgstr "Đã hết hạn"
|
243 |
+
|
244 |
+
#: ../dashboard.php:222
|
245 |
+
msgid "No lockouts at the moment. The sky is clear."
|
246 |
+
msgstr ""
|
247 |
+
|
248 |
+
#: ../dashboard.php:264
|
249 |
+
msgid "Your IP"
|
250 |
+
msgstr "Địa chỉ IP của bạn"
|
251 |
+
|
252 |
+
#: ../cerber-load.php:4167
|
253 |
+
msgid "Last failed attempt was at %s from IP %s with user login: %s."
|
254 |
+
msgstr "Lần thử thất bại cuối cùng là ở %s từ địa chỉ IP %s với thông tin đăng nhập của: %s."
|
255 |
+
|
256 |
+
#: ../cerber-load.php:5204
|
257 |
+
msgid "Can't activate WP Cerber due to a database error."
|
258 |
+
msgstr "Không thể kích hoạt WP Cerber do lỗi cơ sở dữ liệu."
|
259 |
+
|
260 |
+
#: ../admin/cerber-settings.php:372
|
261 |
+
msgid "Notify admin if the number of active lockouts above"
|
262 |
+
msgstr "Thông báo cho quản trị viên nếu số lần khóa hoạt động ở trên"
|
263 |
+
|
264 |
+
#: ../settings.php:280 ../settings.php:286 ../settings.php:814 ../settings.php:
|
265 |
+
#: 820 ../settings.php:891 ../settings.php:1082
|
266 |
+
msgid "days"
|
267 |
+
msgstr "ngày"
|
268 |
+
|
269 |
+
#: ../dashboard.php:1701
|
270 |
+
msgid "Cerber Quick View"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
#: ../dashboard.php:218
|
274 |
+
msgid "Hint"
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: ../dashboard.php:218
|
278 |
+
msgid "To view activity, click on the IP"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: ../settings.php:177
|
282 |
+
msgid "Always block entire subnet Class C of intruders IP"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: ../admin/cerber-settings.php:377 ../settings.php:270
|
286 |
+
msgid "Click to send test"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: ../admin/cerber-settings.php:677 ../admin/cerber-settings.php:678
|
290 |
+
msgid "Attention! You have changed the login URL! The new login URL is"
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: ../dashboard.php:1610
|
294 |
+
msgid "Comments"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: ../cerber-load.php:4168 ../cerber-load.php:4971
|
298 |
+
msgid "View activity in dashboard"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: ../cerber-load.php:4197
|
302 |
+
msgid "Number of active lockouts"
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: ../cerber-load.php:4201
|
306 |
+
msgid "View lockouts in dashboard"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: ../cerber-load.php:4289
|
310 |
+
msgid "This message was sent by"
|
311 |
+
msgstr "Tin nhắn này đã được gửi bởi"
|
312 |
+
|
313 |
+
#: ../dashboard.php:82 ../dashboard.php:4764
|
314 |
+
msgid "Tools"
|
315 |
+
msgstr "Công cụ"
|
316 |
+
|
317 |
+
#: ../cerber-tools.php:34
|
318 |
+
msgid "Export settings to the file"
|
319 |
+
msgstr "Xuất các cài đặt thành file"
|
320 |
+
|
321 |
+
#: ../cerber-tools.php:35
|
322 |
+
msgid "When you click the button below you will get a configuration file, which you can upload on another site."
|
323 |
+
msgstr "Khi bạn nhấp vào nút bên dưới, bạn sẽ nhận được một tệp cấu hình, mà bạn có thể tải lên trên một trang web khác."
|
324 |
+
|
325 |
+
#: ../cerber-tools.php:36
|
326 |
+
msgid "What do you want to export?"
|
327 |
+
msgstr "Bạn có muốn xuất file không?"
|
328 |
+
|
329 |
+
#: ../cerber-tools.php:39
|
330 |
+
msgid "Download file"
|
331 |
+
msgstr "Tải tệp tin"
|
332 |
+
|
333 |
+
#: ../cerber-tools.php:43
|
334 |
+
msgid "Import settings from the file"
|
335 |
+
msgstr "Nhập các cài đặt từ tệp tin"
|
336 |
+
|
337 |
+
#: ../cerber-tools.php:44
|
338 |
+
msgid "When you click the button below, file will be uploaded and all existing settings will be overridden."
|
339 |
+
msgstr "Khi bạn nhấp vào nút bên dưới, tệp sẽ được tải lên và tất cả các cài đặt hiện có sẽ bị ghi đè."
|
340 |
+
|
341 |
+
#: ../cerber-tools.php:45
|
342 |
+
msgid "Select file to import."
|
343 |
+
msgstr "Chọn tệp tin để nhập."
|
344 |
+
|
345 |
+
#: ../admin/cerber-admin.php:246 ../cerber-tools.php:45
|
346 |
+
msgid "Maximum upload file size: %s."
|
347 |
+
msgstr "Kích thước tệp tải lên tối đa: %s."
|
348 |
+
|
349 |
+
#: ../cerber-tools.php:48
|
350 |
+
msgid "What do you want to import?"
|
351 |
+
msgstr "Bạn có chắc là muốn nhập?"
|
352 |
+
|
353 |
+
#: ../admin/cerber-admin.php:249 ../cerber-tools.php:50
|
354 |
+
msgid "Upload file"
|
355 |
+
msgstr "Tải lên"
|
356 |
+
|
357 |
+
#: ../cerber-tools.php:189
|
358 |
+
msgid "No file was uploaded or file is corrupted"
|
359 |
+
msgstr "Không có tập tin nào được tải lên hoặc tập tin bị hỏng"
|
360 |
+
|
361 |
+
#: ../cerber-tools.php:236
|
362 |
+
msgid "Settings has imported successfully from"
|
363 |
+
msgstr "Các cài đặt đã được nhập thành công từ"
|
364 |
+
|
365 |
+
#: ../cerber-tools.php:243
|
366 |
+
msgid "Error while parsing file"
|
367 |
+
msgstr "Lỗi khi phân tích tệp"
|
368 |
+
|
369 |
+
#: ../dashboard.php:196 ../dashboard.php:1108
|
370 |
+
msgid "Hostname"
|
371 |
+
msgstr ""
|
372 |
+
|
373 |
+
#: ../dashboard.php:513
|
374 |
+
msgid "unknown"
|
375 |
+
msgstr "không rõ"
|
376 |
+
|
377 |
+
#: ../dashboard.php:1740 ../dashboard.php:1770
|
378 |
+
msgid "active"
|
379 |
+
msgstr "kích hoạt"
|
380 |
+
|
381 |
+
#: ../dashboard.php:1740
|
382 |
+
msgid "deactivate"
|
383 |
+
msgstr "hủy kích hoạt"
|
384 |
+
|
385 |
+
#: ../dashboard.php:1744
|
386 |
+
msgid "not active"
|
387 |
+
msgstr "không kích hoạt"
|
388 |
+
|
389 |
+
#: ../dashboard.php:1747 ../dashboard.php:1765
|
390 |
+
msgid "disabled"
|
391 |
+
msgstr "vô hiệu hoá"
|
392 |
+
|
393 |
+
#: ../dashboard.php:1753
|
394 |
+
msgid "failed attempts"
|
395 |
+
msgstr ""
|
396 |
+
|
397 |
+
#: ../dashboard.php:1753 ../dashboard.php:1754
|
398 |
+
msgid "in 24 hours"
|
399 |
+
msgstr "trong 24 tiếng"
|
400 |
+
|
401 |
+
#: ../dashboard.php:1753 ../dashboard.php:1754
|
402 |
+
msgid "view all"
|
403 |
+
msgstr "xem tất cả"
|
404 |
+
|
405 |
+
#: ../dashboard.php:1754
|
406 |
+
msgid "lockouts"
|
407 |
+
msgstr ""
|
408 |
+
|
409 |
+
#: ../dashboard.php:1756
|
410 |
+
msgid "Lockouts at the moment"
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: ../dashboard.php:1757
|
414 |
+
msgid "Last lockout"
|
415 |
+
msgstr ""
|
416 |
+
|
417 |
+
#: ../dashboard.php:1761 ../dashboard.php:1762 ../dashboard.php:2660
|
418 |
+
msgid "entry"
|
419 |
+
msgid_plural "entries"
|
420 |
+
msgstr[0] ""
|
421 |
+
|
422 |
+
#: ../cerber-tools.php:57
|
423 |
+
msgid "Load default settings"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: ../settings.php:666
|
427 |
+
msgid "New version is available"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: ../cerber-load.php:4140
|
431 |
+
msgid "WP Cerber notify"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: ../cerber-load.php:4164
|
435 |
+
msgid "Citadel mode is activated"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: ../cerber-load.php:4236
|
439 |
+
msgid "New Custom login URL"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: ../cerber-load.php:5190
|
443 |
+
msgid "The WP Cerber requires PHP %s or higher. You are running"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: ../cerber-load.php:5194
|
447 |
+
msgid "The WP Cerber requires WordPress %s or higher. You are running"
|
448 |
+
msgstr ""
|
449 |
+
|
450 |
+
#: ../settings.php:305
|
451 |
+
msgid "Use file"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: ../settings.php:306
|
455 |
+
msgid "Write failed login attempts to the file"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: ../dashboard.php:2481
|
459 |
+
msgid "Deactivate"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: ../dashboard.php:199 ../cerber-load.php:4199
|
463 |
+
msgid "Reason"
|
464 |
+
msgstr ""
|
465 |
+
|
466 |
+
#: ../dashboard.php:1455
|
467 |
+
msgid "Add IP to the Black List"
|
468 |
+
msgstr ""
|
469 |
+
|
470 |
+
#: ../common.php:1450
|
471 |
+
msgid "Attempt to access"
|
472 |
+
msgstr ""
|
473 |
+
|
474 |
+
#: ../common.php:1449
|
475 |
+
msgid "Limit on login attempts is reached"
|
476 |
+
msgstr ""
|
477 |
+
|
478 |
+
#: ../cerber-load.php:4198
|
479 |
+
msgid "Last lockout was added: %s for IP %s"
|
480 |
+
msgstr ""
|
481 |
+
|
482 |
+
#: ../dashboard.php:4589
|
483 |
+
msgid "Hardening"
|
484 |
+
msgstr ""
|
485 |
+
|
486 |
+
#: ../dashboard.php:1428
|
487 |
+
msgid "Abuse email:"
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: ../settings.php:653 ../settings.php:700 ../settings.php:946
|
491 |
+
msgid "Email Address"
|
492 |
+
msgstr ""
|
493 |
+
|
494 |
+
#: ../settings.php:315
|
495 |
+
msgid "Drill down IP"
|
496 |
+
msgstr ""
|
497 |
+
|
498 |
+
#: ../settings.php:316
|
499 |
+
msgid "Retrieve extra WHOIS information for IP"
|
500 |
+
msgstr ""
|
501 |
+
|
502 |
+
#: ../settings.php:349
|
503 |
+
msgid "Hardening WordPress"
|
504 |
+
msgstr ""
|
505 |
+
|
506 |
+
#: ../settings.php:353 ../settings.php:389
|
507 |
+
msgid "Stop user enumeration"
|
508 |
+
msgstr ""
|
509 |
+
|
510 |
+
#: ../settings.php:372
|
511 |
+
msgid "Disable XML-RPC"
|
512 |
+
msgstr ""
|
513 |
+
|
514 |
+
#: ../settings.php:373
|
515 |
+
msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
|
516 |
+
msgstr ""
|
517 |
+
|
518 |
+
#: ../settings.php:377
|
519 |
+
msgid "Disable feeds"
|
520 |
+
msgstr ""
|
521 |
+
|
522 |
+
#: ../settings.php:378
|
523 |
+
msgid "Block access to the RSS, Atom and RDF feeds"
|
524 |
+
msgstr ""
|
525 |
+
|
526 |
+
#: ../settings.php:394
|
527 |
+
msgid "Disable REST API"
|
528 |
+
msgstr ""
|
529 |
+
|
530 |
+
#: ../admin/cerber-settings.php:773 ../admin/cerber-settings.php:785 ..
|
531 |
+
#: /admin/cerber-settings.php:942
|
532 |
+
msgid "<strong>ERROR</strong>: please enter a valid email address."
|
533 |
+
msgstr ""
|
534 |
+
|
535 |
+
#: ../cerber-load.php:4229 ../cerber-load.php:5245
|
536 |
+
msgid "WP Cerber is now active and has started protecting your site"
|
537 |
+
msgstr ""
|
538 |
+
|
539 |
+
#: ../dashboard.php:200 ../admin/cerber-admin.php:883 ../admin/cerber-admin.php:
|
540 |
+
#: 1038 ../cerber-users.php:984
|
541 |
+
msgid "Action"
|
542 |
+
msgstr ""
|
543 |
+
|
544 |
+
#: ../dashboard.php:4921
|
545 |
+
msgid "Incorrect IP address or IP range"
|
546 |
+
msgstr ""
|
547 |
+
|
548 |
+
#: ../dashboard.php:2497
|
549 |
+
msgid "Settings saved"
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: ../dashboard.php:1434
|
553 |
+
msgid "Network:"
|
554 |
+
msgstr ""
|
555 |
+
|
556 |
+
#: ../dashboard.php:1449
|
557 |
+
msgid "Add network to the Black List"
|
558 |
+
msgstr ""
|
559 |
+
|
560 |
+
#: ../dashboard.php:2480
|
561 |
+
msgid "Attention! Citadel mode is now active. Nobody is able to log in."
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: ../dashboard.php:433 ../dashboard.php:3689 ../whois.php:222 ../whois.php:253 ..
|
565 |
+
#: /common.php:1474 ../common.php:1874 ../common.php:1942 ../nexus/cerber-slave-
|
566 |
+
#: list.php:330
|
567 |
+
msgid "Unknown"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: ../common.php:340 ../common.php:418 ../common.php:423 ../common.php:429 ..
|
571 |
+
#: /common.php:434 ../admin/cerber-settings.php:649 ../admin/cerber-settings.php:
|
572 |
+
#: 669 ../admin/cerber-settings.php:749 ../admin/cerber-admin.php:984 ../cerber-
|
573 |
+
#: load.php:651 ../cerber-load.php:663 ../cerber-load.php:670 ../cerber-load.php:
|
574 |
+
#: 1018 ../cerber-load.php:1549 ../cerber-load.php:1555 ../cerber-load.php:1560 ..
|
575 |
+
#: /cerber-load.php:1567 ../cerber-load.php:1574 ../cerber-load.php:1580 ..
|
576 |
+
#: /cerber-load.php:1587 ../cerber-load.php:1752 ../cerber-load.php:1889 ..
|
577 |
+
#: /nexus/cerber-nexus-slave.php:204 ../nexus/cerber-nexus-slave.php:215
|
578 |
+
msgid "ERROR:"
|
579 |
+
msgstr ""
|
580 |
+
|
581 |
+
#: ../cerber-load.php:680
|
582 |
+
msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: ../cerber-load.php:1127
|
586 |
+
msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
|
587 |
+
msgstr ""
|
588 |
+
|
589 |
+
#: ../cerber-load.php:1568
|
590 |
+
msgid "Username is not allowed. Please choose another one."
|
591 |
+
msgstr ""
|
592 |
+
|
593 |
+
#: ../cerber-load.php:4192
|
594 |
+
msgid "unspecified"
|
595 |
+
msgstr ""
|
596 |
+
|
597 |
+
#: ../cerber-load.php:4195
|
598 |
+
msgid "Number of lockouts is increasing"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: ../cerber-load.php:4200
|
602 |
+
msgid "View activity for this IP"
|
603 |
+
msgstr ""
|
604 |
+
|
605 |
+
#: ../cerber-load.php:4204 ../cerber-load.php:4206
|
606 |
+
msgid "A new version of WP Cerber is available to install"
|
607 |
+
msgstr ""
|
608 |
+
|
609 |
+
#: ../cerber-load.php:4205
|
610 |
+
msgid "Hi!"
|
611 |
+
msgstr ""
|
612 |
+
|
613 |
+
#: ../cerber-load.php:4208 ../cerber-load.php:4219 ../nexus/cerber-slave-list.php:
|
614 |
+
#: 44
|
615 |
+
msgid "Website"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: ../cerber-load.php:4211 ../cerber-load.php:4212
|
619 |
+
msgid "The WP Cerber security plugin has been deactivated"
|
620 |
+
msgstr ""
|
621 |
+
|
622 |
+
#: ../cerber-load.php:4214
|
623 |
+
msgid "Not logged in"
|
624 |
+
msgstr ""
|
625 |
+
|
626 |
+
#: ../cerber-load.php:4220
|
627 |
+
msgid "By user"
|
628 |
+
msgstr ""
|
629 |
+
|
630 |
+
#: ../cerber-load.php:4221
|
631 |
+
msgid "From IP address"
|
632 |
+
msgstr ""
|
633 |
+
|
634 |
+
#: ../cerber-load.php:4224
|
635 |
+
msgid "From country"
|
636 |
+
msgstr ""
|
637 |
+
|
638 |
+
#: ../cerber-load.php:4228
|
639 |
+
msgid "The WP Cerber security plugin is now active"
|
640 |
+
msgstr ""
|
641 |
+
|
642 |
+
#: ../cerber-load.php:5230
|
643 |
+
msgid "Your IP address is added to the"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#: ../cerber-load.php:5262
|
647 |
+
msgid "Import settings"
|
648 |
+
msgstr ""
|
649 |
+
|
650 |
+
#: ../settings.php:661
|
651 |
+
msgid "Notification limit"
|
652 |
+
msgstr ""
|
653 |
+
|
654 |
+
#: ../settings.php:574
|
655 |
+
msgid "Prohibited usernames"
|
656 |
+
msgstr ""
|
657 |
+
|
658 |
+
#: ../settings.php:575
|
659 |
+
msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
|
660 |
+
msgstr ""
|
661 |
+
|
662 |
+
#: ../settings.php:1088
|
663 |
+
msgid "reCAPTCHA settings"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: ../settings.php:1093
|
667 |
+
msgid "Site key"
|
668 |
+
msgstr ""
|
669 |
+
|
670 |
+
#: ../settings.php:1097
|
671 |
+
msgid "Secret key"
|
672 |
+
msgstr ""
|
673 |
+
|
674 |
+
#: ../settings.php:1107
|
675 |
+
msgid "Enable reCAPTCHA for WordPress registration form"
|
676 |
+
msgstr ""
|
677 |
+
|
678 |
+
#: ../settings.php:1116
|
679 |
+
msgid "Lost password form"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: ../settings.php:1126
|
683 |
+
msgid "Login form"
|
684 |
+
msgstr ""
|
685 |
+
|
686 |
+
#: ../settings.php:1127
|
687 |
+
msgid "Enable reCAPTCHA for WordPress login form"
|
688 |
+
msgstr ""
|
689 |
+
|
690 |
+
#: ../settings.php:1089
|
691 |
+
msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
|
692 |
+
msgstr ""
|
693 |
+
|
694 |
+
#: ../admin/cerber-settings.php:100 ../admin/cerber-settings.php:270 ../cerber-
|
695 |
+
#: lab.php:840
|
696 |
+
msgid "Know more"
|
697 |
+
msgstr ""
|
698 |
+
|
699 |
+
#: ../common.php:1323
|
700 |
+
msgid "User created"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: ../common.php:1324
|
704 |
+
msgid "User registered"
|
705 |
+
msgstr ""
|
706 |
+
|
707 |
+
#: ../common.php:1351
|
708 |
+
msgid "reCAPTCHA verification failed"
|
709 |
+
msgstr ""
|
710 |
+
|
711 |
+
#: ../common.php:1352
|
712 |
+
msgid "reCAPTCHA settings are incorrect"
|
713 |
+
msgstr ""
|
714 |
+
|
715 |
+
#: ../common.php:1355 ../common.php:1451
|
716 |
+
msgid "Attempt to access prohibited URL"
|
717 |
+
msgstr ""
|
718 |
+
|
719 |
+
#: ../common.php:1357 ../common.php:1453
|
720 |
+
msgid "Attempt to log in with prohibited username"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: ../settings.php:291
|
724 |
+
msgid "Cerber Lab connection"
|
725 |
+
msgstr ""
|
726 |
+
|
727 |
+
#: ../settings.php:292
|
728 |
+
msgid "Send malicious IP addresses to the Cerber Lab"
|
729 |
+
msgstr ""
|
730 |
+
|
731 |
+
#: ../settings.php:297
|
732 |
+
msgid "Cerber Lab protocol"
|
733 |
+
msgstr ""
|
734 |
+
|
735 |
+
#: ../settings.php:1034 ../settings.php:1106
|
736 |
+
msgid "Registration form"
|
737 |
+
msgstr ""
|
738 |
+
|
739 |
+
#: ../settings.php:1112
|
740 |
+
msgid "Enable reCAPTCHA for WooCommerce registration form"
|
741 |
+
msgstr ""
|
742 |
+
|
743 |
+
#: ../settings.php:1117
|
744 |
+
msgid "Enable reCAPTCHA for WordPress lost password form"
|
745 |
+
msgstr ""
|
746 |
+
|
747 |
+
#: ../settings.php:1122
|
748 |
+
msgid "Enable reCAPTCHA for WooCommerce lost password form"
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: ../settings.php:1132
|
752 |
+
msgid "Enable reCAPTCHA for WooCommerce login form"
|
753 |
+
msgstr ""
|
754 |
+
|
755 |
+
#: ../common.php:1353
|
756 |
+
msgid "Request to the Google reCAPTCHA service failed"
|
757 |
+
msgstr ""
|
758 |
+
|
759 |
+
#: ../dashboard.php:958 ../dashboard.php:2366
|
760 |
+
msgid "View all"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: ../dashboard.php:2369
|
764 |
+
msgid "Recently locked out IP addresses"
|
765 |
+
msgstr ""
|
766 |
+
|
767 |
+
#: ../cerber-lab.php:838
|
768 |
+
msgid "OK, nail them all"
|
769 |
+
msgstr ""
|
770 |
+
|
771 |
+
#: ../cerber-lab.php:839
|
772 |
+
msgid "NO, maybe later"
|
773 |
+
msgstr ""
|
774 |
+
|
775 |
+
#: ../dashboard.php:54 ../dashboard.php:1803 ../dashboard.php:2682 ../dashboard.
|
776 |
+
#: php:4583
|
777 |
+
msgid "Dashboard"
|
778 |
+
msgstr ""
|
779 |
+
|
780 |
+
#: ../cerber-lab.php:836
|
781 |
+
msgid "Want to make WP Cerber even more powerful?"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: ../cerber-lab.php:837
|
785 |
+
msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
|
786 |
+
msgstr ""
|
787 |
+
|
788 |
+
#: ../dashboard.php:3559
|
789 |
+
msgid "IP address"
|
790 |
+
msgstr ""
|
791 |
+
|
792 |
+
#: ../dashboard.php:850
|
793 |
+
msgid "User login"
|
794 |
+
msgstr ""
|
795 |
+
|
796 |
+
#: ../dashboard.php:851 ../dashboard.php:3565
|
797 |
+
msgid "User ID"
|
798 |
+
msgstr ""
|
799 |
+
|
800 |
+
#: ../dashboard.php:1135 ../dashboard.php:4066
|
801 |
+
msgid "Export"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: ../dashboard.php:1151
|
805 |
+
msgid "Search for IP or username"
|
806 |
+
msgstr ""
|
807 |
+
|
808 |
+
#: ../dashboard.php:1162
|
809 |
+
msgid "Filter"
|
810 |
+
msgstr ""
|
811 |
+
|
812 |
+
#: ../dashboard.php:54
|
813 |
+
msgid "Cerber Dashboard"
|
814 |
+
msgstr ""
|
815 |
+
|
816 |
+
#: ../dashboard.php:82
|
817 |
+
msgid "Cerber tools"
|
818 |
+
msgstr ""
|
819 |
+
|
820 |
+
#: ../cerber-tools.php:320
|
821 |
+
msgid "Unsubscribe"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: ../cerber-load.php:4240 ../cerber-load.php:4241
|
825 |
+
msgid "A new activity has been recorded"
|
826 |
+
msgstr ""
|
827 |
+
|
828 |
+
#: ../cerber-load.php:4943 ../cerber-users.php:978
|
829 |
+
msgid "User"
|
830 |
+
msgstr ""
|
831 |
+
|
832 |
+
#: ../cerber-load.php:4951
|
833 |
+
msgid "Search string"
|
834 |
+
msgstr ""
|
835 |
+
|
836 |
+
#: ../settings.php:312
|
837 |
+
msgid "Preferences"
|
838 |
+
msgstr ""
|
839 |
+
|
840 |
+
#: ../settings.php:320
|
841 |
+
msgid "Date format"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: ../settings.php:321
|
845 |
+
msgid "if empty, the default format %s will be used"
|
846 |
+
msgstr ""
|
847 |
+
|
848 |
+
#: ../settings.php:672
|
849 |
+
msgid "Push notifications"
|
850 |
+
msgstr ""
|
851 |
+
|
852 |
+
#: ../settings.php:644
|
853 |
+
msgid "Email notifications"
|
854 |
+
msgstr ""
|
855 |
+
|
856 |
+
#: ../settings.php:654 ../settings.php:702 ../settings.php:785 ../settings.php:948
|
857 |
+
msgid "Use comma to specify multiple values"
|
858 |
+
msgstr ""
|
859 |
+
|
860 |
+
#: ../settings.php:113
|
861 |
+
msgid "All connected devices"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: ../settings.php:116
|
865 |
+
msgid "No devices found"
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: ../settings.php:120
|
869 |
+
msgid "Not available"
|
870 |
+
msgstr ""
|
871 |
+
|
872 |
+
#: ../common.php:1349
|
873 |
+
msgid "Password reset requested"
|
874 |
+
msgstr ""
|
875 |
+
|
876 |
+
#: ../common.php:1454
|
877 |
+
msgid "Limit on failed reCAPTCHA verifications is reached"
|
878 |
+
msgstr ""
|
879 |
+
|
880 |
+
#: ../common.php:1606
|
881 |
+
msgid "%s ago"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: ../settings.php:166
|
885 |
+
msgid "Apply limit login rules to IP addresses in the White IP Access List"
|
886 |
+
msgstr ""
|
887 |
+
|
888 |
+
#: ../settings.php:196
|
889 |
+
msgid "Display 404 page"
|
890 |
+
msgstr ""
|
891 |
+
|
892 |
+
#: ../settings.php:1101
|
893 |
+
msgid "Invisible reCAPTCHA"
|
894 |
+
msgstr ""
|
895 |
+
|
896 |
+
#: ../settings.php:1102
|
897 |
+
msgid "Enable invisible reCAPTCHA"
|
898 |
+
msgstr ""
|
899 |
+
|
900 |
+
#: ../settings.php:1102
|
901 |
+
msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: ../settings.php:1137
|
905 |
+
msgid "Enable reCAPTCHA for WordPress comment form"
|
906 |
+
msgstr ""
|
907 |
+
|
908 |
+
#: ../settings.php:1142
|
909 |
+
msgid "Disable reCAPTCHA for logged in users"
|
910 |
+
msgstr ""
|
911 |
+
|
912 |
+
#: ../settings.php:1146
|
913 |
+
msgid "Limit attempts"
|
914 |
+
msgstr ""
|
915 |
+
|
916 |
+
#: ../settings.php:1147
|
917 |
+
msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
|
918 |
+
msgstr ""
|
919 |
+
|
920 |
+
#: ../settings.php:244
|
921 |
+
msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: ../dashboard.php:847 ../dashboard.php:1111
|
925 |
+
msgid "Event"
|
926 |
+
msgstr ""
|
927 |
+
|
928 |
+
#: ../common.php:283
|
929 |
+
msgid "Spam comments denied"
|
930 |
+
msgstr ""
|
931 |
+
|
932 |
+
#: ../common.php:285
|
933 |
+
msgid "Malicious IP addresses detected"
|
934 |
+
msgstr ""
|
935 |
+
|
936 |
+
#: ../common.php:286
|
937 |
+
msgid "Lockouts occurred"
|
938 |
+
msgstr ""
|
939 |
+
|
940 |
+
#: ../cerber-load.php:1550 ../cerber-load.php:1556 ../cerber-load.php:1581 ..
|
941 |
+
#: /cerber-load.php:1588
|
942 |
+
msgid "You are not allowed to register."
|
943 |
+
msgstr ""
|
944 |
+
|
945 |
+
#: ../common.php:1336
|
946 |
+
msgid "Spam comment denied"
|
947 |
+
msgstr ""
|
948 |
+
|
949 |
+
#: ../common.php:1359
|
950 |
+
msgid "Attempt to log in denied"
|
951 |
+
msgstr ""
|
952 |
+
|
953 |
+
#: ../common.php:1360
|
954 |
+
msgid "Attempt to register denied"
|
955 |
+
msgstr ""
|
956 |
+
|
957 |
+
#: ../common.php:280
|
958 |
+
msgid "Malicious activities mitigated"
|
959 |
+
msgstr ""
|
960 |
+
|
961 |
+
#: ../settings.php:1029
|
962 |
+
msgid "Comment form"
|
963 |
+
msgstr ""
|
964 |
+
|
965 |
+
#: ../settings.php:1030
|
966 |
+
msgid "Protect comment form with bot detection engine"
|
967 |
+
msgstr ""
|
968 |
+
|
969 |
+
#: ../settings.php:1035
|
970 |
+
msgid "Protect registration form with bot detection engine"
|
971 |
+
msgstr ""
|
972 |
+
|
973 |
+
#: ../dashboard.php:4768
|
974 |
+
msgid "Diagnostic"
|
975 |
+
msgstr ""
|
976 |
+
|
977 |
+
#: ../dashboard.php:4771
|
978 |
+
msgid "License"
|
979 |
+
msgstr ""
|
980 |
+
|
981 |
+
#: ../cerber-load.php:1889
|
982 |
+
msgid "Sorry, human verification failed."
|
983 |
+
msgstr ""
|
984 |
+
|
985 |
+
#: ../common.php:1455
|
986 |
+
msgid "Bot activity is detected"
|
987 |
+
msgstr ""
|
988 |
+
|
989 |
+
#: ../settings.php:1070
|
990 |
+
msgid "Comment processing"
|
991 |
+
msgstr ""
|
992 |
+
|
993 |
+
#: ../settings.php:1074
|
994 |
+
msgid "If a spam comment detected"
|
995 |
+
msgstr ""
|
996 |
+
|
997 |
+
#: ../settings.php:1079
|
998 |
+
msgid "Trash spam comments"
|
999 |
+
msgstr ""
|
1000 |
+
|
1001 |
+
#: ../settings.php:1081
|
1002 |
+
msgid "Move spam comments to trash after"
|
1003 |
+
msgstr ""
|
1004 |
+
|
1005 |
+
#: ../common.php:1337
|
1006 |
+
msgid "Spam form submission denied"
|
1007 |
+
msgstr ""
|
1008 |
+
|
1009 |
+
#: ../settings.php:1039
|
1010 |
+
msgid "Other forms"
|
1011 |
+
msgstr ""
|
1012 |
+
|
1013 |
+
#: ../settings.php:1040
|
1014 |
+
msgid "Protect all forms on the website with bot detection engine"
|
1015 |
+
msgstr ""
|
1016 |
+
|
1017 |
+
#: ../settings.php:1050
|
1018 |
+
msgid "Safe mode"
|
1019 |
+
msgstr ""
|
1020 |
+
|
1021 |
+
#: ../settings.php:1051
|
1022 |
+
msgid "Use less restrictive policies (allow AJAX)"
|
1023 |
+
msgstr ""
|
1024 |
+
|
1025 |
+
#: ../dashboard.php:979 ../dashboard.php:1759 ../dashboard.php:4034 ../settings.
|
1026 |
+
#: php:399 ../settings.php:1055
|
1027 |
+
msgid "Logged in users"
|
1028 |
+
msgstr ""
|
1029 |
+
|
1030 |
+
#: ../settings.php:1056
|
1031 |
+
msgid "Disable bot detection engine for logged in users"
|
1032 |
+
msgstr ""
|
1033 |
+
|
1034 |
+
#: ../dashboard.php:197 ../dashboard.php:1109
|
1035 |
+
msgid "Country"
|
1036 |
+
msgstr ""
|
1037 |
+
|
1038 |
+
#: ../dashboard.php:61
|
1039 |
+
msgid "Cerber Security Rules"
|
1040 |
+
msgstr ""
|
1041 |
+
|
1042 |
+
#: ../dashboard.php:61 ../dashboard.php:4695
|
1043 |
+
msgid "Security Rules"
|
1044 |
+
msgstr ""
|
1045 |
+
|
1046 |
+
#: ../dashboard.php:1612
|
1047 |
+
msgid "Failed login attempts"
|
1048 |
+
msgstr ""
|
1049 |
+
|
1050 |
+
#: ../dashboard.php:1523 ../dashboard.php:1613
|
1051 |
+
msgid "Registered"
|
1052 |
+
msgstr ""
|
1053 |
+
|
1054 |
+
#: ../dashboard.php:1683 ../cerber-users.php:52 ../cerber-users.php:1115
|
1055 |
+
msgid "You"
|
1056 |
+
msgstr ""
|
1057 |
+
|
1058 |
+
#: ../common.php:284
|
1059 |
+
msgid "Spam form submissions denied"
|
1060 |
+
msgstr ""
|
1061 |
+
|
1062 |
+
#: ../cerber-load.php:4231 ../cerber-load.php:5248
|
1063 |
+
msgid "Getting Started Guide"
|
1064 |
+
msgstr ""
|
1065 |
+
|
1066 |
+
#: ../dashboard.php:4697
|
1067 |
+
msgid "Countries"
|
1068 |
+
msgstr ""
|
1069 |
+
|
1070 |
+
#: ../dashboard.php:3287
|
1071 |
+
msgid "Permitted for one country"
|
1072 |
+
msgid_plural "Permitted for %d countries"
|
1073 |
+
msgstr[0] ""
|
1074 |
+
|
1075 |
+
#: ../dashboard.php:3298
|
1076 |
+
msgid "No rule"
|
1077 |
+
msgstr ""
|
1078 |
+
|
1079 |
+
#: ../dashboard.php:3459
|
1080 |
+
msgid "Security rules have been updated"
|
1081 |
+
msgstr ""
|
1082 |
+
|
1083 |
+
#. URI of the plugin
|
1084 |
+
#:
|
1085 |
+
msgid "https://wpcerber.com"
|
1086 |
+
msgstr ""
|
1087 |
+
|
1088 |
+
#: ../common.php:1338
|
1089 |
+
msgid "Form submission denied"
|
1090 |
+
msgstr ""
|
1091 |
+
|
1092 |
+
#: ../common.php:1339
|
1093 |
+
msgid "Comment denied"
|
1094 |
+
msgstr ""
|
1095 |
+
|
1096 |
+
#: ../common.php:1365
|
1097 |
+
msgid "Request to REST API denied"
|
1098 |
+
msgstr ""
|
1099 |
+
|
1100 |
+
#: ../common.php:1366
|
1101 |
+
msgid "XML-RPC request denied"
|
1102 |
+
msgstr ""
|
1103 |
+
|
1104 |
+
#: ../common.php:1387
|
1105 |
+
msgid "Bot detected"
|
1106 |
+
msgstr ""
|
1107 |
+
|
1108 |
+
#: ../common.php:1388
|
1109 |
+
msgid "Citadel mode is active"
|
1110 |
+
msgstr ""
|
1111 |
+
|
1112 |
+
#: ../common.php:1392
|
1113 |
+
msgid "Malicious activity detected"
|
1114 |
+
msgstr ""
|
1115 |
+
|
1116 |
+
#: ../common.php:1393
|
1117 |
+
msgid "Blocked by country rule"
|
1118 |
+
msgstr ""
|
1119 |
+
|
1120 |
+
#: ../common.php:1394
|
1121 |
+
msgid "Limit reached"
|
1122 |
+
msgstr ""
|
1123 |
+
|
1124 |
+
#: ../common.php:1395
|
1125 |
+
msgid "Multiple suspicious activities"
|
1126 |
+
msgstr ""
|
1127 |
+
|
1128 |
+
#: ../common.php:1456
|
1129 |
+
msgid "Multiple suspicious activities were detected"
|
1130 |
+
msgstr ""
|
1131 |
+
|
1132 |
+
#: ../settings.php:400
|
1133 |
+
msgid "Allow REST API for logged in users"
|
1134 |
+
msgstr ""
|
1135 |
+
|
1136 |
+
#: ../settings.php:414
|
1137 |
+
msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
|
1138 |
+
msgstr ""
|
1139 |
+
|
1140 |
+
#: ../settings.php:551
|
1141 |
+
msgid "Registration limit"
|
1142 |
+
msgstr ""
|
1143 |
+
|
1144 |
+
#: ../settings.php:589
|
1145 |
+
msgid "Sort users in dashboard"
|
1146 |
+
msgstr ""
|
1147 |
+
|
1148 |
+
#: ../settings.php:590
|
1149 |
+
msgid "by date of registration"
|
1150 |
+
msgstr ""
|
1151 |
+
|
1152 |
+
#: ../settings.php:1060
|
1153 |
+
msgid "Query whitelist"
|
1154 |
+
msgstr ""
|
1155 |
+
|
1156 |
+
#: ../dashboard.php:3267
|
1157 |
+
msgid "Start typing here to find a country"
|
1158 |
+
msgstr ""
|
1159 |
+
|
1160 |
+
#: ../dashboard.php:3382
|
1161 |
+
msgid "Click on a country name to add it to the list of selected countries"
|
1162 |
+
msgstr ""
|
1163 |
+
|
1164 |
+
#: ../dashboard.php:3414
|
1165 |
+
msgid "Submit forms"
|
1166 |
+
msgstr ""
|
1167 |
+
|
1168 |
+
#: ../dashboard.php:3415
|
1169 |
+
msgid "Post comments"
|
1170 |
+
msgstr ""
|
1171 |
+
|
1172 |
+
#: ../dashboard.php:3409
|
1173 |
+
msgid "Log in to the website"
|
1174 |
+
msgstr ""
|
1175 |
+
|
1176 |
+
#: ../dashboard.php:3413
|
1177 |
+
msgid "Register on the website"
|
1178 |
+
msgstr ""
|
1179 |
+
|
1180 |
+
#: ../dashboard.php:3416
|
1181 |
+
msgid "Use XML-RPC"
|
1182 |
+
msgstr ""
|
1183 |
+
|
1184 |
+
#: ../dashboard.php:3417
|
1185 |
+
msgid "Use REST API"
|
1186 |
+
msgstr ""
|
1187 |
+
|
1188 |
+
#: ../settings.php:1076
|
1189 |
+
msgid "Deny it completely"
|
1190 |
+
msgstr ""
|
1191 |
+
|
1192 |
+
#: ../settings.php:1076
|
1193 |
+
msgid "Mark it as spam"
|
1194 |
+
msgstr ""
|
1195 |
+
|
1196 |
+
#: ../dashboard.php:2345
|
1197 |
+
msgid "in the last 24 hours"
|
1198 |
+
msgstr ""
|
1199 |
+
|
1200 |
+
#: ../dashboard.php:2683
|
1201 |
+
msgid "Main settings"
|
1202 |
+
msgstr ""
|
1203 |
+
|
1204 |
+
#: ../settings.php:687
|
1205 |
+
msgid "Weekly reports"
|
1206 |
+
msgstr ""
|
1207 |
+
|
1208 |
+
#: ../admin/cerber-settings.php:537
|
1209 |
+
msgid "Sunday"
|
1210 |
+
msgstr ""
|
1211 |
+
|
1212 |
+
#: ../admin/cerber-settings.php:538
|
1213 |
+
msgid "Monday"
|
1214 |
+
msgstr ""
|
1215 |
+
|
1216 |
+
#: ../admin/cerber-settings.php:539
|
1217 |
+
msgid "Tuesday"
|
1218 |
+
msgstr ""
|
1219 |
+
|
1220 |
+
#: ../admin/cerber-settings.php:540
|
1221 |
+
msgid "Wednesday"
|
1222 |
+
msgstr ""
|
1223 |
+
|
1224 |
+
#: ../admin/cerber-settings.php:541
|
1225 |
+
msgid "Thursday"
|
1226 |
+
msgstr ""
|
1227 |
+
|
1228 |
+
#: ../admin/cerber-settings.php:542
|
1229 |
+
msgid "Friday"
|
1230 |
+
msgstr ""
|
1231 |
+
|
1232 |
+
#: ../admin/cerber-settings.php:543
|
1233 |
+
msgid "Saturday"
|
1234 |
+
msgstr ""
|
1235 |
+
|
1236 |
+
#: ../admin/cerber-settings.php:679 ../admin/cerber-settings.php:680
|
1237 |
+
msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
|
1238 |
+
msgstr ""
|
1239 |
+
|
1240 |
+
#: ../cerber-load.php:4246
|
1241 |
+
msgid "Weekly report"
|
1242 |
+
msgstr ""
|
1243 |
+
|
1244 |
+
#: ../cerber-load.php:4249 ../cerber-load.php:4259
|
1245 |
+
msgid "To change reporting settings visit"
|
1246 |
+
msgstr ""
|
1247 |
+
|
1248 |
+
#: ../cerber-load.php:4282
|
1249 |
+
msgid "Your login page:"
|
1250 |
+
msgstr ""
|
1251 |
+
|
1252 |
+
#: ../cerber-load.php:4286
|
1253 |
+
msgid "Your license is valid until"
|
1254 |
+
msgstr ""
|
1255 |
+
|
1256 |
+
#: ../cerber-load.php:4392
|
1257 |
+
msgid "Activity details"
|
1258 |
+
msgstr ""
|
1259 |
+
|
1260 |
+
#: ../admin/cerber-settings.php:572
|
1261 |
+
msgid "Click to send now"
|
1262 |
+
msgstr ""
|
1263 |
+
|
1264 |
+
#: ../cerber-load.php:818
|
1265 |
+
msgid "> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/"
|
1266 |
+
msgstr ""
|
1267 |
+
|
1268 |
+
#: ../dashboard.php:583
|
1269 |
+
msgid "Email has been sent to"
|
1270 |
+
msgstr ""
|
1271 |
+
|
1272 |
+
#: ../dashboard.php:586
|
1273 |
+
msgid "Unable to send email to"
|
1274 |
+
msgstr ""
|
1275 |
+
|
1276 |
+
#: ../dashboard.php:3290
|
1277 |
+
msgid "Not permitted for one country"
|
1278 |
+
msgid_plural "Not permitted for %d countries"
|
1279 |
+
msgstr[0] ""
|
1280 |
+
|
1281 |
+
#: ../dashboard.php:3386
|
1282 |
+
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
1283 |
+
msgid "Selected countries are permitted to %s, other countries are not permitted to"
|
1284 |
+
msgstr ""
|
1285 |
+
|
1286 |
+
#: ../dashboard.php:3389
|
1287 |
+
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
1288 |
+
msgid "Selected countries are not permitted to %s, other countries are permitted to"
|
1289 |
+
msgstr ""
|
1290 |
+
|
1291 |
+
#: ../cerber-load.php:4380
|
1292 |
+
msgid "Weekly Report"
|
1293 |
+
msgstr ""
|
1294 |
+
|
1295 |
+
#: ../settings.php:199
|
1296 |
+
msgid "Use 404 template from the active theme"
|
1297 |
+
msgstr ""
|
1298 |
+
|
1299 |
+
#: ../settings.php:200
|
1300 |
+
msgid "Display simple 404 page"
|
1301 |
+
msgstr ""
|
1302 |
+
|
1303 |
+
#: ../settings.php:1061
|
1304 |
+
msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
|
1305 |
+
msgstr ""
|
1306 |
+
|
1307 |
+
#: ../settings.php:691
|
1308 |
+
msgid "Enable reporting"
|
1309 |
+
msgstr ""
|
1310 |
+
|
1311 |
+
#: ../cerber-load.php:4310
|
1312 |
+
msgid "Your last sign-in was %s from %s"
|
1313 |
+
msgstr ""
|
1314 |
+
|
1315 |
+
#: ../dashboard.php:322
|
1316 |
+
msgid "Optional comment for this entry"
|
1317 |
+
msgstr ""
|
1318 |
+
|
1319 |
+
#: ../dashboard.php:344
|
1320 |
+
msgid "You cannot add your IP address or network"
|
1321 |
+
msgstr ""
|
1322 |
+
|
1323 |
+
#: ../settings.php:567 ../settings.php:575
|
1324 |
+
msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
|
1325 |
+
msgstr ""
|
1326 |
+
|
1327 |
+
#: ../dashboard.php:56
|
1328 |
+
msgid "Cerber Traffic Inspector"
|
1329 |
+
msgstr ""
|
1330 |
+
|
1331 |
+
#: ../dashboard.php:56 ../dashboard.php:1766 ../dashboard.php:4649
|
1332 |
+
msgid "Traffic Inspector"
|
1333 |
+
msgstr ""
|
1334 |
+
|
1335 |
+
#: ../dashboard.php:1805 ../cerber-users.php:1149
|
1336 |
+
msgid "Traffic"
|
1337 |
+
msgstr ""
|
1338 |
+
|
1339 |
+
#: ../dashboard.php:4002
|
1340 |
+
msgid "Request"
|
1341 |
+
msgstr ""
|
1342 |
+
|
1343 |
+
#: ../dashboard.php:4004 ../cerber-users.php:983
|
1344 |
+
msgid "Host Info"
|
1345 |
+
msgstr ""
|
1346 |
+
|
1347 |
+
#: ../dashboard.php:4005
|
1348 |
+
msgid "User Agent"
|
1349 |
+
msgstr ""
|
1350 |
+
|
1351 |
+
#: ../dashboard.php:4030
|
1352 |
+
msgid "All requests"
|
1353 |
+
msgstr ""
|
1354 |
+
|
1355 |
+
#: ../dashboard.php:980 ../dashboard.php:4035
|
1356 |
+
msgid "Not logged in visitors"
|
1357 |
+
msgstr ""
|
1358 |
+
|
1359 |
+
#: ../dashboard.php:4038
|
1360 |
+
msgid "Form submissions"
|
1361 |
+
msgstr ""
|
1362 |
+
|
1363 |
+
#: ../dashboard.php:4040
|
1364 |
+
msgid "Page Not Found"
|
1365 |
+
msgstr ""
|
1366 |
+
|
1367 |
+
#: ../dashboard.php:4049
|
1368 |
+
msgid "Longer than"
|
1369 |
+
msgstr ""
|
1370 |
+
|
1371 |
+
#: ../dashboard.php:4072
|
1372 |
+
msgid "Refresh"
|
1373 |
+
msgstr ""
|
1374 |
+
|
1375 |
+
#: ../common.php:210
|
1376 |
+
msgid "Check for requests"
|
1377 |
+
msgstr ""
|
1378 |
+
|
1379 |
+
#: ../common.php:1834
|
1380 |
+
msgid "Not specified"
|
1381 |
+
msgstr ""
|
1382 |
+
|
1383 |
+
#: ../settings.php:766
|
1384 |
+
msgid "Logging mode"
|
1385 |
+
msgstr ""
|
1386 |
+
|
1387 |
+
#: ../settings.php:769
|
1388 |
+
msgid "Logging disabled"
|
1389 |
+
msgstr ""
|
1390 |
+
|
1391 |
+
#: ../settings.php:770
|
1392 |
+
msgid "Smart"
|
1393 |
+
msgstr ""
|
1394 |
+
|
1395 |
+
#: ../settings.php:771
|
1396 |
+
msgid "All traffic"
|
1397 |
+
msgstr ""
|
1398 |
+
|
1399 |
+
#: ../settings.php:775
|
1400 |
+
msgid "Ignore crawlers"
|
1401 |
+
msgstr ""
|
1402 |
+
|
1403 |
+
#: ../settings.php:783
|
1404 |
+
msgid "Mask these form fields"
|
1405 |
+
msgstr ""
|
1406 |
+
|
1407 |
+
#: ../settings.php:808
|
1408 |
+
msgid "milliseconds"
|
1409 |
+
msgstr ""
|
1410 |
+
|
1411 |
+
#: ../settings.php:717
|
1412 |
+
msgid "Enable traffic inspection"
|
1413 |
+
msgstr ""
|
1414 |
+
|
1415 |
+
#: ../settings.php:779
|
1416 |
+
msgid "Save request fields"
|
1417 |
+
msgstr ""
|
1418 |
+
|
1419 |
+
#: ../settings.php:807
|
1420 |
+
msgid "Page generation time threshold"
|
1421 |
+
msgstr ""
|
1422 |
+
|
1423 |
+
#: ../dashboard.php:4022
|
1424 |
+
msgid "No requests have been logged."
|
1425 |
+
msgstr ""
|
1426 |
+
|
1427 |
+
#: ../dashboard.php:1765
|
1428 |
+
msgid "enabled"
|
1429 |
+
msgstr ""
|
1430 |
+
|
1431 |
+
#: ../dashboard.php:1770
|
1432 |
+
msgid "no connection"
|
1433 |
+
msgstr ""
|
1434 |
+
|
1435 |
+
#: ../dashboard.php:1555
|
1436 |
+
msgid "Last seen"
|
1437 |
+
msgstr ""
|
1438 |
+
|
1439 |
+
#: ../common.php:1361 ../common.php:1457
|
1440 |
+
msgid "Probing for vulnerable PHP code"
|
1441 |
+
msgstr ""
|
1442 |
+
|
1443 |
+
#: ../cerber-load.php:4024
|
1444 |
+
msgid "We're sorry, you are not allowed to proceed"
|
1445 |
+
msgstr ""
|
1446 |
+
|
1447 |
+
#: ../settings.php:730
|
1448 |
+
msgid "Request whitelist"
|
1449 |
+
msgstr ""
|
1450 |
+
|
1451 |
+
#: ../settings.php:734
|
1452 |
+
msgid "Enter a request URI to exclude the request from inspection. One item per line."
|
1453 |
+
msgstr ""
|
1454 |
+
|
1455 |
+
#: ../settings.php:790
|
1456 |
+
msgid "Save request headers"
|
1457 |
+
msgstr ""
|
1458 |
+
|
1459 |
+
#: ../settings.php:795
|
1460 |
+
msgid "Save $_SERVER"
|
1461 |
+
msgstr ""
|
1462 |
+
|
1463 |
+
#: ../settings.php:799
|
1464 |
+
msgid "Save request cookies"
|
1465 |
+
msgstr ""
|
1466 |
+
|
1467 |
+
#: ../settings.php:358
|
1468 |
+
msgid "Protect admin scripts"
|
1469 |
+
msgstr ""
|
1470 |
+
|
1471 |
+
#: ../settings.php:359
|
1472 |
+
msgid "Block unauthorized access to load-scripts.php and load-styles.php"
|
1473 |
+
msgstr ""
|
1474 |
+
|
1475 |
+
#: ../common.php:2757
|
1476 |
+
msgid "Unable to create the directory"
|
1477 |
+
msgstr ""
|
1478 |
+
|
1479 |
+
#: ../common.php:2762
|
1480 |
+
msgid "Destination folder access denied"
|
1481 |
+
msgstr ""
|
1482 |
+
|
1483 |
+
#: ../common.php:2765
|
1484 |
+
msgid "File not found"
|
1485 |
+
msgstr ""
|
1486 |
+
|
1487 |
+
#: ../common.php:2768
|
1488 |
+
msgid "Unable to copy the file"
|
1489 |
+
msgstr ""
|
1490 |
+
|
1491 |
+
#: ../common.php:2774
|
1492 |
+
msgid "Unable to delete the file"
|
1493 |
+
msgstr ""
|
1494 |
+
|
1495 |
+
#: ../settings.php:136
|
1496 |
+
msgid "Plugin initialization"
|
1497 |
+
msgstr ""
|
1498 |
+
|
1499 |
+
#: ../settings.php:139
|
1500 |
+
msgid "Load security engine"
|
1501 |
+
msgstr ""
|
1502 |
+
|
1503 |
+
#: ../settings.php:142
|
1504 |
+
msgid "Legacy mode"
|
1505 |
+
msgstr ""
|
1506 |
+
|
1507 |
+
#: ../settings.php:143
|
1508 |
+
msgid "Standard mode"
|
1509 |
+
msgstr ""
|
1510 |
+
|
1511 |
+
#: ../admin/cerber-settings.php:650
|
1512 |
+
msgid "Plugin initialization mode has not been changed"
|
1513 |
+
msgstr ""
|
1514 |
+
|
1515 |
+
#. Description of the plugin
|
1516 |
+
#:
|
1517 |
+
msgid "This is a standard boot module for WP Cerber Security & Antispam plugin. It was installed when you set the plugin initialization mode to Standard. Know more: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
|
1518 |
+
msgstr ""
|
1519 |
+
|
1520 |
+
#: ../common.php:1363
|
1521 |
+
msgid "File upload denied"
|
1522 |
+
msgstr ""
|
1523 |
+
|
1524 |
+
#: ../settings.php:734
|
1525 |
+
msgid "To specify a REGEX pattern, enclose a whole line in two braces."
|
1526 |
+
msgstr ""
|
1527 |
+
|
1528 |
+
#: ../settings.php:129
|
1529 |
+
msgid "Be careful about enabling these options."
|
1530 |
+
msgstr ""
|
1531 |
+
|
1532 |
+
#: ../settings.php:129
|
1533 |
+
msgid "If you forget your Custom login URL, you will be unable to log in."
|
1534 |
+
msgstr ""
|
1535 |
+
|
1536 |
+
#: ../dashboard.php:67 ../dashboard.php:4710
|
1537 |
+
msgid "Site Integrity"
|
1538 |
+
msgstr ""
|
1539 |
+
|
1540 |
+
#: ../dashboard.php:1790 ../dashboard.php:1792 ../cerber-users.php:20 ../cerber-
|
1541 |
+
#: users.php:446 ../settings.php:720 ../settings.php:748 ../settings.php:857 ..
|
1542 |
+
#: /settings.php:866 ../settings.php:1209 ../cerber-scanner.php:1493
|
1543 |
+
msgid "Disabled"
|
1544 |
+
msgstr ""
|
1545 |
+
|
1546 |
+
#: ../dashboard.php:1791 ../cerber-scanner.php:938
|
1547 |
+
msgid "Quick Scan"
|
1548 |
+
msgstr ""
|
1549 |
+
|
1550 |
+
#: ../dashboard.php:1793 ../cerber-scanner.php:938
|
1551 |
+
msgid "Full Scan"
|
1552 |
+
msgstr ""
|
1553 |
+
|
1554 |
+
#. Name of the plugin
|
1555 |
+
#:
|
1556 |
+
msgid "WP Cerber Security, Antispam & Malware Scan"
|
1557 |
+
msgstr ""
|
1558 |
+
|
1559 |
+
#: ../common.php:1396
|
1560 |
+
msgid "Denied"
|
1561 |
+
msgstr ""
|
1562 |
+
|
1563 |
+
#: ../settings.php:165 ../settings.php:526 ../settings.php:726
|
1564 |
+
msgid "Use White IP Access List"
|
1565 |
+
msgstr ""
|
1566 |
+
|
1567 |
+
#: ../settings.php:186
|
1568 |
+
msgid "Disable dashboard redirection"
|
1569 |
+
msgstr ""
|
1570 |
+
|
1571 |
+
#: ../settings.php:187
|
1572 |
+
msgid "Disable automatic redirection to the login page when /wp-admin/ is requested by an unauthorized request"
|
1573 |
+
msgstr ""
|
1574 |
+
|
1575 |
+
#: ../settings.php:828
|
1576 |
+
msgid "Scanner settings"
|
1577 |
+
msgstr ""
|
1578 |
+
|
1579 |
+
#: ../settings.php:833
|
1580 |
+
msgid "Custom signatures"
|
1581 |
+
msgstr ""
|
1582 |
+
|
1583 |
+
#: ../settings.php:837
|
1584 |
+
msgid "Specify custom PHP code signatures. One item per line. To specify a REGEX pattern, enclose a whole line in two braces."
|
1585 |
+
msgstr ""
|
1586 |
+
|
1587 |
+
#: ../settings.php:840
|
1588 |
+
msgid "Unwanted file extensions"
|
1589 |
+
msgstr ""
|
1590 |
+
|
1591 |
+
#: ../settings.php:844
|
1592 |
+
msgid "Specify file extensions to search for. Full scan only. Use comma to separate items."
|
1593 |
+
msgstr ""
|
1594 |
+
|
1595 |
+
#: ../settings.php:847
|
1596 |
+
msgid "Directories to exclude"
|
1597 |
+
msgstr ""
|
1598 |
+
|
1599 |
+
#: ../settings.php:876
|
1600 |
+
msgid "Scan temporary directory"
|
1601 |
+
msgstr ""
|
1602 |
+
|
1603 |
+
#: ../settings.php:880
|
1604 |
+
msgid "Scan session directory"
|
1605 |
+
msgstr ""
|
1606 |
+
|
1607 |
+
#: ../settings.php:889
|
1608 |
+
msgid "Delete quarantined files after"
|
1609 |
+
msgstr ""
|
1610 |
+
|
1611 |
+
#: ../settings.php:903
|
1612 |
+
msgid "Launch Quick Scan"
|
1613 |
+
msgstr ""
|
1614 |
+
|
1615 |
+
#: ../cerber-scanner.php:1494
|
1616 |
+
msgid "Every hour"
|
1617 |
+
msgstr ""
|
1618 |
+
|
1619 |
+
#: ../cerber-scanner.php:1495
|
1620 |
+
msgid "Every 3 hours"
|
1621 |
+
msgstr ""
|
1622 |
+
|
1623 |
+
#: ../cerber-scanner.php:1496
|
1624 |
+
msgid "Every 6 hours"
|
1625 |
+
msgstr ""
|
1626 |
+
|
1627 |
+
#: ../settings.php:908
|
1628 |
+
msgid "Launch Full Scan"
|
1629 |
+
msgstr ""
|
1630 |
+
|
1631 |
+
#: ../settings.php:923 ../settings.php:969
|
1632 |
+
msgid "Low severity"
|
1633 |
+
msgstr ""
|
1634 |
+
|
1635 |
+
#: ../settings.php:924 ../settings.php:970
|
1636 |
+
msgid "Medium severity"
|
1637 |
+
msgstr ""
|
1638 |
+
|
1639 |
+
#: ../settings.php:925 ../settings.php:971
|
1640 |
+
msgid "High severity"
|
1641 |
+
msgstr ""
|
1642 |
+
|
1643 |
+
#: ../settings.php:920
|
1644 |
+
msgid "Report an issue if any of the following is true"
|
1645 |
+
msgstr ""
|
1646 |
+
|
1647 |
+
#: ../settings.php:929
|
1648 |
+
msgid "Send email report"
|
1649 |
+
msgstr ""
|
1650 |
+
|
1651 |
+
#: ../settings.php:932
|
1652 |
+
msgid "After every scan"
|
1653 |
+
msgstr ""
|
1654 |
+
|
1655 |
+
#: ../settings.php:933
|
1656 |
+
msgid "If any changes in scan results occurred"
|
1657 |
+
msgstr ""
|
1658 |
+
|
1659 |
+
#: ../settings.php:938
|
1660 |
+
msgid "Include file sizes"
|
1661 |
+
msgstr ""
|
1662 |
+
|
1663 |
+
#: ../settings.php:942
|
1664 |
+
msgid "Include scan errors"
|
1665 |
+
msgstr ""
|
1666 |
+
|
1667 |
+
#: ../dashboard.php:4712
|
1668 |
+
msgid "Security Scanner"
|
1669 |
+
msgstr ""
|
1670 |
+
|
1671 |
+
#: ../dashboard.php:4714
|
1672 |
+
msgid "Scheduling"
|
1673 |
+
msgstr ""
|
1674 |
+
|
1675 |
+
#: ../admin/cerber-admin.php:164
|
1676 |
+
msgid "Currently a scheduled scan in progress. Please wait until it is finished."
|
1677 |
+
msgstr ""
|
1678 |
+
|
1679 |
+
#: ../admin/cerber-admin.php:168
|
1680 |
+
msgid "Previous scan started %s has not been completed. Continue scanning?"
|
1681 |
+
msgstr ""
|
1682 |
+
|
1683 |
+
#: ../admin/cerber-admin.php:177
|
1684 |
+
msgid "It seems this website has never been scanned. To start scanning click the button below."
|
1685 |
+
msgstr ""
|
1686 |
+
|
1687 |
+
#: ../admin/cerber-admin.php:180
|
1688 |
+
msgid "Start Quick Scan"
|
1689 |
+
msgstr ""
|
1690 |
+
|
1691 |
+
#: ../admin/cerber-admin.php:181
|
1692 |
+
msgid "Start Full Scan"
|
1693 |
+
msgstr ""
|
1694 |
+
|
1695 |
+
#: ../admin/cerber-admin.php:182
|
1696 |
+
msgid "Stop Scanning"
|
1697 |
+
msgstr ""
|
1698 |
+
|
1699 |
+
#: ../admin/cerber-admin.php:183
|
1700 |
+
msgid "Continue Scanning"
|
1701 |
+
msgstr ""
|
1702 |
+
|
1703 |
+
#: ../admin/cerber-admin.php:219
|
1704 |
+
msgid "Delete"
|
1705 |
+
msgstr ""
|
1706 |
+
|
1707 |
+
#: ../cerber-scanner.php:1439
|
1708 |
+
msgid "Verified"
|
1709 |
+
msgstr ""
|
1710 |
+
|
1711 |
+
#: ../cerber-scanner.php:1446
|
1712 |
+
msgid "Integrity data not found"
|
1713 |
+
msgstr ""
|
1714 |
+
|
1715 |
+
#: ../cerber-scanner.php:1447
|
1716 |
+
msgid "Unable to check the integrity of the plugin due to a network error"
|
1717 |
+
msgstr ""
|
1718 |
+
|
1719 |
+
#: ../cerber-scanner.php:1448
|
1720 |
+
msgid "Unable to check the integrity of WordPress files due to a network error"
|
1721 |
+
msgstr ""
|
1722 |
+
|
1723 |
+
#: ../cerber-scanner.php:1449
|
1724 |
+
msgid "Unable to check the integrity of the theme due to a network error"
|
1725 |
+
msgstr ""
|
1726 |
+
|
1727 |
+
#: ../cerber-scanner.php:1452
|
1728 |
+
msgid "Local file doesn't exist"
|
1729 |
+
msgstr ""
|
1730 |
+
|
1731 |
+
#: ../cerber-scanner.php:1454
|
1732 |
+
msgid "Unable to process file"
|
1733 |
+
msgstr ""
|
1734 |
+
|
1735 |
+
#: ../cerber-scanner.php:1455 ../cerber-scanner.php:4537
|
1736 |
+
msgid "Unable to open file"
|
1737 |
+
msgstr ""
|
1738 |
+
|
1739 |
+
#: ../admin/cerber-admin.php:79 ../cerber-scanner.php:1457
|
1740 |
+
msgid "Checksum mismatch"
|
1741 |
+
msgstr ""
|
1742 |
+
|
1743 |
+
#: ../cerber-scanner.php:1460
|
1744 |
+
msgid "Suspicious code found"
|
1745 |
+
msgstr ""
|
1746 |
+
|
1747 |
+
#: ../cerber-scanner.php:1462
|
1748 |
+
msgid "Unattended suspicious file"
|
1749 |
+
msgstr ""
|
1750 |
+
|
1751 |
+
#: ../cerber-scanner.php:1463
|
1752 |
+
msgid "Executable code found"
|
1753 |
+
msgstr ""
|
1754 |
+
|
1755 |
+
#: ../cerber-scanner.php:1467
|
1756 |
+
msgid "Unwanted file extension"
|
1757 |
+
msgstr ""
|
1758 |
+
|
1759 |
+
#: ../cerber-scanner.php:1469
|
1760 |
+
msgid "Content has been modified"
|
1761 |
+
msgstr ""
|
1762 |
+
|
1763 |
+
#: ../cerber-scanner.php:1470
|
1764 |
+
msgid "New file"
|
1765 |
+
msgstr ""
|
1766 |
+
|
1767 |
+
#: ../cerber-scanner.php:2526
|
1768 |
+
msgid "Custom signature found"
|
1769 |
+
msgstr ""
|
1770 |
+
|
1771 |
+
#: ../cerber-scanner.php:3758
|
1772 |
+
msgid "Scanning folders for files"
|
1773 |
+
msgstr ""
|
1774 |
+
|
1775 |
+
#: ../cerber-scanner.php:3762
|
1776 |
+
msgid "Parsing the list of files"
|
1777 |
+
msgstr ""
|
1778 |
+
|
1779 |
+
#: ../cerber-scanner.php:3763
|
1780 |
+
msgid "Checking for new and modified files"
|
1781 |
+
msgstr ""
|
1782 |
+
|
1783 |
+
#: ../cerber-scanner.php:3764
|
1784 |
+
msgid "Verifying the integrity of WordPress"
|
1785 |
+
msgstr ""
|
1786 |
+
|
1787 |
+
#: ../cerber-scanner.php:3766
|
1788 |
+
msgid "Verifying the integrity of the plugins"
|
1789 |
+
msgstr ""
|
1790 |
+
|
1791 |
+
#: ../cerber-scanner.php:3768
|
1792 |
+
msgid "Verifying the integrity of the themes"
|
1793 |
+
msgstr ""
|
1794 |
+
|
1795 |
+
#: ../cerber-scanner.php:3769
|
1796 |
+
msgid "Searching for malicious code"
|
1797 |
+
msgstr ""
|
1798 |
+
|
1799 |
+
#: ../cerber-scanner.php:3770
|
1800 |
+
msgid "Finalizing the scan"
|
1801 |
+
msgstr ""
|
1802 |
+
|
1803 |
+
#: ../admin/cerber-admin.php:96
|
1804 |
+
msgid "Files to scan"
|
1805 |
+
msgstr ""
|
1806 |
+
|
1807 |
+
#: ../admin/cerber-admin.php:103
|
1808 |
+
msgid "Critical issues"
|
1809 |
+
msgstr ""
|
1810 |
+
|
1811 |
+
#: ../admin/cerber-admin.php:103 ../cerber-scanner.php:4710
|
1812 |
+
msgid "Issues total"
|
1813 |
+
msgstr ""
|
1814 |
+
|
1815 |
+
#: ../admin/cerber-admin.php:344
|
1816 |
+
msgid "File access error. Possibly scan results are outdated. Please run Quick or Full Scan."
|
1817 |
+
msgstr ""
|
1818 |
+
|
1819 |
+
#: ../cerber-scanner.php:4833
|
1820 |
+
msgid "To view full report visit"
|
1821 |
+
msgstr ""
|
1822 |
+
|
1823 |
+
#: ../cerber-load.php:4256
|
1824 |
+
msgid "Scanner Report"
|
1825 |
+
msgstr ""
|
1826 |
+
|
1827 |
+
#: ../settings.php:854
|
1828 |
+
msgid "Monitor new files"
|
1829 |
+
msgstr ""
|
1830 |
+
|
1831 |
+
#: ../settings.php:863
|
1832 |
+
msgid "Monitor modified files"
|
1833 |
+
msgstr ""
|
1834 |
+
|
1835 |
+
#: ../settings.php:934
|
1836 |
+
msgid "If new issues found"
|
1837 |
+
msgstr ""
|
1838 |
+
|
1839 |
+
#: ../admin/cerber-settings.php:948
|
1840 |
+
msgid "The schedule has been updated"
|
1841 |
+
msgstr ""
|
1842 |
+
|
1843 |
+
#: ../cerber-scanner.php:1466 ../cerber-scanner.php:2706
|
1844 |
+
msgid "Suspicious directives found"
|
1845 |
+
msgstr ""
|
1846 |
+
|
1847 |
+
#: ../cerber-scanner.php:2704
|
1848 |
+
msgid "Suspicious code instruction found"
|
1849 |
+
msgstr ""
|
1850 |
+
|
1851 |
+
#: ../cerber-scanner.php:2705
|
1852 |
+
msgid "Suspicious code signatures found"
|
1853 |
+
msgstr ""
|
1854 |
+
|
1855 |
+
#: ../cerber-scanner.php:2708
|
1856 |
+
msgid "To solve this issue you have to reinstall %s or update it to the latest version."
|
1857 |
+
msgstr ""
|
1858 |
+
|
1859 |
+
#: ../cerber-scanner.php:2709
|
1860 |
+
msgid "Please upload a reference ZIP archive"
|
1861 |
+
msgstr ""
|
1862 |
+
|
1863 |
+
#: ../cerber-scanner.php:2710
|
1864 |
+
msgid "Resolve issue"
|
1865 |
+
msgstr ""
|
1866 |
+
|
1867 |
+
#: ../admin/cerber-admin.php:243
|
1868 |
+
msgid "We have not found any integrity data to verify"
|
1869 |
+
msgstr ""
|
1870 |
+
|
1871 |
+
#: ../admin/cerber-admin.php:245
|
1872 |
+
msgid "You have to upload a ZIP archive from which you've installed it. This enables the security scanner to verify the integrity of the code and detect malware."
|
1873 |
+
msgstr ""
|
1874 |
+
|
1875 |
+
#: ../cerber-scanner.php:4666
|
1876 |
+
msgid "Full Scan Report"
|
1877 |
+
msgstr ""
|
1878 |
+
|
1879 |
+
#: ../cerber-scanner.php:4666
|
1880 |
+
msgid "Quick Scan Report"
|
1881 |
+
msgstr ""
|
1882 |
+
|
1883 |
+
#: ../cerber-scanner.php:4679
|
1884 |
+
msgid "Files scanned"
|
1885 |
+
msgstr ""
|
1886 |
+
|
1887 |
+
#: ../dashboard.php:304 ../dashboard.php:1383 ../dashboard.php:1435 ../dashboard.
|
1888 |
+
#: php:1575
|
1889 |
+
msgid "Check for activities"
|
1890 |
+
msgstr ""
|
1891 |
+
|
1892 |
+
#: ../dashboard.php:1535
|
1893 |
+
msgid "Activated"
|
1894 |
+
msgstr ""
|
1895 |
+
|
1896 |
+
#: ../common.php:1373
|
1897 |
+
msgid "Malicious request denied"
|
1898 |
+
msgstr ""
|
1899 |
+
|
1900 |
+
#: ../common.php:1376
|
1901 |
+
msgid "User activated"
|
1902 |
+
msgstr ""
|
1903 |
+
|
1904 |
+
#: ../common.php:1398
|
1905 |
+
msgid "Suspicious number of fields"
|
1906 |
+
msgstr ""
|
1907 |
+
|
1908 |
+
#: ../common.php:1399
|
1909 |
+
msgid "Suspicious number of nested values"
|
1910 |
+
msgstr ""
|
1911 |
+
|
1912 |
+
#: ../common.php:1400 ../common.php:1458
|
1913 |
+
msgid "Malicious code detected"
|
1914 |
+
msgstr ""
|
1915 |
+
|
1916 |
+
#: ../common.php:1459
|
1917 |
+
msgid "Attempt to upload a file with malicious code"
|
1918 |
+
msgstr ""
|
1919 |
+
|
1920 |
+
#: ../common.php:1708
|
1921 |
+
msgid "Bytes"
|
1922 |
+
msgstr ""
|
1923 |
+
|
1924 |
+
#: ../cerber-scanner.php:1445
|
1925 |
+
msgid "Vulnerability found"
|
1926 |
+
msgstr ""
|
1927 |
+
|
1928 |
+
#: ../cerber-scanner.php:1450
|
1929 |
+
msgid "Unable to check the integrity due to a DB error"
|
1930 |
+
msgstr ""
|
1931 |
+
|
1932 |
+
#: ../cerber-scanner.php:3759
|
1933 |
+
msgid "Scanning the upload folder for files"
|
1934 |
+
msgstr ""
|
1935 |
+
|
1936 |
+
#: ../cerber-scanner.php:3760
|
1937 |
+
msgid "Scanning the temp folder for files"
|
1938 |
+
msgstr ""
|
1939 |
+
|
1940 |
+
#: ../cerber-scanner.php:3761
|
1941 |
+
msgid "Scanning the session folder for files"
|
1942 |
+
msgstr ""
|
1943 |
+
|
1944 |
+
#: ../settings.php:898
|
1945 |
+
msgid "Automated recurring scan schedule"
|
1946 |
+
msgstr ""
|
1947 |
+
|
1948 |
+
#: ../settings.php:915
|
1949 |
+
msgid "Scan results reporting"
|
1950 |
+
msgstr ""
|
1951 |
+
|
1952 |
+
#: ../dashboard.php:975 ../dashboard.php:4032
|
1953 |
+
msgid "Suspicious activity"
|
1954 |
+
msgstr ""
|
1955 |
+
|
1956 |
+
#: ../dashboard.php:4033
|
1957 |
+
msgid "Errors"
|
1958 |
+
msgstr ""
|
1959 |
+
|
1960 |
+
#. Description of the plugin
|
1961 |
+
#:
|
1962 |
+
msgid "Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications."
|
1963 |
+
msgstr ""
|
1964 |
+
|
1965 |
+
#: ../cerber-load.php:349
|
1966 |
+
msgid "You have exceeded the number of allowed login attempts. Please try again in %d minutes."
|
1967 |
+
msgstr ""
|
1968 |
+
|
1969 |
+
#: ../common.php:1606
|
1970 |
+
msgctxt "preposition of a period of time like: in 6 hours"
|
1971 |
+
msgid "in %s"
|
1972 |
+
msgstr ""
|
1973 |
+
|
1974 |
+
#: ../admin/cerber-settings.php:553
|
1975 |
+
msgctxt "preposition of time like: at 11:00"
|
1976 |
+
msgid "at"
|
1977 |
+
msgstr ""
|
1978 |
+
|
1979 |
+
#: ../dashboard.php:4717
|
1980 |
+
msgid "Quarantine"
|
1981 |
+
msgstr ""
|
1982 |
+
|
1983 |
+
#: ../admin/cerber-admin.php:43
|
1984 |
+
msgid "Started"
|
1985 |
+
msgstr ""
|
1986 |
+
|
1987 |
+
#: ../admin/cerber-admin.php:47
|
1988 |
+
msgid "Finished"
|
1989 |
+
msgstr ""
|
1990 |
+
|
1991 |
+
#: ../admin/cerber-admin.php:55
|
1992 |
+
msgid "Performance"
|
1993 |
+
msgstr ""
|
1994 |
+
|
1995 |
+
#: ../admin/cerber-admin.php:67 ../nexus/cerber-slave-list.php:337
|
1996 |
+
msgid "Vulnerabilities"
|
1997 |
+
msgstr ""
|
1998 |
+
|
1999 |
+
#: ../admin/cerber-admin.php:71
|
2000 |
+
msgid "New files"
|
2001 |
+
msgstr ""
|
2002 |
+
|
2003 |
+
#: ../admin/cerber-admin.php:75
|
2004 |
+
msgid "Changed files"
|
2005 |
+
msgstr ""
|
2006 |
+
|
2007 |
+
#: ../admin/cerber-admin.php:83
|
2008 |
+
msgid "Unwanted extensions"
|
2009 |
+
msgstr ""
|
2010 |
+
|
2011 |
+
#: ../admin/cerber-admin.php:87
|
2012 |
+
msgid "Unattended files"
|
2013 |
+
msgstr ""
|
2014 |
+
|
2015 |
+
#: ../admin/cerber-admin.php:96 ../admin/cerber-admin.php:878
|
2016 |
+
msgid "Scanned"
|
2017 |
+
msgstr ""
|
2018 |
+
|
2019 |
+
#: ../admin/cerber-admin.php:767
|
2020 |
+
msgid "There are no files in the quarantine at the moment."
|
2021 |
+
msgstr ""
|
2022 |
+
|
2023 |
+
#: ../admin/cerber-admin.php:860
|
2024 |
+
msgid "Restore"
|
2025 |
+
msgstr ""
|
2026 |
+
|
2027 |
+
#: ../admin/cerber-admin.php:857
|
2028 |
+
msgid "Delete permanently"
|
2029 |
+
msgstr ""
|
2030 |
+
|
2031 |
+
#: ../admin/cerber-admin.php:880
|
2032 |
+
msgid "Automatic deletion"
|
2033 |
+
msgstr ""
|
2034 |
+
|
2035 |
+
#: ../admin/cerber-admin.php:881 ../admin/cerber-admin.php:1036 ../admin/cerber-
|
2036 |
+
#: admin.php:1481
|
2037 |
+
msgid "Size"
|
2038 |
+
msgstr ""
|
2039 |
+
|
2040 |
+
#: ../admin/cerber-admin.php:882 ../admin/cerber-admin.php:1037
|
2041 |
+
msgid "File"
|
2042 |
+
msgstr ""
|
2043 |
+
|
2044 |
+
#: ../admin/cerber-admin.php:955
|
2045 |
+
msgid "The file has been deleted permanently."
|
2046 |
+
msgstr ""
|
2047 |
+
|
2048 |
+
#: ../admin/cerber-admin.php:970
|
2049 |
+
msgid "The file has been restored to its original location."
|
2050 |
+
msgstr ""
|
2051 |
+
|
2052 |
+
#: ../dashboard.php:1806
|
2053 |
+
msgid "Integrity"
|
2054 |
+
msgstr ""
|
2055 |
+
|
2056 |
+
#: ../common.php:1362
|
2057 |
+
msgid "Attempt to upload malicious file denied"
|
2058 |
+
msgstr ""
|
2059 |
+
|
2060 |
+
#: ../cerber-news.php:126
|
2061 |
+
msgid "Awesome!"
|
2062 |
+
msgstr ""
|
2063 |
+
|
2064 |
+
#: ../settings.php:957
|
2065 |
+
msgid "Automatic cleanup of malware and suspicious files"
|
2066 |
+
msgstr ""
|
2067 |
+
|
2068 |
+
#: ../settings.php:966
|
2069 |
+
msgid "Files in the uploads folder"
|
2070 |
+
msgstr ""
|
2071 |
+
|
2072 |
+
#: ../settings.php:975
|
2073 |
+
msgid "Files with unwanted extensions"
|
2074 |
+
msgstr ""
|
2075 |
+
|
2076 |
+
#: ../settings.php:994
|
2077 |
+
msgid "Exclusions"
|
2078 |
+
msgstr ""
|
2079 |
+
|
2080 |
+
#: ../settings.php:998
|
2081 |
+
msgid "Files in the temporary directory"
|
2082 |
+
msgstr ""
|
2083 |
+
|
2084 |
+
#: ../settings.php:1002
|
2085 |
+
msgid "Files in the sessions directory"
|
2086 |
+
msgstr ""
|
2087 |
+
|
2088 |
+
#: ../settings.php:1006
|
2089 |
+
msgid "Files in these directories"
|
2090 |
+
msgstr ""
|
2091 |
+
|
2092 |
+
#: ../settings.php:1010
|
2093 |
+
msgid "Use absolute paths. One item per line."
|
2094 |
+
msgstr ""
|
2095 |
+
|
2096 |
+
#: ../settings.php:1013
|
2097 |
+
msgid "Files with these extensions"
|
2098 |
+
msgstr ""
|
2099 |
+
|
2100 |
+
#: ../settings.php:1017
|
2101 |
+
msgid "Use comma to separate items."
|
2102 |
+
msgstr ""
|
2103 |
+
|
2104 |
+
#: ../dashboard.php:4715
|
2105 |
+
msgid "Cleaning up"
|
2106 |
+
msgstr ""
|
2107 |
+
|
2108 |
+
#: ../cerber-scanner.php:1461
|
2109 |
+
msgid "Malicious code found"
|
2110 |
+
msgstr ""
|
2111 |
+
|
2112 |
+
#: ../cerber-scanner.php:2701
|
2113 |
+
msgid "This file contains executable code and may contain obfuscated malware. If this file is a part of a theme or a plugin, it must be located in the theme or the plugin folder. No exception, no excuses."
|
2114 |
+
msgstr ""
|
2115 |
+
|
2116 |
+
#: ../cerber-scanner.php:2702
|
2117 |
+
msgid "The scanner recognizes this file as \"ownerless\" or \"not bundled\" because it does not belong to any known part of the website and should not be here."
|
2118 |
+
msgstr ""
|
2119 |
+
|
2120 |
+
#: ../cerber-scanner.php:2703
|
2121 |
+
msgid "It may remain after upgrading to a newer version of %s. It also may be a piece of obfuscated malware. In a rare case it might be a part of a custom-made (bespoke) plugin or theme."
|
2122 |
+
msgstr ""
|
2123 |
+
|
2124 |
+
#: ../cerber-scanner.php:2707
|
2125 |
+
msgid "The contents of the file have been changed and do not match what exists in the official WordPress repository or a reference file you have uploaded earlier. The file may have been altered by malware, infected by a virus or has been tampered with."
|
2126 |
+
msgstr ""
|
2127 |
+
|
2128 |
+
#: ../cerber-scanner.php:4764
|
2129 |
+
msgid "Deleted"
|
2130 |
+
msgstr ""
|
2131 |
+
|
2132 |
+
#: ../cerber-scanner.php:4817
|
2133 |
+
msgid "Automatically moved to quarantine"
|
2134 |
+
msgstr ""
|
2135 |
+
|
2136 |
+
#: ../common.php:1401
|
2137 |
+
msgid "Suspicious SQL code detected"
|
2138 |
+
msgstr ""
|
2139 |
+
|
2140 |
+
#: ../dashboard.php:1787
|
2141 |
+
msgctxt "Example: Last malware scan: 23 Jan 2018"
|
2142 |
+
msgid "Last malware scan"
|
2143 |
+
msgstr ""
|
2144 |
+
|
2145 |
+
#: ../dashboard.php:4651
|
2146 |
+
msgid "Live Traffic"
|
2147 |
+
msgstr ""
|
2148 |
+
|
2149 |
+
#: ../settings.php:333
|
2150 |
+
msgid "Use English for admin interface"
|
2151 |
+
msgstr ""
|
2152 |
+
|
2153 |
+
#: ../settings.php:363
|
2154 |
+
msgid "Disable PHP in uploads"
|
2155 |
+
msgstr ""
|
2156 |
+
|
2157 |
+
#: ../settings.php:368
|
2158 |
+
msgid "Disable PHP error displaying"
|
2159 |
+
msgstr ""
|
2160 |
+
|
2161 |
+
#: ../dashboard.php:4716
|
2162 |
+
msgid "Ignore List"
|
2163 |
+
msgstr ""
|
2164 |
+
|
2165 |
+
#: ../admin/cerber-admin.php:222
|
2166 |
+
msgid "Ignore"
|
2167 |
+
msgstr ""
|
2168 |
+
|
2169 |
+
#: ../admin/cerber-admin.php:994
|
2170 |
+
msgid "Apply"
|
2171 |
+
msgstr ""
|
2172 |
+
|
2173 |
+
#: ../admin/cerber-admin.php:1034
|
2174 |
+
msgid "Added"
|
2175 |
+
msgstr ""
|
2176 |
+
|
2177 |
+
#: ../admin/cerber-admin.php:995 ../admin/cerber-admin.php:1022
|
2178 |
+
msgid "Remove from the list"
|
2179 |
+
msgstr ""
|
2180 |
+
|
2181 |
+
#: ../admin/cerber-admin.php:996
|
2182 |
+
msgid "User Insights"
|
2183 |
+
msgstr ""
|
2184 |
+
|
2185 |
+
#: ../admin/cerber-admin.php:997
|
2186 |
+
msgid "Traffic Insights"
|
2187 |
+
msgstr ""
|
2188 |
+
|
2189 |
+
#: ../admin/cerber-admin.php:998
|
2190 |
+
msgid "Activity Insights"
|
2191 |
+
msgstr ""
|
2192 |
+
|
2193 |
+
#: ../dashboard.php:2800
|
2194 |
+
msgid "Are you sure you want to delete selected files?"
|
2195 |
+
msgstr ""
|
2196 |
+
|
2197 |
+
#: ../dashboard.php:2801
|
2198 |
+
msgid "These files have been moved to the quarantine"
|
2199 |
+
msgstr ""
|
2200 |
+
|
2201 |
+
#: ../dashboard.php:2804
|
2202 |
+
msgid "Do you want to add selected files to the ignore list?"
|
2203 |
+
msgstr ""
|
2204 |
+
|
2205 |
+
#: ../dashboard.php:2805
|
2206 |
+
msgid "These files have been added to the ignore list"
|
2207 |
+
msgstr ""
|
2208 |
+
|
2209 |
+
#: ../dashboard.php:2807
|
2210 |
+
msgid "Some errors occurred"
|
2211 |
+
msgstr ""
|
2212 |
+
|
2213 |
+
#: ../dashboard.php:2808
|
2214 |
+
msgid "All files have been processed"
|
2215 |
+
msgstr ""
|
2216 |
+
|
2217 |
+
#: ../dashboard.php:5060
|
2218 |
+
msgid "These features are available in a professional version of the plugin."
|
2219 |
+
msgstr ""
|
2220 |
+
|
2221 |
+
#: ../dashboard.php:5061
|
2222 |
+
msgid "Know more about all advantages at"
|
2223 |
+
msgstr ""
|
2224 |
+
|
2225 |
+
#: ../common.php:1402
|
2226 |
+
msgid "Suspicious JavaScript code detected"
|
2227 |
+
msgstr ""
|
2228 |
+
|
2229 |
+
#: ../admin/cerber-settings.php:951
|
2230 |
+
msgid "Unable to update the schedule"
|
2231 |
+
msgstr ""
|
2232 |
+
|
2233 |
+
#: ../admin/cerber-admin.php:893
|
2234 |
+
msgid "All scans"
|
2235 |
+
msgstr ""
|
2236 |
+
|
2237 |
+
#: ../admin/cerber-admin.php:1000
|
2238 |
+
msgid "The list is empty."
|
2239 |
+
msgstr ""
|
2240 |
+
|
2241 |
+
#: ../admin/cerber-admin.php:839
|
2242 |
+
msgid "No files match the specified filter."
|
2243 |
+
msgstr ""
|
2244 |
+
|
2245 |
+
#: ../admin/cerber-admin.php:839
|
2246 |
+
msgid "Click here to see the full list of files"
|
2247 |
+
msgstr ""
|
2248 |
+
|
2249 |
+
#: ../dashboard.php:848
|
2250 |
+
msgid "Additional Details"
|
2251 |
+
msgstr ""
|
2252 |
+
|
2253 |
+
#: ../dashboard.php:3566
|
2254 |
+
msgid "Page generation time"
|
2255 |
+
msgstr ""
|
2256 |
+
|
2257 |
+
#: ../dashboard.php:5096
|
2258 |
+
msgid "Log In"
|
2259 |
+
msgstr ""
|
2260 |
+
|
2261 |
+
#: ../dashboard.php:5097
|
2262 |
+
msgid "Log Out"
|
2263 |
+
msgstr ""
|
2264 |
+
|
2265 |
+
#: ../dashboard.php:5098
|
2266 |
+
msgid "Register"
|
2267 |
+
msgstr ""
|
2268 |
+
|
2269 |
+
#: ../dashboard.php:5101
|
2270 |
+
msgid "WooCommerce Log In"
|
2271 |
+
msgstr ""
|
2272 |
+
|
2273 |
+
#: ../dashboard.php:5102
|
2274 |
+
msgid "WooCommerce Log Out"
|
2275 |
+
msgstr ""
|
2276 |
+
|
2277 |
+
#: ../dashboard.php:5141 ../dashboard.php:5142
|
2278 |
+
msgid "Add to menu"
|
2279 |
+
msgstr ""
|
2280 |
+
|
2281 |
+
#: ../common.php:1390
|
2282 |
+
msgid "IP address is locked out"
|
2283 |
+
msgstr ""
|
2284 |
+
|
2285 |
+
#: ../common.php:1462
|
2286 |
+
msgid "Multiple suspicious requests"
|
2287 |
+
msgstr ""
|
2288 |
+
|
2289 |
+
#: ../settings.php:712
|
2290 |
+
msgid "Traffic Inspection"
|
2291 |
+
msgstr ""
|
2292 |
+
|
2293 |
+
#: ../settings.php:721 ../settings.php:749
|
2294 |
+
msgid "Maximum compatibility"
|
2295 |
+
msgstr ""
|
2296 |
+
|
2297 |
+
#: ../settings.php:722 ../settings.php:750
|
2298 |
+
msgid "Maximum security"
|
2299 |
+
msgstr ""
|
2300 |
+
|
2301 |
+
#: ../settings.php:740
|
2302 |
+
msgid "Erroneous Request Shielding"
|
2303 |
+
msgstr ""
|
2304 |
+
|
2305 |
+
#: ../settings.php:745
|
2306 |
+
msgid "Enable error shielding"
|
2307 |
+
msgstr ""
|
2308 |
+
|
2309 |
+
#: ../settings.php:803
|
2310 |
+
msgid "Save software errors"
|
2311 |
+
msgstr ""
|
2312 |
+
|
2313 |
+
#: ../cerber-scanner.php:3757
|
2314 |
+
msgid "Preparing for the scan"
|
2315 |
+
msgstr ""
|
2316 |
+
|
2317 |
+
#: ../common.php:1403
|
2318 |
+
msgid "Blocked by administrator"
|
2319 |
+
msgstr ""
|
2320 |
+
|
2321 |
+
#: ../cerber-load.php:353
|
2322 |
+
msgid "You are not allowed to log in"
|
2323 |
+
msgstr ""
|
2324 |
+
|
2325 |
+
#: ../cerber-users.php:39
|
2326 |
+
msgid "Block User"
|
2327 |
+
msgstr ""
|
2328 |
+
|
2329 |
+
#: ../cerber-users.php:43 ../cerber-users.php:49
|
2330 |
+
msgid "User is not permitted to log into the website"
|
2331 |
+
msgstr ""
|
2332 |
+
|
2333 |
+
#: ../cerber-users.php:68 ../settings.php:533
|
2334 |
+
msgid "User Message"
|
2335 |
+
msgstr ""
|
2336 |
+
|
2337 |
+
#: ../cerber-users.php:70
|
2338 |
+
msgid "An optional message for this user"
|
2339 |
+
msgstr ""
|
2340 |
+
|
2341 |
+
#: ../cerber-users.php:181
|
2342 |
+
msgid "Blocked Users"
|
2343 |
+
msgstr ""
|
2344 |
+
|
2345 |
+
#: ../settings.php:354
|
2346 |
+
msgid "Block access to user pages like /?author=n"
|
2347 |
+
msgstr ""
|
2348 |
+
|
2349 |
+
#: ../settings.php:384
|
2350 |
+
msgid "Access to WordPress REST API"
|
2351 |
+
msgstr ""
|
2352 |
+
|
2353 |
+
#: ../settings.php:395
|
2354 |
+
msgid "Block access to WordPress REST API except any of the following"
|
2355 |
+
msgstr ""
|
2356 |
+
|
2357 |
+
#: ../settings.php:405
|
2358 |
+
msgid "Allow REST API for these roles"
|
2359 |
+
msgstr ""
|
2360 |
+
|
2361 |
+
#: ../settings.php:410
|
2362 |
+
msgid "Allow these namespaces"
|
2363 |
+
msgstr ""
|
2364 |
+
|
2365 |
+
#: ../settings.php:754
|
2366 |
+
msgid "Ignore logged in users"
|
2367 |
+
msgstr ""
|
2368 |
+
|
2369 |
+
#: ../settings.php:132
|
2370 |
+
msgid "These restrictions do not apply to IP addresses in the White IP Access List"
|
2371 |
+
msgstr ""
|
2372 |
+
|
2373 |
+
#: ../admin/cerber-settings.php:513
|
2374 |
+
msgid "Select one or more roles"
|
2375 |
+
msgstr ""
|
2376 |
+
|
2377 |
+
#: ../dashboard.php:1150
|
2378 |
+
msgid "Filter by registered user"
|
2379 |
+
msgstr ""
|
2380 |
+
|
2381 |
+
#: ../settings.php:519
|
2382 |
+
msgid "Authorized users only"
|
2383 |
+
msgstr ""
|
2384 |
+
|
2385 |
+
#: ../settings.php:520
|
2386 |
+
msgid "Only registered and logged in website users have access to the website"
|
2387 |
+
msgstr ""
|
2388 |
+
|
2389 |
+
#: ../settings.php:537 ../settings.php:1454
|
2390 |
+
msgid "Only registered and logged in users are allowed to view this website"
|
2391 |
+
msgstr ""
|
2392 |
+
|
2393 |
+
#: ../settings.php:542
|
2394 |
+
msgid "Redirect to URL"
|
2395 |
+
msgstr ""
|
2396 |
+
|
2397 |
+
#: ../dashboard.php:4770
|
2398 |
+
msgid "Changelog"
|
2399 |
+
msgstr ""
|
2400 |
+
|
2401 |
+
#: ../dashboard.php:641
|
2402 |
+
msgid "Default settings have been loaded"
|
2403 |
+
msgstr ""
|
2404 |
+
|
2405 |
+
#: ../dashboard.php:3274
|
2406 |
+
msgid "Save all rules"
|
2407 |
+
msgstr ""
|
2408 |
+
|
2409 |
+
#: ../dashboard.php:3145 ../admin/cerber-settings.php:624
|
2410 |
+
msgid "Save Changes"
|
2411 |
+
msgstr ""
|
2412 |
+
|
2413 |
+
#: ../common.php:1379
|
2414 |
+
msgid "Invalid master credentials"
|
2415 |
+
msgstr ""
|
2416 |
+
|
2417 |
+
#: ../settings.php:1154
|
2418 |
+
msgid "Master settings"
|
2419 |
+
msgstr ""
|
2420 |
+
|
2421 |
+
#: ../settings.php:1162
|
2422 |
+
msgid "Return to the website list"
|
2423 |
+
msgstr ""
|
2424 |
+
|
2425 |
+
#: ../settings.php:1166
|
2426 |
+
msgid "Show \"Switched to\" notification"
|
2427 |
+
msgstr ""
|
2428 |
+
|
2429 |
+
#: ../settings.php:1170
|
2430 |
+
msgid "Add @ site to the page title"
|
2431 |
+
msgstr ""
|
2432 |
+
|
2433 |
+
#: ../settings.php:884 ../settings.php:1187 ../settings.php:1215
|
2434 |
+
msgid "Enable diagnostic logging"
|
2435 |
+
msgstr ""
|
2436 |
+
|
2437 |
+
#: ../settings.php:1198
|
2438 |
+
msgid "Limit access by IP address"
|
2439 |
+
msgstr ""
|
2440 |
+
|
2441 |
+
#: ../settings.php:1204
|
2442 |
+
msgid "Access to this website"
|
2443 |
+
msgstr ""
|
2444 |
+
|
2445 |
+
#: ../settings.php:1207
|
2446 |
+
msgid "Full access mode"
|
2447 |
+
msgstr ""
|
2448 |
+
|
2449 |
+
#: ../settings.php:1208
|
2450 |
+
msgid "Read-only mode"
|
2451 |
+
msgstr ""
|
2452 |
+
|
2453 |
+
#: ../settings.php:1229
|
2454 |
+
msgid "The full access mode requires the PRO version of WP Cerber"
|
2455 |
+
msgstr ""
|
2456 |
+
|
2457 |
+
#: ../nexus/cerber-slave-list.php:47
|
2458 |
+
msgid "WordPress"
|
2459 |
+
msgstr ""
|
2460 |
+
|
2461 |
+
#: ../nexus/cerber-slave-list.php:51
|
2462 |
+
msgid "Malware Scan"
|
2463 |
+
msgstr ""
|
2464 |
+
|
2465 |
+
#: ../nexus/cerber-slave-list.php:56 ../nexus/cerber-nexus-master.php:140
|
2466 |
+
msgid "Notes"
|
2467 |
+
msgstr ""
|
2468 |
+
|
2469 |
+
#: ../nexus/cerber-slave-list.php:160
|
2470 |
+
msgid "Add a slave website"
|
2471 |
+
msgstr ""
|
2472 |
+
|
2473 |
+
#: ../cerber-users.php:1070 ../nexus/cerber-slave-list.php:244
|
2474 |
+
msgid "Search results for:"
|
2475 |
+
msgstr ""
|
2476 |
+
|
2477 |
+
#: ../nexus/cerber-slave-list.php:279
|
2478 |
+
msgid "Edit"
|
2479 |
+
msgstr ""
|
2480 |
+
|
2481 |
+
#: ../nexus/cerber-slave-list.php:285
|
2482 |
+
msgid "Switch to"
|
2483 |
+
msgstr ""
|
2484 |
+
|
2485 |
+
#: ../nexus/cerber-slave-list.php:413
|
2486 |
+
msgid "No websites configured."
|
2487 |
+
msgstr ""
|
2488 |
+
|
2489 |
+
#: ../nexus/cerber-slave-list.php:413
|
2490 |
+
msgid "Add a new one"
|
2491 |
+
msgstr ""
|
2492 |
+
|
2493 |
+
#: ../nexus/cerber-nexus-master.php:103
|
2494 |
+
msgid "Website Properties"
|
2495 |
+
msgstr ""
|
2496 |
+
|
2497 |
+
#: ../nexus/cerber-nexus-master.php:113
|
2498 |
+
msgid "Website URL"
|
2499 |
+
msgstr ""
|
2500 |
+
|
2501 |
+
#: ../nexus/cerber-nexus-master.php:118
|
2502 |
+
msgid "Display as"
|
2503 |
+
msgstr ""
|
2504 |
+
|
2505 |
+
#: ../nexus/cerber-nexus-master.php:148
|
2506 |
+
msgid "Website Owner"
|
2507 |
+
msgstr ""
|
2508 |
+
|
2509 |
+
#: ../nexus/cerber-nexus-master.php:152
|
2510 |
+
msgid "First Name"
|
2511 |
+
msgstr ""
|
2512 |
+
|
2513 |
+
#: ../nexus/cerber-nexus-master.php:156
|
2514 |
+
msgid "Last Name"
|
2515 |
+
msgstr ""
|
2516 |
+
|
2517 |
+
#: ../nexus/cerber-nexus-master.php:160
|
2518 |
+
msgid "Email"
|
2519 |
+
msgstr ""
|
2520 |
+
|
2521 |
+
#: ../nexus/cerber-nexus-master.php:164
|
2522 |
+
msgid "Phone"
|
2523 |
+
msgstr ""
|
2524 |
+
|
2525 |
+
#: ../nexus/cerber-nexus-master.php:172
|
2526 |
+
msgid "Address"
|
2527 |
+
msgstr ""
|
2528 |
+
|
2529 |
+
#: ../nexus/cerber-nexus-master.php:281
|
2530 |
+
msgid "Security access token is invalid"
|
2531 |
+
msgstr ""
|
2532 |
+
|
2533 |
+
#: ../nexus/cerber-nexus-master.php:311
|
2534 |
+
msgid "The website you are trying to add is already in the list"
|
2535 |
+
msgstr ""
|
2536 |
+
|
2537 |
+
#: ../nexus/cerber-nexus-master.php:320
|
2538 |
+
msgid "The website has been added successfully"
|
2539 |
+
msgstr ""
|
2540 |
+
|
2541 |
+
#: ../nexus/cerber-nexus-master.php:321
|
2542 |
+
msgid "Click to edit"
|
2543 |
+
msgstr ""
|
2544 |
+
|
2545 |
+
#: ../nexus/cerber-nexus-master.php:322
|
2546 |
+
msgid "Switch to the Dashboard"
|
2547 |
+
msgstr ""
|
2548 |
+
|
2549 |
+
#: ../nexus/cerber-nexus-master.php:325
|
2550 |
+
msgid "Keep in mind: You have added the website that does not support SSL encryption. This may lead to data leakage."
|
2551 |
+
msgstr ""
|
2552 |
+
|
2553 |
+
#: ../nexus/cerber-nexus-master.php:444
|
2554 |
+
msgid "Website has been deleted"
|
2555 |
+
msgid_plural "%s websites have been deleted"
|
2556 |
+
msgstr[0] ""
|
2557 |
+
|
2558 |
+
#: ../nexus/cerber-nexus-master.php:1020
|
2559 |
+
msgid "You have switched to %s"
|
2560 |
+
msgstr ""
|
2561 |
+
|
2562 |
+
#: ../nexus/cerber-nexus-master.php:1030
|
2563 |
+
msgid "You have switched back to the master website"
|
2564 |
+
msgstr ""
|
2565 |
+
|
2566 |
+
#: ../nexus/cerber-nexus-master.php:1246
|
2567 |
+
msgid "You are here:"
|
2568 |
+
msgstr ""
|
2569 |
+
|
2570 |
+
#: ../nexus/cerber-nexus-master.php:1249 ../nexus/cerber-nexus.php:92 ..
|
2571 |
+
#: /nexus/cerber-nexus.php:102
|
2572 |
+
msgid "My Websites"
|
2573 |
+
msgstr ""
|
2574 |
+
|
2575 |
+
#: ../nexus/cerber-nexus-master.php:1264
|
2576 |
+
msgid "Visit Site"
|
2577 |
+
msgstr ""
|
2578 |
+
|
2579 |
+
#: ../cerber-load.php:5263 ../nexus/cerber-nexus.php:64
|
2580 |
+
msgid "Enable slave mode"
|
2581 |
+
msgstr ""
|
2582 |
+
|
2583 |
+
#: ../nexus/cerber-nexus.php:65
|
2584 |
+
msgid "This website can be managed from a master website"
|
2585 |
+
msgstr ""
|
2586 |
+
|
2587 |
+
#: ../nexus/cerber-nexus.php:68
|
2588 |
+
msgid "Enable master mode"
|
2589 |
+
msgstr ""
|
2590 |
+
|
2591 |
+
#: ../nexus/cerber-nexus.php:69
|
2592 |
+
msgid "Configure this website as a master to manage other website"
|
2593 |
+
msgstr ""
|
2594 |
+
|
2595 |
+
#: ../nexus/cerber-nexus.php:74
|
2596 |
+
msgid "To proceed, please select the mode for this website"
|
2597 |
+
msgstr ""
|
2598 |
+
|
2599 |
+
#: ../nexus/cerber-nexus.php:98 ../nexus/cerber-nexus.php:102
|
2600 |
+
msgid "Slave Settings"
|
2601 |
+
msgstr ""
|
2602 |
+
|
2603 |
+
#: ../nexus/cerber-nexus.php:144
|
2604 |
+
msgid "Secret Access Token"
|
2605 |
+
msgstr ""
|
2606 |
+
|
2607 |
+
#: ../nexus/cerber-nexus.php:146
|
2608 |
+
msgid "The token is unique to this website. Keep it secret. Install the token on a master website to grant access to this website."
|
2609 |
+
msgstr ""
|
2610 |
+
|
2611 |
+
#: ../nexus/cerber-nexus.php:148
|
2612 |
+
msgid "Are you sure? This permanently invalidates the token."
|
2613 |
+
msgstr ""
|
2614 |
+
|
2615 |
+
#: ../nexus/cerber-nexus.php:149
|
2616 |
+
msgid "Disable slave mode"
|
2617 |
+
msgstr ""
|
2618 |
+
|
2619 |
+
#: ../nexus/cerber-nexus.php:264
|
2620 |
+
msgid "This website is set as master."
|
2621 |
+
msgstr ""
|
2622 |
+
|
2623 |
+
#: ../nexus/cerber-nexus.php:265
|
2624 |
+
msgid "Add slave websites by using access tokens."
|
2625 |
+
msgstr ""
|
2626 |
+
|
2627 |
+
#: ../nexus/cerber-nexus.php:268
|
2628 |
+
msgid "This website is set as slave."
|
2629 |
+
msgstr ""
|
2630 |
+
|
2631 |
+
#: ../nexus/cerber-nexus.php:269
|
2632 |
+
msgid "Install the access token on the master website."
|
2633 |
+
msgstr ""
|
2634 |
+
|
2635 |
+
#. translators: Time difference between two dates, in seconds (sec=second). 1: Number of seconds
|
2636 |
+
#: ../common.php:1599
|
2637 |
+
msgid "%s sec"
|
2638 |
+
msgid_plural "%s secs"
|
2639 |
+
msgstr[0] ""
|
2640 |
+
|
2641 |
+
#: ../settings.php:695
|
2642 |
+
msgid "Send reports on"
|
2643 |
+
msgstr ""
|
2644 |
+
|
2645 |
+
#: ../nexus/cerber-slave-list.php:50
|
2646 |
+
msgid "Updates"
|
2647 |
+
msgstr ""
|
2648 |
+
|
2649 |
+
#: ../nexus/cerber-slave-list.php:54 ../nexus/cerber-nexus-master.php:126
|
2650 |
+
msgid "Group"
|
2651 |
+
msgstr ""
|
2652 |
+
|
2653 |
+
#: ../nexus/cerber-slave-list.php:117
|
2654 |
+
msgid "Upgrade WP Cerber"
|
2655 |
+
msgstr ""
|
2656 |
+
|
2657 |
+
#: ../nexus/cerber-slave-list.php:118
|
2658 |
+
msgid "Upgrade all active plugins"
|
2659 |
+
msgstr ""
|
2660 |
+
|
2661 |
+
#: ../nexus/cerber-slave-list.php:119
|
2662 |
+
msgid "Delete website"
|
2663 |
+
msgstr ""
|
2664 |
+
|
2665 |
+
#: ../nexus/cerber-slave-list.php:134
|
2666 |
+
msgid "All groups"
|
2667 |
+
msgstr ""
|
2668 |
+
|
2669 |
+
#: ../nexus/cerber-nexus-master.php:1330
|
2670 |
+
msgid "Are you sure you want to delete selected websites?"
|
2671 |
+
msgstr ""
|
2672 |
+
|
2673 |
+
#: ../cerber-users.php:213
|
2674 |
+
msgid "Block"
|
2675 |
+
msgstr ""
|
2676 |
+
|
2677 |
+
#: ../nexus/cerber-nexus-master.php:95
|
2678 |
+
msgid "Select an existing group or enter a new one to add it"
|
2679 |
+
msgstr ""
|
2680 |
+
|
2681 |
+
#: ../nexus/cerber-nexus-master.php:168
|
2682 |
+
msgid "Company"
|
2683 |
+
msgstr ""
|
2684 |
+
|
2685 |
+
#: ../nexus/cerber-nexus-master.php:688
|
2686 |
+
msgid "Invalid response from the slave website"
|
2687 |
+
msgstr ""
|
2688 |
+
|
2689 |
+
#: ../common.php:1356 ../common.php:1452
|
2690 |
+
msgid "Attempt to log in with non-existing username"
|
2691 |
+
msgstr ""
|
2692 |
+
|
2693 |
+
#: ../cerber-load.php:4406
|
2694 |
+
msgid "Attempts to log in with non-existing usernames"
|
2695 |
+
msgstr ""
|
2696 |
+
|
2697 |
+
#: ../settings.php:1174
|
2698 |
+
msgid "Use master language"
|
2699 |
+
msgstr ""
|
2700 |
+
|
2701 |
+
#: ../settings.php:181
|
2702 |
+
msgid "Non-existing users"
|
2703 |
+
msgstr ""
|
2704 |
+
|
2705 |
+
#: ../settings.php:182
|
2706 |
+
msgid "Immediately block IP when attempting to log in with a non-existing username"
|
2707 |
+
msgstr ""
|
2708 |
+
|
2709 |
+
#: ../nexus/cerber-slave-list.php:55
|
2710 |
+
msgid "Owner"
|
2711 |
+
msgstr ""
|
2712 |
+
|
2713 |
+
#: ../nexus/cerber-slave-list.php:413
|
2714 |
+
msgid "Disable master mode"
|
2715 |
+
msgstr ""
|
2716 |
+
|
2717 |
+
#: ../nexus/cerber-nexus.php:149
|
2718 |
+
msgid "To revoke the token and disable remote management, click here:"
|
2719 |
+
msgstr ""
|
2720 |
+
|
2721 |
+
#: ../settings.php:364
|
2722 |
+
msgid "Block execution of PHP scripts in the WordPress media folder"
|
2723 |
+
msgstr ""
|
2724 |
+
|
2725 |
+
#: ../nexus/cerber-nexus-master.php:1396 ../nexus/cerber-nexus-master.php:1404
|
2726 |
+
msgid "Active plugins and updates on"
|
2727 |
+
msgstr ""
|
2728 |
+
|
2729 |
+
#: ../nexus/cerber-nexus-master.php:1374
|
2730 |
+
msgid "A newer version is available"
|
2731 |
+
msgstr ""
|
2732 |
+
|
2733 |
+
#: ../dashboard.php:969
|
2734 |
+
msgid "New users"
|
2735 |
+
msgstr ""
|
2736 |
+
|
2737 |
+
#: ../dashboard.php:982
|
2738 |
+
msgid "My activity"
|
2739 |
+
msgstr ""
|
2740 |
+
|
2741 |
+
#: ../dashboard.php:2568
|
2742 |
+
msgid "Create Alert"
|
2743 |
+
msgstr ""
|
2744 |
+
|
2745 |
+
#: ../dashboard.php:2572
|
2746 |
+
msgid "Delete Alert"
|
2747 |
+
msgstr ""
|
2748 |
+
|
2749 |
+
#: ../dashboard.php:2605
|
2750 |
+
msgid "The alert has been created"
|
2751 |
+
msgstr ""
|
2752 |
+
|
2753 |
+
#: ../dashboard.php:2609
|
2754 |
+
msgid "The alert has been deleted"
|
2755 |
+
msgstr ""
|
2756 |
+
|
2757 |
+
#: ../dashboard.php:4059
|
2758 |
+
msgid "Advanced Search"
|
2759 |
+
msgstr ""
|
2760 |
+
|
2761 |
+
#. Author of the plugin
|
2762 |
+
#:
|
2763 |
+
msgid "Cerber Tech Inc."
|
2764 |
+
msgstr ""
|
2765 |
+
|
2766 |
+
#: ../cerber-load.php:4972
|
2767 |
+
msgid "To delete the alert, click here"
|
2768 |
+
msgstr ""
|
2769 |
+
|
2770 |
+
#: ../settings.php:214
|
2771 |
+
msgid "Custom login URL may contain Latin alphanumeric characters, dashes and underscores only"
|
2772 |
+
msgstr ""
|
2773 |
+
|
2774 |
+
#: ../settings.php:226
|
2775 |
+
msgid "Site-specific settings"
|
2776 |
+
msgstr ""
|
2777 |
+
|
2778 |
+
#: ../settings.php:234
|
2779 |
+
msgid "Prefix for plugin cookies"
|
2780 |
+
msgstr ""
|
2781 |
+
|
2782 |
+
#: ../settings.php:235
|
2783 |
+
msgid "Prefix may contain only Latin alphanumeric characters and underscores"
|
2784 |
+
msgstr ""
|
2785 |
+
|
2786 |
+
#: ../settings.php:649
|
2787 |
+
msgid "Lockout notifications"
|
2788 |
+
msgstr ""
|
2789 |
+
|
2790 |
+
#: ../settings.php:677
|
2791 |
+
msgid "Pushbullet access token"
|
2792 |
+
msgstr ""
|
2793 |
+
|
2794 |
+
#: ../settings.php:680
|
2795 |
+
msgid "Pushbullet device"
|
2796 |
+
msgstr ""
|
2797 |
+
|
2798 |
+
#: ../settings.php:962
|
2799 |
+
msgid "Delete unattended files"
|
2800 |
+
msgstr ""
|
2801 |
+
|
2802 |
+
#: ../settings.php:981
|
2803 |
+
msgid "Automatic recovery of modified and infected files"
|
2804 |
+
msgstr ""
|
2805 |
+
|
2806 |
+
#: ../settings.php:984
|
2807 |
+
msgid "Recover WordPress files"
|
2808 |
+
msgstr ""
|
2809 |
+
|
2810 |
+
#: ../settings.php:988
|
2811 |
+
msgid "Recover plugins files"
|
2812 |
+
msgstr ""
|
2813 |
+
|
2814 |
+
#: ../cerber-scanner.php:1473
|
2815 |
+
msgid "File deleted"
|
2816 |
+
msgstr ""
|
2817 |
+
|
2818 |
+
#: ../cerber-scanner.php:1474
|
2819 |
+
msgid "File recovered"
|
2820 |
+
msgstr ""
|
2821 |
+
|
2822 |
+
#: ../cerber-scanner.php:3765
|
2823 |
+
msgid "Recovering WordPress files"
|
2824 |
+
msgstr ""
|
2825 |
+
|
2826 |
+
#: ../cerber-scanner.php:3767
|
2827 |
+
msgid "Recovering plugins files"
|
2828 |
+
msgstr ""
|
2829 |
+
|
2830 |
+
#: ../cerber-scanner.php:4768
|
2831 |
+
msgid "Recovered"
|
2832 |
+
msgstr ""
|
2833 |
+
|
2834 |
+
#: ../cerber-scanner.php:4818
|
2835 |
+
msgid "Automatically deleted"
|
2836 |
+
msgstr ""
|
2837 |
+
|
2838 |
+
#: ../cerber-scanner.php:4821
|
2839 |
+
msgid "Automatically recovered"
|
2840 |
+
msgstr ""
|
2841 |
+
|
2842 |
+
#: ../dashboard.php:64
|
2843 |
+
msgid "Cerber User Security"
|
2844 |
+
msgstr ""
|
2845 |
+
|
2846 |
+
#: ../dashboard.php:64 ../dashboard.php:4675
|
2847 |
+
msgid "User Policies"
|
2848 |
+
msgstr ""
|
2849 |
+
|
2850 |
+
#: ../dashboard.php:1809
|
2851 |
+
msgid "A new version is available"
|
2852 |
+
msgstr ""
|
2853 |
+
|
2854 |
+
#: ../dashboard.php:4677
|
2855 |
+
msgid "Role-based"
|
2856 |
+
msgstr ""
|
2857 |
+
|
2858 |
+
#: ../dashboard.php:4678
|
2859 |
+
msgid "Global"
|
2860 |
+
msgstr ""
|
2861 |
+
|
2862 |
+
#: ../common.php:1404
|
2863 |
+
msgid "Site policy enforcement"
|
2864 |
+
msgstr ""
|
2865 |
+
|
2866 |
+
#: ../common.php:1405
|
2867 |
+
msgid "2FA code verified"
|
2868 |
+
msgstr ""
|
2869 |
+
|
2870 |
+
#: ../common.php:1406
|
2871 |
+
msgid "Initiated by the user"
|
2872 |
+
msgstr ""
|
2873 |
+
|
2874 |
+
#: ../common.php:1814
|
2875 |
+
msgid "A new version of %s is available. Please install it."
|
2876 |
+
msgstr ""
|
2877 |
+
|
2878 |
+
#: ../cerber-load.php:1575
|
2879 |
+
msgid "Email address is not permitted."
|
2880 |
+
msgstr ""
|
2881 |
+
|
2882 |
+
#: ../cerber-load.php:1575
|
2883 |
+
msgid "Please choose another one."
|
2884 |
+
msgstr ""
|
2885 |
+
|
2886 |
+
#: ../cerber-users.php:10 ../cerber-users.php:439
|
2887 |
+
msgid "Two-Factor Authentication"
|
2888 |
+
msgstr ""
|
2889 |
+
|
2890 |
+
#: ../cerber-users.php:18
|
2891 |
+
msgid "Determined by user role policies"
|
2892 |
+
msgstr ""
|
2893 |
+
|
2894 |
+
#: ../cerber-users.php:19 ../cerber-users.php:447
|
2895 |
+
msgid "Always enabled"
|
2896 |
+
msgstr ""
|
2897 |
+
|
2898 |
+
#: ../cerber-users.php:86
|
2899 |
+
msgid "2FA PIN Code"
|
2900 |
+
msgstr ""
|
2901 |
+
|
2902 |
+
#: ../cerber-users.php:288
|
2903 |
+
msgid "Save All Changes"
|
2904 |
+
msgstr ""
|
2905 |
+
|
2906 |
+
#: ../cerber-users.php:401
|
2907 |
+
msgid "Block access to WordPress Dashboard"
|
2908 |
+
msgstr ""
|
2909 |
+
|
2910 |
+
#: ../cerber-users.php:406
|
2911 |
+
msgid "Hide Toolbar when viewing site"
|
2912 |
+
msgstr ""
|
2913 |
+
|
2914 |
+
#: ../cerber-users.php:412
|
2915 |
+
msgid "Redirection rules"
|
2916 |
+
msgstr ""
|
2917 |
+
|
2918 |
+
#: ../cerber-users.php:416
|
2919 |
+
msgid "Redirect user after login"
|
2920 |
+
msgstr ""
|
2921 |
+
|
2922 |
+
#: ../cerber-users.php:421
|
2923 |
+
msgid "Redirect user after logout"
|
2924 |
+
msgstr ""
|
2925 |
+
|
2926 |
+
#: ../cerber-users.php:432 ../settings.php:582
|
2927 |
+
msgid "User session expiration time"
|
2928 |
+
msgstr ""
|
2929 |
+
|
2930 |
+
#: ../cerber-users.php:443
|
2931 |
+
msgid "Two-factor authentication"
|
2932 |
+
msgstr ""
|
2933 |
+
|
2934 |
+
#: ../cerber-users.php:448
|
2935 |
+
msgid "Advanced mode"
|
2936 |
+
msgstr ""
|
2937 |
+
|
2938 |
+
#: ../cerber-users.php:452
|
2939 |
+
msgid "Enforce two-factor authentication if any of the following conditions is true"
|
2940 |
+
msgstr ""
|
2941 |
+
|
2942 |
+
#: ../cerber-users.php:458
|
2943 |
+
msgid "Login from a different country"
|
2944 |
+
msgstr ""
|
2945 |
+
|
2946 |
+
#: ../cerber-users.php:464
|
2947 |
+
msgid "Login from a different network Class C"
|
2948 |
+
msgstr ""
|
2949 |
+
|
2950 |
+
#: ../cerber-users.php:470
|
2951 |
+
msgid "Login from a different IP address"
|
2952 |
+
msgstr ""
|
2953 |
+
|
2954 |
+
#: ../cerber-users.php:476
|
2955 |
+
msgid "Using a different browser or device"
|
2956 |
+
msgstr ""
|
2957 |
+
|
2958 |
+
#: ../cerber-users.php:482
|
2959 |
+
msgid "Enforce two-factor authentication with fixed intervals"
|
2960 |
+
msgstr ""
|
2961 |
+
|
2962 |
+
#: ../cerber-users.php:488
|
2963 |
+
msgid "Regular time intervals (days)"
|
2964 |
+
msgstr ""
|
2965 |
+
|
2966 |
+
#: ../cerber-users.php:490
|
2967 |
+
msgid "days interval"
|
2968 |
+
msgstr ""
|
2969 |
+
|
2970 |
+
#: ../cerber-users.php:495
|
2971 |
+
msgid "Fixed number of logins"
|
2972 |
+
msgstr ""
|
2973 |
+
|
2974 |
+
#: ../cerber-users.php:497
|
2975 |
+
msgid "number of logins"
|
2976 |
+
msgstr ""
|
2977 |
+
|
2978 |
+
#: ../cerber-users.php:541
|
2979 |
+
msgid "Policies have been updated"
|
2980 |
+
msgstr ""
|
2981 |
+
|
2982 |
+
#: ../settings.php:557
|
2983 |
+
msgid "Restrict email addresses"
|
2984 |
+
msgstr ""
|
2985 |
+
|
2986 |
+
#: ../settings.php:560
|
2987 |
+
msgid "No restrictions"
|
2988 |
+
msgstr ""
|
2989 |
+
|
2990 |
+
#: ../settings.php:561
|
2991 |
+
msgid "Deny all email addresses that match the following"
|
2992 |
+
msgstr ""
|
2993 |
+
|
2994 |
+
#: ../settings.php:562
|
2995 |
+
msgid "Permit only email addresses that match the following"
|
2996 |
+
msgstr ""
|
2997 |
+
|
2998 |
+
#: ../settings.php:567
|
2999 |
+
msgid "Specify email addresses, wildcards or REGEX patterns. Use comma to separate items."
|
3000 |
+
msgstr ""
|
3001 |
+
|
3002 |
+
#: ../settings.php:995
|
3003 |
+
msgid "These files will never be deleted during automatic cleanup."
|
3004 |
+
msgstr ""
|
3005 |
+
|
3006 |
+
#: ../cerber-2fa.php:352
|
3007 |
+
msgid "This verification PIN code is expired. We have just sent a new one to your email."
|
3008 |
+
msgstr ""
|
3009 |
+
|
3010 |
+
#: ../cerber-2fa.php:355
|
3011 |
+
msgid "You have entered an incorrect verification PIN code"
|
3012 |
+
msgstr ""
|
3013 |
+
|
3014 |
+
#: ../cerber-2fa.php:402 ../cerber-2fa.php:486
|
3015 |
+
msgid "Please verify that it’s you"
|
3016 |
+
msgstr ""
|
3017 |
+
|
3018 |
+
#: ../cerber-2fa.php:489
|
3019 |
+
msgid "Please use the following verification PIN code to confirm your identity"
|
3020 |
+
msgstr ""
|
3021 |
+
|
3022 |
+
#: ../cerber-2fa.php:514
|
3023 |
+
msgid "Here are the details of the sign-in attempt"
|
3024 |
+
msgstr ""
|
3025 |
+
|
3026 |
+
#: ../cerber-2fa.php:563
|
3027 |
+
msgid "expires"
|
3028 |
+
msgstr ""
|
3029 |
+
|
3030 |
+
#: ../cerber-2fa.php:580
|
3031 |
+
msgid "only digits are allowed"
|
3032 |
+
msgstr ""
|
3033 |
+
|
3034 |
+
#: ../cerber-2fa.php:583
|
3035 |
+
msgid "We've sent a verification PIN code to your email"
|
3036 |
+
msgstr ""
|
3037 |
+
|
3038 |
+
#: ../cerber-2fa.php:584
|
3039 |
+
msgid "Enter the code from the email in the field below."
|
3040 |
+
msgstr ""
|
3041 |
+
|
3042 |
+
#: ../cerber-2fa.php:586
|
3043 |
+
msgid "Try again"
|
3044 |
+
msgstr ""
|
3045 |
+
|
3046 |
+
#: ../cerber-2fa.php:587
|
3047 |
+
msgid "Cancel"
|
3048 |
+
msgstr ""
|
3049 |
+
|
3050 |
+
#: ../cerber-2fa.php:588
|
3051 |
+
msgid "Did not receive an email?"
|
3052 |
+
msgstr ""
|
3053 |
+
|
3054 |
+
#: ../cerber-2fa.php:588
|
3055 |
+
msgid "or"
|
3056 |
+
msgstr ""
|
3057 |
+
|
3058 |
+
#: ../cerber-2fa.php:594
|
3059 |
+
msgid "Verify it's you"
|
3060 |
+
msgstr ""
|
3061 |
+
|
3062 |
+
#: ../cerber-2fa.php:599
|
3063 |
+
msgid "Verify"
|
3064 |
+
msgstr ""
|
3065 |
+
|
3066 |
+
#: ../cerber-users.php:101
|
3067 |
+
msgid "Two-Factor Authentication Email"
|
3068 |
+
msgstr ""
|
3069 |
+
|
3070 |
+
#: ../dashboard.php:3217
|
3071 |
+
msgid "Role-based rules are configured"
|
3072 |
+
msgstr ""
|
3073 |
+
|
3074 |
+
#: ../dashboard.php:3411
|
3075 |
+
msgid "All Users"
|
3076 |
+
msgstr ""
|
3077 |
+
|
3078 |
+
#: ../cerber-users.php:58
|
3079 |
+
msgctxt "e.g. blocked by John at 11:00"
|
3080 |
+
msgid "blocked by %s at %s"
|
3081 |
+
msgstr ""
|
3082 |
+
|
3083 |
+
#: ../cerber-2fa.php:489
|
3084 |
+
msgid "The code is valid for %s minutes."
|
3085 |
+
msgstr ""
|
3086 |
+
|
3087 |
+
#: ../dashboard.php:351
|
3088 |
+
msgid "IP address %s has been added to White IP Access List"
|
3089 |
+
msgstr ""
|
3090 |
+
|
3091 |
+
#: ../dashboard.php:348
|
3092 |
+
msgid "IP address %s has been added to Black IP Access List"
|
3093 |
+
msgstr ""
|
3094 |
+
|
3095 |
+
#: ../dashboard.php:195 ../dashboard.php:845 ../dashboard.php:1107 ../dashboard.
|
3096 |
+
#: php:4003 ../cerber-users.php:982
|
3097 |
+
msgid "IP Address"
|
3098 |
+
msgstr ""
|
3099 |
+
|
3100 |
+
#: ../dashboard.php:852 ../dashboard.php:1113
|
3101 |
+
msgid "Username"
|
3102 |
+
msgstr ""
|
3103 |
+
|
3104 |
+
#: ../dashboard.php:3299
|
3105 |
+
msgid "Any country is permitted"
|
3106 |
+
msgstr ""
|
3107 |
+
|
3108 |
+
#: ../dashboard.php:4585
|
3109 |
+
msgid "Sessions"
|
3110 |
+
msgstr ""
|
3111 |
+
|
3112 |
+
#: ../cerber-users.php:615
|
3113 |
+
msgid "Session has been terminated"
|
3114 |
+
msgid_plural "%s sessions have been terminated"
|
3115 |
+
msgstr[0] ""
|
3116 |
+
|
3117 |
+
#: ../cerber-users.php:980
|
3118 |
+
msgid "Created"
|
3119 |
+
msgstr ""
|
3120 |
+
|
3121 |
+
#: ../cerber-users.php:1001
|
3122 |
+
msgid "Terminate session"
|
3123 |
+
msgstr ""
|
3124 |
+
|
3125 |
+
#: ../cerber-users.php:1002
|
3126 |
+
msgid "Block user"
|
3127 |
+
msgstr ""
|
3128 |
+
|
3129 |
+
#: ../cerber-users.php:1112
|
3130 |
+
msgid "Profile"
|
3131 |
+
msgstr ""
|
3132 |
+
|
3133 |
+
#: ../cerber-users.php:1125
|
3134 |
+
msgid "All Logins"
|
3135 |
+
msgstr ""
|
3136 |
+
|
3137 |
+
#: ../cerber-users.php:1126
|
3138 |
+
msgid "User Activity"
|
3139 |
+
msgstr ""
|
3140 |
+
|
3141 |
+
#: ../cerber-users.php:1172
|
3142 |
+
msgid "Terminate"
|
3143 |
+
msgstr ""
|
3144 |
+
|
3145 |
+
#: ../dashboard.php:1759
|
3146 |
+
msgid "user"
|
3147 |
+
msgid_plural "users"
|
3148 |
+
msgstr[0] ""
|
3149 |
+
|
3150 |
+
#: ../settings.php:390
|
3151 |
+
msgid "Block access to users' data via REST API"
|
3152 |
+
msgstr ""
|
3153 |
+
|
3154 |
+
#: ../cerber-scanner.php:1472
|
3155 |
+
msgid "Unable to delete"
|
3156 |
+
msgstr ""
|
3157 |
+
|
3158 |
+
#: ../dashboard.php:60
|
3159 |
+
msgid "Cerber Data Shield Policies"
|
3160 |
+
msgstr ""
|
3161 |
+
|
3162 |
+
#: ../dashboard.php:60
|
3163 |
+
msgid "Data Shield"
|
3164 |
+
msgstr ""
|
3165 |
+
|
3166 |
+
#: ../dashboard.php:4665
|
3167 |
+
msgid "Data Shield Policies"
|
3168 |
+
msgstr ""
|
3169 |
+
|
3170 |
+
#: ../dashboard.php:4667
|
3171 |
+
msgid "Accounts & Roles"
|
3172 |
+
msgstr ""
|
3173 |
+
|
3174 |
+
#: ../dashboard.php:4668
|
3175 |
+
msgid "Site Settings"
|
3176 |
+
msgstr ""
|
3177 |
+
|
3178 |
+
#: ../common.php:1367
|
3179 |
+
msgid "User creation denied"
|
3180 |
+
msgstr ""
|
3181 |
+
|
3182 |
+
#: ../common.php:1369
|
3183 |
+
msgid "Role update denied"
|
3184 |
+
msgstr ""
|
3185 |
+
|
3186 |
+
#: ../common.php:1370
|
3187 |
+
msgid "Setting update denied"
|
3188 |
+
msgstr ""
|
3189 |
+
|
3190 |
+
#: ../common.php:1411
|
3191 |
+
msgid "Permission denied"
|
3192 |
+
msgstr ""
|
3193 |
+
|
3194 |
+
#: ../common.php:1413
|
3195 |
+
msgid "Invalid user"
|
3196 |
+
msgstr ""
|
3197 |
+
|
3198 |
+
#: ../common.php:1414
|
3199 |
+
msgid "Incorrect password"
|
3200 |
+
msgstr ""
|
3201 |
+
|
3202 |
+
#: ../settings.php:421
|
3203 |
+
msgid "Protect user accounts"
|
3204 |
+
msgstr ""
|
3205 |
+
|
3206 |
+
#: ../settings.php:426
|
3207 |
+
msgid "Restrict user account creation and user management with the following policies"
|
3208 |
+
msgstr ""
|
3209 |
+
|
3210 |
+
#: ../settings.php:432
|
3211 |
+
msgid "User registrations are limited to these roles"
|
3212 |
+
msgstr ""
|
3213 |
+
|
3214 |
+
#: ../settings.php:438
|
3215 |
+
msgid "Users with these roles are permitted to create new accounts"
|
3216 |
+
msgstr ""
|
3217 |
+
|
3218 |
+
#: ../settings.php:443
|
3219 |
+
msgid "Users with these roles are permitted to change sensitive user data"
|
3220 |
+
msgstr ""
|
3221 |
+
|
3222 |
+
#: ../settings.php:448 ../settings.php:476 ../settings.php:505
|
3223 |
+
msgid "Do not apply these policies to the IP addresses in the White IP Access List"
|
3224 |
+
msgstr ""
|
3225 |
+
|
3226 |
+
#: ../settings.php:456
|
3227 |
+
msgid "Protect user roles"
|
3228 |
+
msgstr ""
|
3229 |
+
|
3230 |
+
#: ../settings.php:460
|
3231 |
+
msgid "Restrict roles and capabilities management with the following policies"
|
3232 |
+
msgstr ""
|
3233 |
+
|
3234 |
+
#: ../settings.php:466
|
3235 |
+
msgid "Users with these roles are permitted to add new roles"
|
3236 |
+
msgstr ""
|
3237 |
+
|
3238 |
+
#: ../settings.php:471
|
3239 |
+
msgid "Users with these roles are permitted to change role capabilities"
|
3240 |
+
msgstr ""
|
3241 |
+
|
3242 |
+
#: ../settings.php:484
|
3243 |
+
msgid "Protect site settings"
|
3244 |
+
msgstr ""
|
3245 |
+
|
3246 |
+
#: ../settings.php:488
|
3247 |
+
msgid "Restrict updating site settings with the following policies"
|
3248 |
+
msgstr ""
|
3249 |
+
|
3250 |
+
#: ../settings.php:494
|
3251 |
+
msgid "Users with these roles are permitted to change protected settings"
|
3252 |
+
msgstr ""
|
3253 |
+
|
3254 |
+
#: ../settings.php:499
|
3255 |
+
msgid "Protected settings"
|
3256 |
+
msgstr ""
|
3257 |
+
|
3258 |
+
#: ../settings.php:527
|
3259 |
+
msgid "Do not apply these policy to the IP addresses in the White IP Access List"
|
3260 |
+
msgstr ""
|
3261 |
+
|
3262 |
+
#: ../cerber-ds.php:787
|
3263 |
+
msgid "Administration Email Address"
|
3264 |
+
msgstr ""
|
3265 |
+
|
3266 |
+
#: ../cerber-ds.php:788
|
3267 |
+
msgid "New User Default Role"
|
3268 |
+
msgstr ""
|
3269 |
+
|
3270 |
+
#: ../cerber-ds.php:789
|
3271 |
+
msgid "Site Address (URL)"
|
3272 |
+
msgstr ""
|
3273 |
+
|
3274 |
+
#: ../cerber-ds.php:790
|
3275 |
+
msgid "WordPress Address (URL)"
|
3276 |
+
msgstr ""
|
3277 |
+
|
3278 |
+
#: ../cerber-ds.php:791
|
3279 |
+
msgid "Anyone can register"
|
3280 |
+
msgstr ""
|
3281 |
+
|
3282 |
+
#: ../cerber-ds.php:792
|
3283 |
+
msgid "Active Plugins"
|
3284 |
+
msgstr ""
|
3285 |
+
|
3286 |
+
#: ../cerber-ds.php:793
|
3287 |
+
msgid "Active Theme"
|
3288 |
+
msgstr ""
|
3289 |
+
|
3290 |
+
#: ../nexus/cerber-slave-list.php:52
|
3291 |
+
msgid "Server"
|
3292 |
+
msgstr ""
|
3293 |
+
|
3294 |
+
#: ../nexus/cerber-slave-list.php:53
|
3295 |
+
msgid "Server Country"
|
3296 |
+
msgstr ""
|
3297 |
+
|
3298 |
+
#: ../nexus/cerber-slave-list.php:144
|
3299 |
+
msgid "All servers"
|
3300 |
+
msgstr ""
|
3301 |
+
|
3302 |
+
#: ../nexus/cerber-slave-list.php:151
|
3303 |
+
msgid "All countries"
|
3304 |
+
msgstr ""
|
3305 |
+
|
3306 |
+
#: ../nexus/cerber-nexus-master.php:66
|
3307 |
+
msgid "Show homepage in the Website column"
|
3308 |
+
msgstr ""
|
3309 |
+
|
3310 |
+
#: ../nexus/cerber-nexus-master.php:68
|
3311 |
+
msgid "Hide server IP address"
|
3312 |
+
msgstr ""
|
3313 |
+
|
3314 |
+
#: ../dashboard.php:320
|
3315 |
+
msgid "IP address, range, wildcard, or CIDR"
|
3316 |
+
msgstr ""
|
3317 |
+
|
3318 |
+
#: ../dashboard.php:321
|
3319 |
+
msgid "Add Entry"
|
3320 |
+
msgstr ""
|
3321 |
+
|
3322 |
+
#: ../dashboard.php:4925
|
3323 |
+
msgid "The IP address you are trying to add is already in the list"
|
3324 |
+
msgstr ""
|
3325 |
+
|
3326 |
+
#: ../common.php:1332
|
3327 |
+
msgid "IP subnet blocked"
|
3328 |
+
msgstr ""
|
3329 |
+
|
3330 |
+
#: ../common.php:1368
|
3331 |
+
msgid "User row update denied"
|
3332 |
+
msgstr ""
|
3333 |
+
|
3334 |
+
#: ../common.php:1371
|
3335 |
+
msgid "User metadata update denied"
|
3336 |
+
msgstr ""
|
3337 |
+
|
3338 |
+
#: ../settings.php:1297
|
3339 |
+
msgid "Any activity"
|
3340 |
+
msgstr ""
|
3341 |
+
|
3342 |
+
#: ../cerber-tools.php:228
|
3343 |
+
msgid "A database error occurred while importing access list entries"
|
3344 |
+
msgstr ""
|
3345 |
+
|
3346 |
+
#: ../settings.php:247
|
3347 |
+
msgid "Enable authentication log monitoring"
|
3348 |
+
msgstr ""
|
3349 |
+
|
3350 |
+
#: ../settings.php:279 ../settings.php:813
|
3351 |
+
msgid "Keep log records of not logged in visitors for"
|
3352 |
+
msgstr ""
|
3353 |
+
|
3354 |
+
#: ../settings.php:285 ../settings.php:819
|
3355 |
+
msgid "Keep log records of logged in users for"
|
3356 |
+
msgstr ""
|
3357 |
+
|
3358 |
+
#: ../cerber-users.php:75
|
3359 |
+
msgid "Admin Note"
|
3360 |
+
msgstr ""
|
3361 |
+
|
3362 |
+
#: ../cerber-users.php:951
|
3363 |
+
msgid "WP Cerber Personal Data Eraser"
|
3364 |
+
msgstr ""
|
3365 |
+
|
3366 |
+
#: ../settings.php:598
|
3367 |
+
msgid "Personal Data"
|
3368 |
+
msgstr ""
|
3369 |
+
|
3370 |
+
#: ../settings.php:604
|
3371 |
+
msgid "Enable data erase"
|
3372 |
+
msgstr ""
|
3373 |
+
|
3374 |
+
#: ../settings.php:611
|
3375 |
+
msgid "Terminate user sessions"
|
3376 |
+
msgstr ""
|
3377 |
+
|
3378 |
+
#: ../settings.php:612
|
3379 |
+
msgid "Delete user sessions data when user data is erased"
|
3380 |
+
msgstr ""
|
3381 |
+
|
3382 |
+
#: ../settings.php:618
|
3383 |
+
msgid "Enable data export"
|
3384 |
+
msgstr ""
|
3385 |
+
|
3386 |
+
#: ../settings.php:625
|
3387 |
+
msgid "Include activity log events"
|
3388 |
+
msgstr ""
|
3389 |
+
|
3390 |
+
#: ../settings.php:631
|
3391 |
+
msgid "Include traffic log entries"
|
3392 |
+
msgstr ""
|
3393 |
+
|
3394 |
+
#: ../settings.php:634
|
3395 |
+
msgid "Request URL"
|
3396 |
+
msgstr ""
|
3397 |
+
|
3398 |
+
#: ../settings.php:635
|
3399 |
+
msgid "Form fields data"
|
3400 |
+
msgstr ""
|
3401 |
+
|
3402 |
+
#: ../settings.php:636
|
3403 |
+
msgid "Cookies"
|
3404 |
+
msgstr ""
|
3405 |
+
|
3406 |
+
#: ../dashboard.php:71
|
3407 |
+
msgid "Cerber anti-spam settings"
|
3408 |
+
msgstr ""
|
3409 |
+
|
3410 |
+
#: ../dashboard.php:71 ../settings.php:1136
|
3411 |
+
msgid "Anti-spam"
|
3412 |
+
msgstr ""
|
3413 |
+
|
3414 |
+
#: ../dashboard.php:79 ../dashboard.php:79 ../cerber-addons.php:289
|
3415 |
+
msgid "Add-ons"
|
3416 |
+
msgstr ""
|
3417 |
+
|
3418 |
+
#: ../dashboard.php:4629
|
3419 |
+
msgid "Anti-spam and bot detection settings"
|
3420 |
+
msgstr ""
|
3421 |
+
|
3422 |
+
#: ../dashboard.php:4631
|
3423 |
+
msgid "Anti-spam engine"
|
3424 |
+
msgstr ""
|
3425 |
+
|
3426 |
+
#: ../common.php:1461
|
3427 |
+
msgid "Multiple erroneous requests"
|
3428 |
+
msgstr ""
|
3429 |
+
|
3430 |
+
#: ../admin/cerber-settings.php:352
|
3431 |
+
msgid "%s retries are allowed within %s minutes"
|
3432 |
+
msgstr ""
|
3433 |
+
|
3434 |
+
#: ../admin/cerber-settings.php:358
|
3435 |
+
msgid "%s registrations are allowed within %s minutes from one IP address"
|
3436 |
+
msgstr ""
|
3437 |
+
|
3438 |
+
#: ../admin/cerber-settings.php:381
|
3439 |
+
msgid "Enable after %s failed login attempts in the last %s minutes"
|
3440 |
+
msgstr ""
|
3441 |
+
|
3442 |
+
#: ../settings.php:152
|
3443 |
+
msgid "Limit"
|
3444 |
+
msgstr ""
|
3445 |
+
|
3446 |
+
#: ../settings.php:385
|
3447 |
+
msgid "Restrict or completely block access to the WordPress REST API according to your needs"
|
3448 |
+
msgstr ""
|
3449 |
+
|
3450 |
+
#: ../settings.php:600
|
3451 |
+
msgid "These features help your organization to be in compliance with personal data protection laws"
|
3452 |
+
msgstr ""
|
3453 |
+
|
3454 |
+
#: ../settings.php:658
|
3455 |
+
msgid "if empty, the website administrator email %s will be used"
|
3456 |
+
msgstr ""
|
3457 |
+
|
3458 |
+
#: ../settings.php:662
|
3459 |
+
msgid "notifications are allowed per hour (0 means unlimited)"
|
3460 |
+
msgstr ""
|
3461 |
+
|
3462 |
+
#: ../settings.php:673
|
3463 |
+
msgid "Get notified instantly with mobile and desktop notifications"
|
3464 |
+
msgstr ""
|
3465 |
+
|
3466 |
+
#: ../settings.php:688
|
3467 |
+
msgid "Weekly report is a summary of all activities and suspicious events occurred during the last seven days"
|
3468 |
+
msgstr ""
|
3469 |
+
|
3470 |
+
#: ../settings.php:701 ../settings.php:947
|
3471 |
+
msgid "if empty, the email addresses from the notification settings will be used"
|
3472 |
+
msgstr ""
|
3473 |
+
|
3474 |
+
#: ../settings.php:713
|
3475 |
+
msgid "Traffic Inspector is a context-aware web application firewall (WAF) that protects your website by recognizing and denying malicious HTTP requests"
|
3476 |
+
msgstr ""
|
3477 |
+
|
3478 |
+
#: ../settings.php:742
|
3479 |
+
msgid "Block IP addresses that send excessive requests for non-existing pages or scan website for security breaches"
|
3480 |
+
msgstr ""
|
3481 |
+
|
3482 |
+
#: ../settings.php:761
|
3483 |
+
msgid "Traffic Logging"
|
3484 |
+
msgstr ""
|
3485 |
+
|
3486 |
+
#: ../settings.php:762
|
3487 |
+
msgid "Enable optional traffic logging if you need to monitor suspicious and malicious activity or solve security issues"
|
3488 |
+
msgstr ""
|
3489 |
+
|
3490 |
+
#: ../settings.php:829
|
3491 |
+
msgid "The scanner monitors file changes, verifies the integrity of WordPress, plugins, and themes, and detects malware"
|
3492 |
+
msgstr ""
|
3493 |
+
|
3494 |
+
#: ../settings.php:851
|
3495 |
+
msgid "Specify directories to exclude from scanning. One directory per line."
|
3496 |
+
msgstr ""
|
3497 |
+
|
3498 |
+
#: ../settings.php:899
|
3499 |
+
msgid "The scanner automatically scans the website, removes malware and sends email reports with the results of a scan"
|
3500 |
+
msgstr ""
|
3501 |
+
|
3502 |
+
#: ../settings.php:916
|
3503 |
+
msgid "Configure what issues to include in the email report and the condition for sending reports"
|
3504 |
+
msgstr ""
|
3505 |
+
|
3506 |
+
#: ../settings.php:958
|
3507 |
+
msgid "These policies are automatically enforced at the end of every scheduled scan based on its results. All affected files are moved to the quarantine"
|
3508 |
+
msgstr ""
|
3509 |
+
|
3510 |
+
#: ../settings.php:1024
|
3511 |
+
msgid "Cerber anti-spam engine"
|
3512 |
+
msgstr ""
|
3513 |
+
|
3514 |
+
#: ../settings.php:1025
|
3515 |
+
msgid "Spam protection for comment, registration and contact forms on a website"
|
3516 |
+
msgstr ""
|
3517 |
+
|
3518 |
+
#: ../settings.php:1046
|
3519 |
+
msgid "Adjust anti-spam engine"
|
3520 |
+
msgstr ""
|
3521 |
+
|
3522 |
+
#: ../settings.php:1047
|
3523 |
+
msgid "These settings enable you to fine-tune the behavior of anti-spam algorithms and avoid false positives"
|
3524 |
+
msgstr ""
|
3525 |
+
|
3526 |
+
#: ../settings.php:1071
|
3527 |
+
msgid "How the plugin processes comments submitted through the standard comment form"
|
3528 |
+
msgstr ""
|
3529 |
+
|
3530 |
+
#: ../nexus/cerber-nexus-slave.php:436
|
3531 |
+
msgid "Settings updated"
|
3532 |
+
msgstr ""
|
3533 |
+
|
3534 |
+
#: ../dashboard.php:1154
|
3535 |
+
msgid "Request ID"
|
3536 |
+
msgstr ""
|
3537 |
+
|
3538 |
+
#: ../dashboard.php:1155
|
3539 |
+
msgid "Search in URL"
|
3540 |
+
msgstr ""
|
3541 |
+
|
3542 |
+
#: ../settings.php:858 ../settings.php:867
|
3543 |
+
msgid "Executable files"
|
3544 |
+
msgstr ""
|
3545 |
+
|
3546 |
+
#: ../settings.php:859 ../settings.php:868
|
3547 |
+
msgid "All files"
|
3548 |
+
msgstr ""
|
3549 |
+
|
3550 |
+
#: ../dashboard.php:1559
|
3551 |
+
msgid "Active sessions"
|
3552 |
+
msgstr ""
|
3553 |
+
|
3554 |
+
#: ../settings.php:583
|
3555 |
+
msgid "minutes (leave empty to use the default WordPress value)"
|
3556 |
+
msgstr "phút (để trống để sử dụng giá trị mặc định của WordPress)"
|
3557 |
+
|
3558 |
+
#: ../settings.php:872
|
3559 |
+
msgid "Change file permissions when necessary"
|
3560 |
+
msgstr "Thay đổi quyền truy cập tệp khi cần thiết"
|
3561 |
+
|
3562 |
+
#: ../cerber-tools.php:72
|
3563 |
+
msgid "Load entries"
|
3564 |
+
msgstr "Tải bản ghi"
|
3565 |
+
|
3566 |
+
#: ../dashboard.php:983
|
3567 |
+
msgid "My IP"
|
3568 |
+
msgstr ""
|
3569 |
+
|
3570 |
+
#: ../dashboard.php:4718
|
3571 |
+
msgid "Analytics"
|
3572 |
+
msgstr ""
|
3573 |
+
|
3574 |
+
#: ../dashboard.php:4767
|
3575 |
+
msgid "Manage Settings"
|
3576 |
+
msgstr ""
|
3577 |
+
|
3578 |
+
#: ../dashboard.php:4769
|
3579 |
+
msgid "Diagnostic Log"
|
3580 |
+
msgstr ""
|
3581 |
+
|
3582 |
+
#: ../common.php:1325
|
3583 |
+
msgid "User deleted"
|
3584 |
+
msgstr ""
|
3585 |
+
|
3586 |
+
#: ../common.php:1409
|
3587 |
+
msgid "Email address is prohibited"
|
3588 |
+
msgstr ""
|
3589 |
+
|
3590 |
+
#: ../admin/cerber-admin.php:879
|
3591 |
+
msgid "Quarantined"
|
3592 |
+
msgstr ""
|
3593 |
+
|
3594 |
+
#: ../admin/cerber-admin.php:1035 ../admin/cerber-admin.php:1482
|
3595 |
+
msgid "Modified"
|
3596 |
+
msgstr ""
|
3597 |
+
|
3598 |
+
#: ../admin/cerber-admin.php:1146
|
3599 |
+
msgid "Files without extension"
|
3600 |
+
msgstr ""
|
3601 |
+
|
3602 |
+
#: ../admin/cerber-admin.php:1147
|
3603 |
+
msgid "Back to list"
|
3604 |
+
msgstr ""
|
3605 |
+
|
3606 |
+
#: ../admin/cerber-admin.php:1207
|
3607 |
+
msgid "Brief summary"
|
3608 |
+
msgstr ""
|
3609 |
+
|
3610 |
+
#: ../admin/cerber-admin.php:1258
|
3611 |
+
msgid "Folder"
|
3612 |
+
msgstr ""
|
3613 |
+
|
3614 |
+
#: ../admin/cerber-admin.php:1259
|
3615 |
+
msgid "Path"
|
3616 |
+
msgstr ""
|
3617 |
+
|
3618 |
+
#: ../admin/cerber-admin.php:1260 ../admin/cerber-admin.php:1354
|
3619 |
+
msgid "Files"
|
3620 |
+
msgstr ""
|
3621 |
+
|
3622 |
+
#: ../admin/cerber-admin.php:1261 ../admin/cerber-admin.php:1355
|
3623 |
+
msgid "Space Occupied"
|
3624 |
+
msgstr ""
|
3625 |
+
|
3626 |
+
#: ../admin/cerber-admin.php:1325
|
3627 |
+
msgid "No extension"
|
3628 |
+
msgstr ""
|
3629 |
+
|
3630 |
+
#: ../admin/cerber-admin.php:1350
|
3631 |
+
msgid "File extensions statistics"
|
3632 |
+
msgstr ""
|
3633 |
+
|
3634 |
+
#: ../admin/cerber-admin.php:1353
|
3635 |
+
msgid "Extension"
|
3636 |
+
msgstr ""
|
3637 |
+
|
3638 |
+
#: ../admin/cerber-admin.php:1356
|
3639 |
+
msgid "Smallest"
|
3640 |
+
msgstr ""
|
3641 |
+
|
3642 |
+
#: ../admin/cerber-admin.php:1357
|
3643 |
+
msgid "Largest"
|
3644 |
+
msgstr ""
|
3645 |
+
|
3646 |
+
#: ../admin/cerber-admin.php:1358
|
3647 |
+
msgid "Average Size"
|
3648 |
+
msgstr ""
|
3649 |
+
|
3650 |
+
#: ../admin/cerber-admin.php:1359
|
3651 |
+
msgid "Oldest"
|
3652 |
+
msgstr ""
|
3653 |
+
|
3654 |
+
#: ../admin/cerber-admin.php:1360
|
3655 |
+
msgid "Newest"
|
3656 |
+
msgstr ""
|
3657 |
+
|
3658 |
+
#: ../admin/cerber-admin.php:1376
|
3659 |
+
msgid "Top 10 largest files"
|
3660 |
+
msgstr ""
|
3661 |
+
|
3662 |
+
#: ../admin/cerber-admin.php:1480
|
3663 |
+
msgid "File Name"
|
3664 |
+
msgstr ""
|
3665 |
+
|
3666 |
+
#: ../settings.php:327
|
3667 |
+
msgid "Date format for CSV export"
|
3668 |
+
msgstr ""
|
3669 |
+
|
3670 |
+
#: ../settings.php:328
|
3671 |
+
msgid "Use ISO 8601 date format for CSV export files"
|
3672 |
+
msgstr ""
|
3673 |
+
|
3674 |
+
#: ../settings.php:332
|
3675 |
+
msgid "Use English"
|
3676 |
+
msgstr ""
|
3677 |
+
|
3678 |
+
#: ../settings.php:337
|
3679 |
+
msgid "My IP address"
|
3680 |
+
msgstr ""
|
3681 |
+
|
3682 |
+
#: ../settings.php:338
|
3683 |
+
msgid "Do not add my IP address to the White IP Access List upon plugin activation"
|
3684 |
+
msgstr ""
|
3685 |
+
|
3686 |
+
#: ../cerber-tools.php:52
|
3687 |
+
msgid "Load the default plugin settings"
|
3688 |
+
msgstr ""
|
3689 |
+
|
3690 |
+
#: ../cerber-tools.php:53
|
3691 |
+
msgid "When you click the button below, the default WP Cerber settings will be loaded. The Custom login URL and Access Lists will not be changed."
|
3692 |
+
msgstr ""
|
3693 |
+
|
3694 |
+
#: ../cerber-tools.php:54
|
3695 |
+
msgid "To get the most out of WP Cerber, follow these steps:"
|
3696 |
+
msgstr ""
|
3697 |
+
|
3698 |
+
#: ../common.php:1416
|
3699 |
+
msgid "IP whitelisted"
|
3700 |
+
msgstr ""
|
3701 |
+
|
3702 |
+
#: ../common.php:1419
|
3703 |
+
msgid "URL whitelisted"
|
3704 |
+
msgstr ""
|
3705 |
+
|
3706 |
+
#: ../common.php:1420
|
3707 |
+
msgid "Request whitelisted"
|
3708 |
+
msgstr ""
|
3709 |
+
|
languages/wp-cerber.pot
CHANGED
@@ -5,7 +5,7 @@ msgstr ""
|
|
5 |
"Project-Id-Version: WP Cerber\n"
|
6 |
"Report-Msgid-Bugs-To: \n"
|
7 |
"POT-Creation-Date: Tue Sep 08 2015 21:38:11 GMT+0300\n"
|
8 |
-
"POT-Revision-Date:
|
9 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: \n"
|
@@ -28,8 +28,8 @@ msgstr ""
|
|
28 |
msgid "Cerber Dashboard"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: ../dashboard.php:54 ../dashboard.php:
|
32 |
-
#: php:
|
33 |
msgid "Dashboard"
|
34 |
msgstr ""
|
35 |
|
@@ -37,7 +37,7 @@ msgstr ""
|
|
37 |
msgid "Cerber Traffic Inspector"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: ../dashboard.php:56 ../dashboard.php:
|
41 |
msgid "Traffic Inspector"
|
42 |
msgstr ""
|
43 |
|
@@ -53,7 +53,7 @@ msgstr ""
|
|
53 |
msgid "Cerber Security Rules"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: ../dashboard.php:61 ../dashboard.php:
|
57 |
msgid "Security Rules"
|
58 |
msgstr ""
|
59 |
|
@@ -61,11 +61,11 @@ msgstr ""
|
|
61 |
msgid "Cerber User Security"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: ../dashboard.php:64 ../dashboard.php:
|
65 |
msgid "User Policies"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#: ../dashboard.php:67 ../dashboard.php:
|
69 |
msgid "Site Integrity"
|
70 |
msgstr ""
|
71 |
|
@@ -73,7 +73,7 @@ msgstr ""
|
|
73 |
msgid "Cerber anti-spam settings"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: ../dashboard.php:71 ../settings.php:
|
77 |
msgid "Anti-spam"
|
78 |
msgstr ""
|
79 |
|
@@ -85,7 +85,7 @@ msgstr ""
|
|
85 |
msgid "Cerber tools"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: ../dashboard.php:82 ../dashboard.php:
|
89 |
msgid "Tools"
|
90 |
msgstr ""
|
91 |
|
@@ -93,28 +93,29 @@ msgstr ""
|
|
93 |
msgid "Remove"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: ../dashboard.php:195 ../
|
97 |
-
|
|
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: ../dashboard.php:196 ../dashboard.php:
|
101 |
msgid "Hostname"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: ../dashboard.php:197 ../dashboard.php:
|
105 |
msgid "Country"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: ../dashboard.php:198 ../cerber-users.php:
|
109 |
msgid "Expires"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: ../dashboard.php:199 ../cerber-load.php:
|
113 |
msgid "Reason"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: ../dashboard.php:200 ../cerber-
|
117 |
-
#:
|
118 |
msgid "Action"
|
119 |
msgstr ""
|
120 |
|
@@ -135,13 +136,13 @@ msgstr ""
|
|
135 |
msgid "No lockouts at the moment. The sky is clear."
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: ../dashboard.php:254 ../dashboard.php:
|
139 |
-
#: php:
|
140 |
msgid "White IP Access List"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: ../dashboard.php:257 ../dashboard.php:
|
144 |
-
#: php:
|
145 |
msgid "Black IP Access List"
|
146 |
msgstr ""
|
147 |
|
@@ -149,8 +150,8 @@ msgstr ""
|
|
149 |
msgid "Your IP"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: ../dashboard.php:304 ../dashboard.php:
|
153 |
-
#: php:
|
154 |
msgid "Check for activities"
|
155 |
msgstr ""
|
156 |
|
@@ -184,667 +185,654 @@ msgstr ""
|
|
184 |
msgid "IP address %s has been added to White IP Access List"
|
185 |
msgstr ""
|
186 |
|
187 |
-
#: ../dashboard.php:433 ../dashboard.php:
|
188 |
-
#: /common.php:
|
189 |
#: list.php:330
|
190 |
msgid "Unknown"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: ../dashboard.php:
|
194 |
msgid "unknown"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: ../dashboard.php:
|
198 |
#, php-format
|
199 |
msgid "Lockout for %s was removed"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: ../dashboard.php:
|
203 |
msgid "Email has been sent to"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: ../dashboard.php:
|
207 |
msgid "Unable to send email to"
|
208 |
msgstr ""
|
209 |
|
210 |
-
#: ../dashboard.php:
|
211 |
msgid "Default settings have been loaded"
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: ../dashboard.php:
|
215 |
-
#:
|
216 |
-
msgid "IP Address"
|
217 |
-
msgstr ""
|
218 |
-
|
219 |
-
#: ../dashboard.php:840 ../dashboard.php:1090 ../dashboard.php:3583 ../dashboard.
|
220 |
-
#: php:4007
|
221 |
msgid "Date"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: ../dashboard.php:
|
225 |
msgid "Event"
|
226 |
msgstr ""
|
227 |
|
228 |
-
#: ../dashboard.php:
|
229 |
msgid "Additional Details"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: ../dashboard.php:
|
233 |
msgid "Local User"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: ../dashboard.php:
|
237 |
msgid "User login"
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: ../dashboard.php:
|
241 |
msgid "User ID"
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: ../dashboard.php:
|
245 |
msgid "Username"
|
246 |
msgstr ""
|
247 |
|
248 |
-
#: ../dashboard.php:
|
249 |
msgid "View all"
|
250 |
msgstr ""
|
251 |
|
252 |
-
#: ../dashboard.php:
|
253 |
msgid "New users"
|
254 |
msgstr ""
|
255 |
|
256 |
-
#: ../dashboard.php:
|
257 |
msgid "Suspicious activity"
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: ../dashboard.php:
|
261 |
msgid "IP blocked"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: ../dashboard.php:
|
265 |
-
#: php:
|
266 |
msgid "Logged in users"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: ../dashboard.php:
|
270 |
msgid "Not logged in visitors"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: ../dashboard.php:
|
274 |
msgid "My activity"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: ../dashboard.php:
|
|
|
|
|
|
|
|
|
278 |
msgid "Export"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: ../dashboard.php:
|
282 |
msgid "No activity has been logged."
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: ../dashboard.php:
|
286 |
msgid "Filter by registered user"
|
287 |
msgstr ""
|
288 |
|
289 |
-
#: ../dashboard.php:
|
290 |
msgid "Search for IP or username"
|
291 |
msgstr ""
|
292 |
|
293 |
-
#: ../dashboard.php:
|
294 |
msgid "Request ID"
|
295 |
msgstr ""
|
296 |
|
297 |
-
#: ../dashboard.php:
|
298 |
msgid "Search in URL"
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: ../dashboard.php:
|
302 |
msgid "Filter"
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: ../dashboard.php:
|
306 |
-
#: php:
|
307 |
msgid "Locked out"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: ../dashboard.php:
|
311 |
msgid "Abuse email:"
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: ../dashboard.php:
|
315 |
msgid "Network:"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: ../dashboard.php:
|
319 |
msgid "Add network to the Black List"
|
320 |
msgstr ""
|
321 |
|
322 |
-
#: ../dashboard.php:
|
323 |
msgid "Add IP to the Black List"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: ../dashboard.php:
|
327 |
msgid "Registered"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: ../dashboard.php:
|
331 |
msgid "Activated"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: ../dashboard.php:
|
335 |
msgid "Last seen"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: ../dashboard.php:
|
339 |
msgid "Active sessions"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: ../dashboard.php:
|
343 |
msgid "Comments"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: ../dashboard.php:
|
347 |
msgid "Last login"
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: ../dashboard.php:
|
351 |
msgid "Failed login attempts"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: ../dashboard.php:
|
355 |
-
#: php:
|
356 |
msgid "Never"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: ../dashboard.php:
|
360 |
msgid "You"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: ../dashboard.php:
|
364 |
msgid "Cerber Quick View"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: ../dashboard.php:
|
368 |
msgid "active"
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: ../dashboard.php:
|
372 |
msgid "deactivate"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: ../dashboard.php:
|
376 |
msgid "not active"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: ../dashboard.php:
|
380 |
msgid "disabled"
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: ../dashboard.php:
|
384 |
msgid "failed attempts"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: ../dashboard.php:
|
388 |
msgid "in 24 hours"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: ../dashboard.php:
|
392 |
msgid "view all"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: ../dashboard.php:
|
396 |
msgid "lockouts"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: ../dashboard.php:
|
400 |
msgid "Lockouts at the moment"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: ../dashboard.php:
|
404 |
msgid "Last lockout"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: ../dashboard.php:
|
408 |
msgid "user"
|
409 |
msgid_plural "users"
|
410 |
msgstr[0] ""
|
411 |
msgstr[1] ""
|
412 |
|
413 |
-
#: ../dashboard.php:
|
414 |
msgid "entry"
|
415 |
msgid_plural "entries"
|
416 |
msgstr[0] ""
|
417 |
msgstr[1] ""
|
418 |
|
419 |
-
#: ../dashboard.php:
|
420 |
msgid "Citadel mode"
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: ../dashboard.php:
|
424 |
msgid "enabled"
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: ../dashboard.php:
|
428 |
msgid "no connection"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: ../dashboard.php:
|
432 |
msgctxt "Example: Last malware scan: 23 Jan 2018"
|
433 |
msgid "Last malware scan"
|
434 |
msgstr ""
|
435 |
|
436 |
-
#: ../dashboard.php:
|
437 |
-
#: users.php:446 ../settings.php:
|
438 |
-
#: /settings.php:
|
439 |
msgid "Disabled"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: ../dashboard.php:
|
443 |
msgid "Quick Scan"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: ../dashboard.php:
|
447 |
msgid "Full Scan"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: ../dashboard.php:
|
451 |
-
#: load.php:
|
452 |
msgid "Activity"
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: ../dashboard.php:
|
456 |
msgid "Traffic"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: ../dashboard.php:
|
460 |
msgid "Integrity"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: ../dashboard.php:
|
464 |
msgid "A new version is available"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: ../dashboard.php:
|
468 |
msgid "My site is behind a reverse proxy"
|
469 |
msgstr ""
|
470 |
|
471 |
-
#: ../dashboard.php:
|
472 |
msgid "in the last 24 hours"
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: ../dashboard.php:
|
476 |
msgid "Recently locked out IP addresses"
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: ../dashboard.php:
|
480 |
-
msgid "Confused about some settings?"
|
481 |
-
msgstr ""
|
482 |
-
|
483 |
-
#: ../dashboard.php:2399
|
484 |
-
msgid "You can easily load default recommended settings using button below"
|
485 |
-
msgstr ""
|
486 |
-
|
487 |
-
#: ../dashboard.php:2401
|
488 |
-
msgid "Load default settings"
|
489 |
-
msgstr ""
|
490 |
-
|
491 |
-
#: ../dashboard.php:2403 ../dashboard.php:5061 ../cerber-scanner.php:5801 ..
|
492 |
-
#: /cerber-scanner.php:5962
|
493 |
-
msgid "Are you sure?"
|
494 |
-
msgstr ""
|
495 |
-
|
496 |
-
#: ../dashboard.php:2409
|
497 |
-
msgid "doesn't affect Custom login URL and Access Lists"
|
498 |
-
msgstr ""
|
499 |
-
|
500 |
-
#: ../dashboard.php:2410 ../cerber-load.php:4183 ../cerber-load.php:5160
|
501 |
-
msgid "Getting Started Guide"
|
502 |
-
msgstr ""
|
503 |
-
|
504 |
-
#: ../dashboard.php:2513
|
505 |
msgid "Attention! Citadel mode is now active. Nobody is able to log in."
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: ../dashboard.php:
|
509 |
msgid "Deactivate"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: ../dashboard.php:
|
513 |
msgid "View Activity"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: ../dashboard.php:
|
517 |
msgid "Settings saved"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: ../dashboard.php:
|
521 |
msgid "Create Alert"
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: ../dashboard.php:
|
525 |
msgid "Delete Alert"
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: ../dashboard.php:
|
529 |
msgid "The alert has been created"
|
530 |
msgstr ""
|
531 |
|
532 |
-
#: ../dashboard.php:
|
533 |
msgid "The alert has been deleted"
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: ../dashboard.php:
|
537 |
msgid "Main settings"
|
538 |
msgstr ""
|
539 |
|
540 |
-
#: ../dashboard.php:
|
541 |
msgid "Are you sure you want to delete selected files?"
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: ../dashboard.php:
|
545 |
msgid "These files have been moved to the quarantine"
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: ../dashboard.php:
|
549 |
msgid "Do you want to add selected files to the ignore list?"
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: ../dashboard.php:
|
553 |
msgid "These files have been added to the ignore list"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: ../dashboard.php:
|
557 |
msgid "Some errors occurred"
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: ../dashboard.php:
|
561 |
msgid "All files have been processed"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: ../dashboard.php:
|
565 |
msgid "Save Changes"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: ../dashboard.php:
|
569 |
msgid "Role-based rules are configured"
|
570 |
msgstr ""
|
571 |
|
572 |
-
#: ../dashboard.php:
|
573 |
msgid "Start typing here to find a country"
|
574 |
msgstr ""
|
575 |
|
576 |
-
#: ../dashboard.php:
|
577 |
msgid "Save all rules"
|
578 |
msgstr ""
|
579 |
|
580 |
-
#: ../dashboard.php:
|
581 |
#, php-format
|
582 |
msgid "Permitted for one country"
|
583 |
msgid_plural "Permitted for %d countries"
|
584 |
msgstr[0] ""
|
585 |
msgstr[1] ""
|
586 |
|
587 |
-
#: ../dashboard.php:
|
588 |
#, php-format
|
589 |
msgid "Not permitted for one country"
|
590 |
msgid_plural "Not permitted for %d countries"
|
591 |
msgstr[0] ""
|
592 |
msgstr[1] ""
|
593 |
|
594 |
-
#: ../dashboard.php:
|
595 |
msgid "No rule"
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: ../dashboard.php:
|
599 |
msgid "Any country is permitted"
|
600 |
msgstr ""
|
601 |
|
602 |
-
#: ../dashboard.php:
|
603 |
msgid "Click on a country name to add it to the list of selected countries"
|
604 |
msgstr ""
|
605 |
|
606 |
-
#: ../dashboard.php:
|
607 |
#, php-format
|
608 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
609 |
msgid "Selected countries are permitted to %s, other countries are not permitted to"
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: ../dashboard.php:
|
613 |
#, php-format
|
614 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
615 |
msgid "Selected countries are not permitted to %s, other countries are permitted to"
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: ../dashboard.php:
|
619 |
msgid "Log in to the website"
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: ../dashboard.php:
|
623 |
msgid "All Users"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: ../dashboard.php:
|
627 |
msgid "Register on the website"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: ../dashboard.php:
|
631 |
msgid "Submit forms"
|
632 |
msgstr ""
|
633 |
|
634 |
-
#: ../dashboard.php:
|
635 |
msgid "Post comments"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: ../dashboard.php:
|
639 |
msgid "Use XML-RPC"
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: ../dashboard.php:
|
643 |
msgid "Use REST API"
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: ../dashboard.php:
|
647 |
msgid "Security rules have been updated"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: ../dashboard.php:
|
651 |
msgid "IP address"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: ../dashboard.php:
|
655 |
msgid "Page generation time"
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: ../dashboard.php:
|
659 |
msgid "Request"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#: ../dashboard.php:
|
663 |
msgid "Host Info"
|
664 |
msgstr ""
|
665 |
|
666 |
-
#: ../dashboard.php:
|
667 |
msgid "User Agent"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: ../dashboard.php:
|
671 |
msgid "No requests have been logged."
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: ../dashboard.php:
|
675 |
msgid "All requests"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: ../dashboard.php:
|
679 |
msgid "Errors"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: ../dashboard.php:
|
683 |
msgid "Form submissions"
|
684 |
msgstr ""
|
685 |
|
686 |
-
#: ../dashboard.php:
|
687 |
msgid "Page Not Found"
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: ../dashboard.php:
|
|
|
|
|
|
|
|
|
691 |
msgid "Longer than"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: ../dashboard.php:
|
695 |
msgid "Advanced Search"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#: ../dashboard.php:
|
699 |
msgid "Refresh"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: ../dashboard.php:
|
703 |
msgid "Sessions"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: ../dashboard.php:
|
707 |
msgid "Lockouts"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: ../dashboard.php:
|
711 |
msgid "Main Settings"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: ../dashboard.php:
|
715 |
msgid "Access Lists"
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: ../dashboard.php:
|
719 |
msgid "Hardening"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: ../dashboard.php:
|
723 |
msgid "Notifications"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: ../dashboard.php:
|
727 |
msgid "Anti-spam and bot detection settings"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: ../dashboard.php:
|
731 |
msgid "Anti-spam engine"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: ../dashboard.php:
|
735 |
msgid "Live Traffic"
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: ../dashboard.php:
|
739 |
#: tools.php:48 ../nexus/cerber-nexus.php:93
|
740 |
msgid "Settings"
|
741 |
msgstr ""
|
742 |
|
743 |
-
#: ../dashboard.php:
|
744 |
msgid "Data Shield Policies"
|
745 |
msgstr ""
|
746 |
|
747 |
-
#: ../dashboard.php:
|
748 |
msgid "Accounts & Roles"
|
749 |
msgstr ""
|
750 |
|
751 |
-
#: ../dashboard.php:
|
752 |
msgid "Site Settings"
|
753 |
msgstr ""
|
754 |
|
755 |
-
#: ../dashboard.php:
|
756 |
msgid "Role-based"
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: ../dashboard.php:
|
760 |
msgid "Global"
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: ../dashboard.php:
|
764 |
msgid "Countries"
|
765 |
msgstr ""
|
766 |
|
767 |
-
#: ../dashboard.php:
|
768 |
msgid "Security Scanner"
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: ../dashboard.php:
|
772 |
msgid "Scheduling"
|
773 |
msgstr ""
|
774 |
|
775 |
-
#: ../dashboard.php:
|
776 |
msgid "Cleaning up"
|
777 |
msgstr ""
|
778 |
|
779 |
-
#: ../dashboard.php:
|
780 |
msgid "Ignore List"
|
781 |
msgstr ""
|
782 |
|
783 |
-
#: ../dashboard.php:
|
784 |
msgid "Quarantine"
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: ../dashboard.php:
|
788 |
-
msgid "
|
|
|
|
|
|
|
|
|
789 |
msgstr ""
|
790 |
|
791 |
-
#: ../dashboard.php:
|
792 |
msgid "Diagnostic"
|
793 |
msgstr ""
|
794 |
|
795 |
-
#: ../dashboard.php:
|
796 |
-
msgid "Log"
|
797 |
msgstr ""
|
798 |
|
799 |
-
#: ../dashboard.php:
|
800 |
msgid "Changelog"
|
801 |
msgstr ""
|
802 |
|
803 |
-
#: ../dashboard.php:
|
804 |
msgid "License"
|
805 |
msgstr ""
|
806 |
|
807 |
-
#: ../dashboard.php:
|
808 |
msgid "Help"
|
809 |
msgstr ""
|
810 |
|
811 |
-
#: ../dashboard.php:
|
812 |
msgid "Incorrect IP address or IP range"
|
813 |
msgstr ""
|
814 |
|
815 |
-
#: ../dashboard.php:
|
816 |
msgid "The IP address you are trying to add is already in the list"
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: ../dashboard.php:
|
820 |
msgid "These features are available in a professional version of the plugin."
|
821 |
msgstr ""
|
822 |
|
823 |
-
#: ../dashboard.php:
|
824 |
msgid "Know more about all advantages at"
|
825 |
msgstr ""
|
826 |
|
827 |
-
#: ../dashboard.php:
|
|
|
|
|
|
|
|
|
|
|
828 |
msgid "Log In"
|
829 |
msgstr ""
|
830 |
|
831 |
-
#: ../dashboard.php:
|
832 |
msgid "Log Out"
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: ../dashboard.php:
|
836 |
msgid "Register"
|
837 |
msgstr ""
|
838 |
|
839 |
-
#: ../dashboard.php:
|
840 |
msgid "WooCommerce Log In"
|
841 |
msgstr ""
|
842 |
|
843 |
-
#: ../dashboard.php:
|
844 |
msgid "WooCommerce Log Out"
|
845 |
msgstr ""
|
846 |
|
847 |
-
#: ../dashboard.php:
|
848 |
msgid "Add to menu"
|
849 |
msgstr ""
|
850 |
|
@@ -869,38 +857,38 @@ msgstr ""
|
|
869 |
msgid "Cerber Tech Inc."
|
870 |
msgstr ""
|
871 |
|
872 |
-
#: ../common.php:
|
873 |
msgid "Check for requests"
|
874 |
msgstr ""
|
875 |
|
876 |
-
#: ../common.php:
|
877 |
msgid "Malicious activities mitigated"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: ../common.php:
|
881 |
msgid "Spam comments denied"
|
882 |
msgstr ""
|
883 |
|
884 |
-
#: ../common.php:
|
885 |
msgid "Spam form submissions denied"
|
886 |
msgstr ""
|
887 |
|
888 |
-
#: ../common.php:
|
889 |
msgid "Malicious IP addresses detected"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: ../common.php:
|
893 |
msgid "Lockouts occurred"
|
894 |
msgstr ""
|
895 |
|
896 |
-
#: ../common.php:
|
897 |
-
#: /common.php:
|
898 |
-
#:
|
899 |
-
#:
|
900 |
-
#:
|
901 |
-
#: /cerber-load.php:
|
902 |
-
#: /cerber-load.php:
|
903 |
-
#:
|
904 |
msgid "ERROR:"
|
905 |
msgstr ""
|
906 |
|
@@ -913,302 +901,310 @@ msgid "User registered"
|
|
913 |
msgstr ""
|
914 |
|
915 |
#: ../common.php:1328
|
916 |
-
msgid "
|
917 |
msgstr ""
|
918 |
|
919 |
#: ../common.php:1329
|
920 |
-
msgid "Logged
|
921 |
msgstr ""
|
922 |
|
923 |
#: ../common.php:1330
|
|
|
|
|
|
|
|
|
924 |
msgid "Login failed"
|
925 |
msgstr ""
|
926 |
|
927 |
-
#: ../common.php:
|
928 |
msgid "IP subnet blocked"
|
929 |
msgstr ""
|
930 |
|
931 |
-
#: ../common.php:
|
932 |
msgid "Citadel activated!"
|
933 |
msgstr ""
|
934 |
|
935 |
-
#: ../common.php:
|
936 |
msgid "Spam comment denied"
|
937 |
msgstr ""
|
938 |
|
939 |
-
#: ../common.php:
|
940 |
msgid "Spam form submission denied"
|
941 |
msgstr ""
|
942 |
|
943 |
-
#: ../common.php:
|
944 |
msgid "Form submission denied"
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: ../common.php:
|
948 |
msgid "Comment denied"
|
949 |
msgstr ""
|
950 |
|
951 |
-
#: ../common.php:
|
952 |
msgid "Password changed"
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: ../common.php:
|
956 |
msgid "Password reset requested"
|
957 |
msgstr ""
|
958 |
|
959 |
-
#: ../common.php:
|
960 |
msgid "reCAPTCHA verification failed"
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: ../common.php:
|
964 |
msgid "reCAPTCHA settings are incorrect"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: ../common.php:
|
968 |
msgid "Request to the Google reCAPTCHA service failed"
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: ../common.php:
|
972 |
msgid "Attempt to access prohibited URL"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: ../common.php:
|
976 |
msgid "Attempt to log in with non-existing username"
|
977 |
msgstr ""
|
978 |
|
979 |
-
#: ../common.php:
|
980 |
msgid "Attempt to log in with prohibited username"
|
981 |
msgstr ""
|
982 |
|
983 |
-
#: ../common.php:
|
984 |
msgid "Attempt to log in denied"
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: ../common.php:
|
988 |
msgid "Attempt to register denied"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: ../common.php:
|
992 |
msgid "Probing for vulnerable PHP code"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: ../common.php:
|
996 |
msgid "Attempt to upload malicious file denied"
|
997 |
msgstr ""
|
998 |
|
999 |
-
#: ../common.php:
|
1000 |
msgid "File upload denied"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
-
#: ../common.php:
|
1004 |
msgid "Request to REST API denied"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: ../common.php:
|
1008 |
msgid "XML-RPC request denied"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: ../common.php:
|
1012 |
msgid "User creation denied"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
-
#: ../common.php:
|
1016 |
msgid "User row update denied"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
-
#: ../common.php:
|
1020 |
msgid "Role update denied"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
-
#: ../common.php:
|
1024 |
msgid "Setting update denied"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
-
#: ../common.php:
|
1028 |
msgid "User metadata update denied"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
-
#: ../common.php:
|
1032 |
msgid "Malicious request denied"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: ../common.php:
|
1036 |
msgid "User activated"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
-
#: ../common.php:
|
1040 |
msgid "Invalid master credentials"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: ../common.php:
|
1044 |
msgid "Bot detected"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: ../common.php:
|
1048 |
msgid "Citadel mode is active"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: ../common.php:
|
1052 |
msgid "IP address is locked out"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: ../common.php:
|
1056 |
msgid "IP blacklisted"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: ../common.php:
|
1060 |
msgid "Malicious activity detected"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: ../common.php:
|
1064 |
msgid "Blocked by country rule"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: ../common.php:
|
1068 |
msgid "Limit reached"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: ../common.php:
|
1072 |
msgid "Multiple suspicious activities"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
-
#: ../common.php:
|
1076 |
msgid "Denied"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: ../common.php:
|
1080 |
msgid "Suspicious number of fields"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: ../common.php:
|
1084 |
msgid "Suspicious number of nested values"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: ../common.php:
|
1088 |
msgid "Malicious code detected"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: ../common.php:
|
1092 |
msgid "Suspicious SQL code detected"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: ../common.php:
|
1096 |
msgid "Suspicious JavaScript code detected"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: ../common.php:
|
1100 |
msgid "Blocked by administrator"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: ../common.php:
|
1104 |
msgid "Site policy enforcement"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: ../common.php:
|
1108 |
msgid "2FA code verified"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: ../common.php:
|
1112 |
msgid "Initiated by the user"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: ../common.php:
|
1116 |
-
msgid "Email address is
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: ../common.php:
|
1120 |
msgid "Permission denied"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: ../common.php:
|
1124 |
msgid "Invalid user"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: ../common.php:
|
1128 |
msgid "Incorrect password"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: ../common.php:
|
|
|
|
|
|
|
|
|
1132 |
msgid "Limit on login attempts is reached"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: ../common.php:
|
1136 |
msgid "Attempt to access"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: ../common.php:
|
1140 |
msgid "Limit on failed reCAPTCHA verifications is reached"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: ../common.php:
|
1144 |
msgid "Bot activity is detected"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: ../common.php:
|
1148 |
msgid "Multiple suspicious activities were detected"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: ../common.php:
|
1152 |
msgid "Attempt to upload a file with malicious code"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: ../common.php:
|
1156 |
msgid "Multiple erroneous requests"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: ../common.php:
|
1160 |
msgid "Multiple suspicious requests"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
#. translators: Time difference between two dates, in seconds (sec=second). 1: Number of seconds
|
1164 |
-
#: ../common.php:
|
1165 |
#, php-format
|
1166 |
msgid "%s sec"
|
1167 |
msgid_plural "%s secs"
|
1168 |
msgstr[0] ""
|
1169 |
msgstr[1] ""
|
1170 |
|
1171 |
-
#: ../common.php:
|
1172 |
#, php-format
|
1173 |
msgid "%s ago"
|
1174 |
msgstr ""
|
1175 |
|
1176 |
-
#: ../common.php:
|
1177 |
#, php-format
|
1178 |
msgctxt "preposition of a period of time like: in 6 hours"
|
1179 |
msgid "in %s"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
-
#: ../common.php:
|
1183 |
msgid "Bytes"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
-
#: ../common.php:
|
1187 |
#, php-format
|
1188 |
msgid "A new version of %s is available. Please install it."
|
1189 |
msgstr ""
|
1190 |
|
1191 |
-
#: ../common.php:
|
1192 |
msgid "Not specified"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
-
#: ../common.php:
|
1196 |
msgid "Unable to create the directory"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
-
#: ../common.php:
|
1200 |
msgid "Destination folder access denied"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
-
#: ../common.php:
|
1204 |
msgid "File not found"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
-
#: ../common.php:
|
1208 |
msgid "Unable to copy the file"
|
1209 |
msgstr ""
|
1210 |
|
1211 |
-
#: ../common.php:
|
1212 |
msgid "Unable to delete the file"
|
1213 |
msgstr ""
|
1214 |
|
@@ -1219,116 +1215,386 @@ msgid ""
|
|
1219 |
"more: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
|
1220 |
msgstr ""
|
1221 |
|
1222 |
-
#: ../cerber-news.php:
|
1223 |
msgid "Awesome!"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
-
#: ../admin/cerber-settings.php:
|
1227 |
-
#: php:
|
1228 |
msgid "Know more"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
-
#: ../admin/cerber-settings.php:
|
1232 |
#, php-format
|
1233 |
msgid "%s retries are allowed within %s minutes"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: ../admin/cerber-settings.php:
|
1237 |
#, php-format
|
1238 |
msgid "%s registrations are allowed within %s minutes from one IP address"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
-
#: ../admin/cerber-settings.php:
|
1242 |
#, php-format
|
1243 |
msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
-
#: ../admin/cerber-settings.php:
|
1247 |
msgid "Notify admin if the number of active lockouts above"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
-
#: ../admin/cerber-settings.php:
|
1251 |
msgid "Click to send test"
|
1252 |
msgstr ""
|
1253 |
|
1254 |
-
#: ../admin/cerber-settings.php:
|
1255 |
#, php-format
|
1256 |
msgid "Enable after %s failed login attempts in the last %s minutes"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
-
#: ../admin/cerber-settings.php:
|
1260 |
msgid "Select one or more roles"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
-
#: ../admin/cerber-settings.php:
|
1264 |
msgid "Sunday"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
-
#: ../admin/cerber-settings.php:
|
1268 |
msgid "Monday"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
-
#: ../admin/cerber-settings.php:
|
1272 |
msgid "Tuesday"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
-
#: ../admin/cerber-settings.php:
|
1276 |
msgid "Wednesday"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
-
#: ../admin/cerber-settings.php:
|
1280 |
msgid "Thursday"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
-
#: ../admin/cerber-settings.php:
|
1284 |
msgid "Friday"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
-
#: ../admin/cerber-settings.php:
|
1288 |
msgid "Saturday"
|
1289 |
msgstr ""
|
1290 |
|
1291 |
-
#: ../admin/cerber-settings.php:
|
1292 |
msgctxt "preposition of time like: at 11:00"
|
1293 |
msgid "at"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
-
#: ../admin/cerber-settings.php:
|
1297 |
msgid "Click to send now"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#: ../admin/cerber-settings.php:
|
1301 |
msgid "Plugin initialization mode has not been changed"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#: ../admin/cerber-settings.php:
|
1305 |
msgid "Attention! You have changed the login URL! The new login URL is"
|
1306 |
msgstr ""
|
1307 |
|
1308 |
-
#: ../admin/cerber-settings.php:
|
1309 |
msgid ""
|
1310 |
"If you use a caching plugin, you have to add your new login URL to the list "
|
1311 |
"of pages not to cache."
|
1312 |
msgstr ""
|
1313 |
|
1314 |
-
#: ../admin/cerber-settings.php:
|
1315 |
-
#: /admin/cerber-settings.php:
|
1316 |
msgid "<strong>ERROR</strong>: please enter a valid email address."
|
1317 |
msgstr ""
|
1318 |
|
1319 |
-
#: ../admin/cerber-settings.php:
|
1320 |
msgid "The schedule has been updated"
|
1321 |
msgstr ""
|
1322 |
|
1323 |
-
#: ../admin/cerber-settings.php:
|
1324 |
msgid "Unable to update the schedule"
|
1325 |
msgstr ""
|
1326 |
|
1327 |
-
#: ../cerber-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1328 |
msgid "Want to make WP Cerber even more powerful?"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
-
#: ../cerber-lab.php:
|
1332 |
msgid ""
|
1333 |
"Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. "
|
1334 |
"This helps the plugin team to develop new algorithms for WP Cerber that will "
|
@@ -1336,256 +1602,264 @@ msgid ""
|
|
1336 |
"everyday. You can disable the sending in the plugin settings at any time."
|
1337 |
msgstr ""
|
1338 |
|
1339 |
-
#: ../cerber-lab.php:
|
1340 |
msgid "OK, nail them all"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
-
#: ../cerber-lab.php:
|
1344 |
msgid "NO, maybe later"
|
1345 |
msgstr ""
|
1346 |
|
1347 |
-
#: ../cerber-load.php:
|
1348 |
msgid "You are not allowed to log in. Ask your administrator for assistance."
|
1349 |
msgstr ""
|
1350 |
|
1351 |
-
#: ../cerber-load.php:
|
1352 |
#, php-format
|
1353 |
msgid ""
|
1354 |
"You have exceeded the number of allowed login attempts. Please try again in "
|
1355 |
"%d minutes."
|
1356 |
msgstr ""
|
1357 |
|
1358 |
-
#: ../cerber-load.php:
|
1359 |
msgid "You are not allowed to log in"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
-
#: ../cerber-load.php:
|
1363 |
#, php-format
|
1364 |
msgid "You have only one attempt remaining."
|
1365 |
msgid_plural "You have %d attempts remaining."
|
1366 |
msgstr[0] ""
|
1367 |
msgstr[1] ""
|
1368 |
|
1369 |
-
#: ../cerber-load.php:
|
1370 |
msgid ""
|
1371 |
"Human verification failed. Please click the square box in the reCAPTCHA "
|
1372 |
"block below."
|
1373 |
msgstr ""
|
1374 |
|
1375 |
-
#: ../cerber-load.php:
|
1376 |
msgid ""
|
1377 |
"> > > Translator of WP Cerber? To get the PRO license for free, drop your "
|
1378 |
"contacts here: https://wpcerber.com/contact/"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: ../cerber-load.php:
|
1382 |
#, php-format
|
1383 |
msgid ""
|
1384 |
"<strong>ERROR</strong>: The password you entered for the username %s is "
|
1385 |
"incorrect."
|
1386 |
msgstr ""
|
1387 |
|
1388 |
-
#: ../cerber-load.php:
|
1389 |
-
#: /cerber-load.php:
|
1390 |
msgid "You are not allowed to register."
|
1391 |
msgstr ""
|
1392 |
|
1393 |
-
#: ../cerber-load.php:
|
1394 |
msgid "Username is not allowed. Please choose another one."
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: ../cerber-load.php:
|
1398 |
msgid "Email address is not permitted."
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: ../cerber-load.php:
|
1402 |
msgid "Please choose another one."
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
#: ../cerber-load.php:
|
1406 |
msgid "Sorry, human verification failed."
|
1407 |
msgstr ""
|
1408 |
|
1409 |
-
#: ../cerber-load.php:
|
1410 |
msgid "We're sorry, you are not allowed to proceed"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
-
#: ../cerber-load.php:
|
1414 |
msgid "WP Cerber notify"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
-
#: ../cerber-load.php:
|
1418 |
msgid "Citadel mode is activated"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
-
#: ../cerber-load.php:
|
1422 |
#, php-format
|
1423 |
msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
|
1424 |
msgstr ""
|
1425 |
|
1426 |
-
#: ../cerber-load.php:
|
1427 |
#, php-format
|
1428 |
msgid "Last failed attempt was at %s from IP %s with user login: %s."
|
1429 |
msgstr ""
|
1430 |
|
1431 |
-
#: ../cerber-load.php:
|
1432 |
msgid "View activity in dashboard"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#: ../cerber-load.php:
|
1436 |
msgid "unspecified"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#: ../cerber-load.php:
|
1440 |
msgid "Number of lockouts is increasing"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#: ../cerber-load.php:
|
1444 |
msgid "Number of active lockouts"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#: ../cerber-load.php:
|
1448 |
#, php-format
|
1449 |
msgid "Last lockout was added: %s for IP %s"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
-
#: ../cerber-load.php:
|
1453 |
msgid "View activity for this IP"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#: ../cerber-load.php:
|
1457 |
msgid "View lockouts in dashboard"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
-
#: ../cerber-load.php:
|
1461 |
msgid "A new version of WP Cerber is available to install"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
-
#: ../cerber-load.php:
|
1465 |
msgid "Hi!"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
-
#: ../cerber-load.php:
|
1469 |
#: 44
|
1470 |
msgid "Website"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
-
#: ../cerber-load.php:
|
1474 |
msgid "The WP Cerber security plugin has been deactivated"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
-
#: ../cerber-load.php:
|
1478 |
msgid "Not logged in"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
-
#: ../cerber-load.php:
|
1482 |
msgid "By user"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: ../cerber-load.php:
|
1486 |
msgid "From IP address"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: ../cerber-load.php:
|
1490 |
msgid "From country"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: ../cerber-load.php:
|
1494 |
msgid "The WP Cerber security plugin is now active"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
-
#: ../cerber-load.php:
|
1498 |
msgid "WP Cerber is now active and has started protecting your site"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: ../cerber-load.php:
|
|
|
|
|
|
|
|
|
1502 |
msgid "New Custom login URL"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
-
#: ../cerber-load.php:
|
1506 |
msgid "A new activity has been recorded"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
-
#: ../cerber-load.php:
|
1510 |
msgid "Weekly report"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: ../cerber-load.php:
|
1514 |
msgid "To change reporting settings visit"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
-
#: ../cerber-load.php:
|
1518 |
msgid "Scanner Report"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
-
#: ../cerber-load.php:
|
1522 |
msgid "Your login page:"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
-
#: ../cerber-load.php:
|
1526 |
msgid "Your license is valid until"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
-
#: ../cerber-load.php:
|
1530 |
msgid "This message was sent by"
|
1531 |
msgstr ""
|
1532 |
|
1533 |
-
#: ../cerber-load.php:
|
1534 |
#, php-format
|
1535 |
msgid "Your last sign-in was %s from %s"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: ../cerber-load.php:
|
1539 |
msgid "Weekly Report"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: ../cerber-load.php:
|
1543 |
msgid "Activity details"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#: ../cerber-load.php:
|
1547 |
msgid "Attempts to log in with non-existing usernames"
|
1548 |
msgstr ""
|
1549 |
|
1550 |
-
#: ../cerber-load.php:
|
|
|
|
|
|
|
|
|
1551 |
msgid "User"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#: ../cerber-load.php:
|
1555 |
msgid "Username used"
|
1556 |
msgstr ""
|
1557 |
|
1558 |
-
#: ../cerber-load.php:
|
1559 |
msgid "Search string"
|
1560 |
msgstr ""
|
1561 |
|
1562 |
-
#: ../cerber-load.php:
|
1563 |
msgid "To delete the alert, click here"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
-
#: ../cerber-load.php:
|
1567 |
#, php-format
|
1568 |
msgid "The WP Cerber requires PHP %s or higher. You are running"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
-
#: ../cerber-load.php:
|
1572 |
#, php-format
|
1573 |
msgid "The WP Cerber requires WordPress %s or higher. You are running"
|
1574 |
msgstr ""
|
1575 |
|
1576 |
-
#: ../cerber-load.php:
|
1577 |
msgid "Can't activate WP Cerber due to a database error."
|
1578 |
msgstr ""
|
1579 |
|
1580 |
-
#: ../cerber-load.php:
|
1581 |
msgid "Your IP address is added to the"
|
1582 |
msgstr ""
|
1583 |
|
1584 |
-
#: ../cerber-load.php:
|
1585 |
msgid "Import settings"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
-
#: ../cerber-load.php:
|
1589 |
msgid "Enable slave mode"
|
1590 |
msgstr ""
|
1591 |
|
@@ -1615,7 +1889,7 @@ msgctxt "e.g. blocked by John at 11:00"
|
|
1615 |
msgid "blocked by %s at %s"
|
1616 |
msgstr ""
|
1617 |
|
1618 |
-
#: ../cerber-users.php:68 ../settings.php:
|
1619 |
msgid "User Message"
|
1620 |
msgstr ""
|
1621 |
|
@@ -1667,7 +1941,7 @@ msgstr ""
|
|
1667 |
msgid "Redirect user after logout"
|
1668 |
msgstr ""
|
1669 |
|
1670 |
-
#: ../cerber-users.php:432 ../settings.php:
|
1671 |
msgid "User session expiration time"
|
1672 |
msgstr ""
|
1673 |
|
@@ -1719,1177 +1993,1193 @@ msgstr ""
|
|
1719 |
msgid "number of logins"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
-
#: ../cerber-users.php:
|
1723 |
msgid "Policies have been updated"
|
1724 |
msgstr ""
|
1725 |
|
1726 |
-
#: ../cerber-users.php:
|
1727 |
#, php-format
|
1728 |
msgid "Session has been terminated"
|
1729 |
msgid_plural "%s sessions have been terminated"
|
1730 |
msgstr[0] ""
|
1731 |
msgstr[1] ""
|
1732 |
|
1733 |
-
#: ../cerber-users.php:
|
1734 |
msgid "WP Cerber Personal Data Eraser"
|
1735 |
msgstr ""
|
1736 |
|
1737 |
-
#: ../cerber-users.php:
|
1738 |
msgid "Created"
|
1739 |
msgstr ""
|
1740 |
|
1741 |
-
#: ../cerber-users.php:
|
1742 |
msgid "Terminate session"
|
1743 |
msgstr ""
|
1744 |
|
1745 |
-
#: ../cerber-users.php:
|
1746 |
msgid "Block user"
|
1747 |
msgstr ""
|
1748 |
|
1749 |
-
#: ../cerber-users.php:
|
1750 |
msgid "Search results for:"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
-
#: ../cerber-users.php:
|
1754 |
msgid "Profile"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
-
#: ../cerber-users.php:
|
1758 |
msgid "All Logins"
|
1759 |
msgstr ""
|
1760 |
|
1761 |
-
#: ../cerber-users.php:
|
1762 |
msgid "User Activity"
|
1763 |
msgstr ""
|
1764 |
|
1765 |
-
#: ../cerber-users.php:
|
1766 |
msgid "Terminate"
|
1767 |
msgstr ""
|
1768 |
|
1769 |
-
#: ../settings.php:
|
1770 |
msgid "All connected devices"
|
1771 |
msgstr ""
|
1772 |
|
1773 |
-
#: ../settings.php:
|
1774 |
msgid "No devices found"
|
1775 |
msgstr ""
|
1776 |
|
1777 |
-
#: ../settings.php:
|
1778 |
msgid "Not available"
|
1779 |
msgstr ""
|
1780 |
|
1781 |
-
#: ../settings.php:
|
1782 |
msgid ""
|
1783 |
"Please enable Permalinks to use this feature. Set Permalink Settings to "
|
1784 |
"something other than Default."
|
1785 |
msgstr ""
|
1786 |
|
1787 |
-
#: ../settings.php:
|
1788 |
msgid "Be careful about enabling these options."
|
1789 |
msgstr ""
|
1790 |
|
1791 |
-
#: ../settings.php:
|
1792 |
msgid "If you forget your Custom login URL, you will be unable to log in."
|
1793 |
msgstr ""
|
1794 |
|
1795 |
-
#: ../settings.php:
|
1796 |
msgid "These restrictions do not apply to IP addresses in the White IP Access List"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
-
#: ../settings.php:
|
1800 |
msgid "Plugin initialization"
|
1801 |
msgstr ""
|
1802 |
|
1803 |
-
#: ../settings.php:
|
1804 |
msgid "Load security engine"
|
1805 |
msgstr ""
|
1806 |
|
1807 |
-
#: ../settings.php:
|
1808 |
msgid "Legacy mode"
|
1809 |
msgstr ""
|
1810 |
|
1811 |
-
#: ../settings.php:
|
1812 |
msgid "Standard mode"
|
1813 |
msgstr ""
|
1814 |
|
1815 |
-
#: ../settings.php:
|
1816 |
msgid "Limit login attempts"
|
1817 |
msgstr ""
|
1818 |
|
1819 |
-
#: ../settings.php:
|
1820 |
msgid "Limit"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
-
#: ../settings.php:
|
1824 |
msgid "Lockout duration"
|
1825 |
msgstr ""
|
1826 |
|
1827 |
-
#: ../settings.php:
|
1828 |
msgid "minutes"
|
1829 |
msgstr ""
|
1830 |
|
1831 |
-
#: ../settings.php:
|
1832 |
msgid "Aggressive lockout"
|
1833 |
msgstr ""
|
1834 |
|
1835 |
-
#: ../settings.php:
|
1836 |
msgid "Use White IP Access List"
|
1837 |
msgstr ""
|
1838 |
|
1839 |
-
#: ../settings.php:
|
1840 |
msgid "Apply limit login rules to IP addresses in the White IP Access List"
|
1841 |
msgstr ""
|
1842 |
|
1843 |
-
#: ../settings.php:
|
1844 |
msgid "Proactive security rules"
|
1845 |
msgstr ""
|
1846 |
|
1847 |
-
#: ../settings.php:
|
1848 |
msgid "Make your protection smarter!"
|
1849 |
msgstr ""
|
1850 |
|
1851 |
-
#: ../settings.php:
|
1852 |
msgid "Block subnet"
|
1853 |
msgstr ""
|
1854 |
|
1855 |
-
#: ../settings.php:
|
1856 |
msgid "Always block entire subnet Class C of intruders IP"
|
1857 |
msgstr ""
|
1858 |
|
1859 |
-
#: ../settings.php:
|
1860 |
msgid "Non-existing users"
|
1861 |
msgstr ""
|
1862 |
|
1863 |
-
#: ../settings.php:
|
1864 |
msgid "Immediately block IP when attempting to log in with a non-existing username"
|
1865 |
msgstr ""
|
1866 |
|
1867 |
-
#: ../settings.php:
|
1868 |
msgid "Disable dashboard redirection"
|
1869 |
msgstr ""
|
1870 |
|
1871 |
-
#: ../settings.php:
|
1872 |
msgid ""
|
1873 |
"Disable automatic redirection to the login page when /wp-admin/ is requested "
|
1874 |
"by an unauthorized request"
|
1875 |
msgstr ""
|
1876 |
|
1877 |
-
#: ../settings.php:
|
1878 |
msgid "Request wp-login.php"
|
1879 |
msgstr ""
|
1880 |
|
1881 |
-
#: ../settings.php:
|
1882 |
msgid "Immediately block IP after any request to wp-login.php"
|
1883 |
msgstr ""
|
1884 |
|
1885 |
-
#: ../settings.php:
|
1886 |
msgid "Display 404 page"
|
1887 |
msgstr ""
|
1888 |
|
1889 |
-
#: ../settings.php:
|
1890 |
msgid "Use 404 template from the active theme"
|
1891 |
msgstr ""
|
1892 |
|
1893 |
-
#: ../settings.php:
|
1894 |
msgid "Display simple 404 page"
|
1895 |
msgstr ""
|
1896 |
|
1897 |
-
#: ../settings.php:
|
1898 |
msgid "Custom login page"
|
1899 |
msgstr ""
|
1900 |
|
1901 |
-
#: ../settings.php:
|
1902 |
msgid "Custom login URL"
|
1903 |
msgstr ""
|
1904 |
|
1905 |
-
#: ../settings.php:
|
1906 |
msgid "must not overlap with the existing pages or posts slug"
|
1907 |
msgstr ""
|
1908 |
|
1909 |
-
#: ../settings.php:
|
1910 |
msgid ""
|
1911 |
"Custom login URL may contain Latin alphanumeric characters, dashes and "
|
1912 |
"underscores only"
|
1913 |
msgstr ""
|
1914 |
|
1915 |
-
#: ../settings.php:
|
1916 |
msgid "Disable wp-login.php"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
-
#: ../settings.php:
|
1920 |
msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
|
1921 |
msgstr ""
|
1922 |
|
1923 |
-
#: ../settings.php:
|
1924 |
msgid "Site-specific settings"
|
1925 |
msgstr ""
|
1926 |
|
1927 |
-
#: ../settings.php:
|
1928 |
msgid "Site connection"
|
1929 |
msgstr ""
|
1930 |
|
1931 |
-
#: ../settings.php:
|
1932 |
msgid "Prefix for plugin cookies"
|
1933 |
msgstr ""
|
1934 |
|
1935 |
-
#: ../settings.php:
|
1936 |
msgid "Prefix may contain only Latin alphanumeric characters and underscores"
|
1937 |
msgstr ""
|
1938 |
|
1939 |
-
#: ../settings.php:
|
1940 |
msgid ""
|
1941 |
"In the Citadel mode nobody is able to log in except IPs from the White IP "
|
1942 |
"Access List. Active user sessions will not be affected."
|
1943 |
msgstr ""
|
1944 |
|
1945 |
-
#: ../settings.php:
|
1946 |
msgid "Enable authentication log monitoring"
|
1947 |
msgstr ""
|
1948 |
|
1949 |
-
#: ../settings.php:
|
1950 |
msgid "Threshold"
|
1951 |
msgstr ""
|
1952 |
|
1953 |
-
#: ../settings.php:
|
1954 |
-
msgid "Duration"
|
1955 |
-
msgstr ""
|
1956 |
-
|
1957 |
-
#: ../settings.php:256
|
1958 |
msgid "Send notification to admin email"
|
1959 |
msgstr ""
|
1960 |
|
1961 |
-
#: ../settings.php:
|
1962 |
msgid "Keep log records of not logged in visitors for"
|
1963 |
msgstr ""
|
1964 |
|
1965 |
-
#: ../settings.php:
|
1966 |
-
#:
|
1967 |
msgid "days"
|
1968 |
msgstr ""
|
1969 |
|
1970 |
-
#: ../settings.php:
|
1971 |
msgid "Keep log records of logged in users for"
|
1972 |
msgstr ""
|
1973 |
|
1974 |
-
#: ../settings.php:
|
1975 |
msgid "Cerber Lab connection"
|
1976 |
msgstr ""
|
1977 |
|
1978 |
-
#: ../settings.php:
|
1979 |
msgid "Send malicious IP addresses to the Cerber Lab"
|
1980 |
msgstr ""
|
1981 |
|
1982 |
-
#: ../settings.php:
|
1983 |
msgid "Cerber Lab protocol"
|
1984 |
msgstr ""
|
1985 |
|
1986 |
-
#: ../settings.php:
|
1987 |
msgid "Use file"
|
1988 |
msgstr ""
|
1989 |
|
1990 |
-
#: ../settings.php:
|
1991 |
msgid "Write failed login attempts to the file"
|
1992 |
msgstr ""
|
1993 |
|
1994 |
-
#: ../settings.php:
|
1995 |
msgid "Preferences"
|
1996 |
msgstr ""
|
1997 |
|
1998 |
-
#: ../settings.php:
|
1999 |
msgid "Drill down IP"
|
2000 |
msgstr ""
|
2001 |
|
2002 |
-
#: ../settings.php:
|
2003 |
-
msgid "Retrieve extra WHOIS information for IP"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2004 |
msgstr ""
|
2005 |
|
2006 |
-
#: ../settings.php:
|
2007 |
-
msgid "
|
2008 |
msgstr ""
|
2009 |
|
2010 |
-
#: ../settings.php:
|
2011 |
-
|
2012 |
-
msgid "if empty, the default format %s will be used"
|
2013 |
msgstr ""
|
2014 |
|
2015 |
-
#: ../settings.php:
|
2016 |
-
msgid "
|
2017 |
msgstr ""
|
2018 |
|
2019 |
-
#: ../settings.php:
|
2020 |
msgid "Hardening WordPress"
|
2021 |
msgstr ""
|
2022 |
|
2023 |
-
#: ../settings.php:
|
2024 |
msgid "Stop user enumeration"
|
2025 |
msgstr ""
|
2026 |
|
2027 |
-
#: ../settings.php:
|
2028 |
msgid "Block access to user pages like /?author=n"
|
2029 |
msgstr ""
|
2030 |
|
2031 |
-
#: ../settings.php:
|
2032 |
msgid "Protect admin scripts"
|
2033 |
msgstr ""
|
2034 |
|
2035 |
-
#: ../settings.php:
|
2036 |
msgid "Block unauthorized access to load-scripts.php and load-styles.php"
|
2037 |
msgstr ""
|
2038 |
|
2039 |
-
#: ../settings.php:
|
2040 |
msgid "Disable PHP in uploads"
|
2041 |
msgstr ""
|
2042 |
|
2043 |
-
#: ../settings.php:
|
2044 |
msgid "Block execution of PHP scripts in the WordPress media folder"
|
2045 |
msgstr ""
|
2046 |
|
2047 |
-
#: ../settings.php:
|
2048 |
msgid "Disable PHP error displaying"
|
2049 |
msgstr ""
|
2050 |
|
2051 |
-
#: ../settings.php:
|
2052 |
msgid "Disable XML-RPC"
|
2053 |
msgstr ""
|
2054 |
|
2055 |
-
#: ../settings.php:
|
2056 |
msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
|
2057 |
msgstr ""
|
2058 |
|
2059 |
-
#: ../settings.php:
|
2060 |
msgid "Disable feeds"
|
2061 |
msgstr ""
|
2062 |
|
2063 |
-
#: ../settings.php:
|
2064 |
msgid "Block access to the RSS, Atom and RDF feeds"
|
2065 |
msgstr ""
|
2066 |
|
2067 |
-
#: ../settings.php:
|
2068 |
msgid "Access to WordPress REST API"
|
2069 |
msgstr ""
|
2070 |
|
2071 |
-
#: ../settings.php:
|
2072 |
msgid ""
|
2073 |
"Restrict or completely block access to the WordPress REST API according to "
|
2074 |
"your needs"
|
2075 |
msgstr ""
|
2076 |
|
2077 |
-
#: ../settings.php:
|
2078 |
msgid "Block access to users' data via REST API"
|
2079 |
msgstr ""
|
2080 |
|
2081 |
-
#: ../settings.php:
|
2082 |
msgid "Disable REST API"
|
2083 |
msgstr ""
|
2084 |
|
2085 |
-
#: ../settings.php:
|
2086 |
msgid "Block access to WordPress REST API except any of the following"
|
2087 |
msgstr ""
|
2088 |
|
2089 |
-
#: ../settings.php:
|
2090 |
msgid "Allow REST API for logged in users"
|
2091 |
msgstr ""
|
2092 |
|
2093 |
-
#: ../settings.php:
|
2094 |
msgid "Allow REST API for these roles"
|
2095 |
msgstr ""
|
2096 |
|
2097 |
-
#: ../settings.php:
|
2098 |
msgid "Allow these namespaces"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
-
#: ../settings.php:
|
2102 |
msgid ""
|
2103 |
"Specify REST API namespaces to be allowed if REST API is disabled. One "
|
2104 |
"string per line."
|
2105 |
msgstr ""
|
2106 |
|
2107 |
-
#: ../settings.php:
|
2108 |
msgid "Protect user accounts"
|
2109 |
msgstr ""
|
2110 |
|
2111 |
-
#: ../settings.php:
|
2112 |
msgid ""
|
2113 |
"Restrict user account creation and user management with the following "
|
2114 |
"policies"
|
2115 |
msgstr ""
|
2116 |
|
2117 |
-
#: ../settings.php:
|
2118 |
msgid "User registrations are limited to these roles"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
-
#: ../settings.php:
|
2122 |
msgid "Users with these roles are permitted to create new accounts"
|
2123 |
msgstr ""
|
2124 |
|
2125 |
-
#: ../settings.php:
|
2126 |
msgid "Users with these roles are permitted to change sensitive user data"
|
2127 |
msgstr ""
|
2128 |
|
2129 |
-
#: ../settings.php:
|
2130 |
msgid "Do not apply these policies to the IP addresses in the White IP Access List"
|
2131 |
msgstr ""
|
2132 |
|
2133 |
-
#: ../settings.php:
|
2134 |
msgid "Protect user roles"
|
2135 |
msgstr ""
|
2136 |
|
2137 |
-
#: ../settings.php:
|
2138 |
msgid "Restrict roles and capabilities management with the following policies"
|
2139 |
msgstr ""
|
2140 |
|
2141 |
-
#: ../settings.php:
|
2142 |
msgid "Users with these roles are permitted to add new roles"
|
2143 |
msgstr ""
|
2144 |
|
2145 |
-
#: ../settings.php:
|
2146 |
msgid "Users with these roles are permitted to change role capabilities"
|
2147 |
msgstr ""
|
2148 |
|
2149 |
-
#: ../settings.php:
|
2150 |
msgid "Protect site settings"
|
2151 |
msgstr ""
|
2152 |
|
2153 |
-
#: ../settings.php:
|
2154 |
msgid "Restrict updating site settings with the following policies"
|
2155 |
msgstr ""
|
2156 |
|
2157 |
-
#: ../settings.php:
|
2158 |
msgid "Users with these roles are permitted to change protected settings"
|
2159 |
msgstr ""
|
2160 |
|
2161 |
-
#: ../settings.php:
|
2162 |
msgid "Protected settings"
|
2163 |
msgstr ""
|
2164 |
|
2165 |
-
#: ../settings.php:
|
2166 |
msgid "Authorized users only"
|
2167 |
msgstr ""
|
2168 |
|
2169 |
-
#: ../settings.php:
|
2170 |
msgid "Only registered and logged in website users have access to the website"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
-
#: ../settings.php:
|
2174 |
msgid "Do not apply these policy to the IP addresses in the White IP Access List"
|
2175 |
msgstr ""
|
2176 |
|
2177 |
-
#: ../settings.php:
|
2178 |
msgid "Only registered and logged in users are allowed to view this website"
|
2179 |
msgstr ""
|
2180 |
|
2181 |
-
#: ../settings.php:
|
2182 |
msgid "Redirect to URL"
|
2183 |
msgstr ""
|
2184 |
|
2185 |
-
#: ../settings.php:
|
2186 |
msgid "Registration limit"
|
2187 |
msgstr ""
|
2188 |
|
2189 |
-
#: ../settings.php:
|
2190 |
msgid "Restrict email addresses"
|
2191 |
msgstr ""
|
2192 |
|
2193 |
-
#: ../settings.php:
|
2194 |
msgid "No restrictions"
|
2195 |
msgstr ""
|
2196 |
|
2197 |
-
#: ../settings.php:
|
2198 |
msgid "Deny all email addresses that match the following"
|
2199 |
msgstr ""
|
2200 |
|
2201 |
-
#: ../settings.php:
|
2202 |
msgid "Permit only email addresses that match the following"
|
2203 |
msgstr ""
|
2204 |
|
2205 |
-
#: ../settings.php:
|
2206 |
msgid ""
|
2207 |
"Specify email addresses, wildcards or REGEX patterns. Use comma to separate "
|
2208 |
"items."
|
2209 |
msgstr ""
|
2210 |
|
2211 |
-
#: ../settings.php:
|
2212 |
msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
|
2213 |
msgstr ""
|
2214 |
|
2215 |
-
#: ../settings.php:
|
2216 |
msgid "Prohibited usernames"
|
2217 |
msgstr ""
|
2218 |
|
2219 |
-
#: ../settings.php:
|
2220 |
msgid ""
|
2221 |
"Usernames from this list are not allowed to log in or register. Any IP "
|
2222 |
"address, have tried to use any of these usernames, will be immediately "
|
2223 |
"blocked. Use comma to separate logins."
|
2224 |
msgstr ""
|
2225 |
|
2226 |
-
#: ../settings.php:
|
2227 |
msgid "minutes (leave empty to use the default WordPress value)"
|
2228 |
msgstr ""
|
2229 |
|
2230 |
-
#: ../settings.php:
|
2231 |
msgid "Sort users in dashboard"
|
2232 |
msgstr ""
|
2233 |
|
2234 |
-
#: ../settings.php:
|
2235 |
msgid "by date of registration"
|
2236 |
msgstr ""
|
2237 |
|
2238 |
-
#: ../settings.php:
|
2239 |
msgid "Personal Data"
|
2240 |
msgstr ""
|
2241 |
|
2242 |
-
#: ../settings.php:
|
2243 |
msgid ""
|
2244 |
"These features help your organization to be in compliance with personal data "
|
2245 |
"protection laws"
|
2246 |
msgstr ""
|
2247 |
|
2248 |
-
#: ../settings.php:
|
2249 |
msgid "Enable data erase"
|
2250 |
msgstr ""
|
2251 |
|
2252 |
-
#: ../settings.php:
|
2253 |
msgid "Terminate user sessions"
|
2254 |
msgstr ""
|
2255 |
|
2256 |
-
#: ../settings.php:
|
2257 |
msgid "Delete user sessions data when user data is erased"
|
2258 |
msgstr ""
|
2259 |
|
2260 |
-
#: ../settings.php:
|
2261 |
msgid "Enable data export"
|
2262 |
msgstr ""
|
2263 |
|
2264 |
-
#: ../settings.php:
|
2265 |
msgid "Include activity log events"
|
2266 |
msgstr ""
|
2267 |
|
2268 |
-
#: ../settings.php:
|
2269 |
msgid "Include traffic log entries"
|
2270 |
msgstr ""
|
2271 |
|
2272 |
-
#: ../settings.php:
|
2273 |
msgid "Request URL"
|
2274 |
msgstr ""
|
2275 |
|
2276 |
-
#: ../settings.php:
|
2277 |
msgid "Form fields data"
|
2278 |
msgstr ""
|
2279 |
|
2280 |
-
#: ../settings.php:
|
2281 |
msgid "Cookies"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
-
#: ../settings.php:
|
2285 |
msgid "Email notifications"
|
2286 |
msgstr ""
|
2287 |
|
2288 |
-
#: ../settings.php:
|
2289 |
msgid "Lockout notifications"
|
2290 |
msgstr ""
|
2291 |
|
2292 |
-
#: ../settings.php:
|
2293 |
msgid "Email Address"
|
2294 |
msgstr ""
|
2295 |
|
2296 |
-
#: ../settings.php:
|
2297 |
msgid "Use comma to specify multiple values"
|
2298 |
msgstr ""
|
2299 |
|
2300 |
-
#: ../settings.php:
|
2301 |
#, php-format
|
2302 |
msgid "if empty, the website administrator email %s will be used"
|
2303 |
msgstr ""
|
2304 |
|
2305 |
-
#: ../settings.php:
|
2306 |
msgid "Notification limit"
|
2307 |
msgstr ""
|
2308 |
|
2309 |
-
#: ../settings.php:
|
2310 |
msgid "notifications are allowed per hour (0 means unlimited)"
|
2311 |
msgstr ""
|
2312 |
|
2313 |
-
#: ../settings.php:
|
2314 |
msgid "New version is available"
|
2315 |
msgstr ""
|
2316 |
|
2317 |
-
#: ../settings.php:
|
2318 |
msgid "Push notifications"
|
2319 |
msgstr ""
|
2320 |
|
2321 |
-
#: ../settings.php:
|
2322 |
msgid "Get notified instantly with mobile and desktop notifications"
|
2323 |
msgstr ""
|
2324 |
|
2325 |
-
#: ../settings.php:
|
2326 |
msgid "Pushbullet access token"
|
2327 |
msgstr ""
|
2328 |
|
2329 |
-
#: ../settings.php:
|
2330 |
msgid "Pushbullet device"
|
2331 |
msgstr ""
|
2332 |
|
2333 |
-
#: ../settings.php:
|
2334 |
msgid "Weekly reports"
|
2335 |
msgstr ""
|
2336 |
|
2337 |
-
#: ../settings.php:
|
2338 |
msgid ""
|
2339 |
"Weekly report is a summary of all activities and suspicious events occurred "
|
2340 |
"during the last seven days"
|
2341 |
msgstr ""
|
2342 |
|
2343 |
-
#: ../settings.php:
|
2344 |
msgid "Enable reporting"
|
2345 |
msgstr ""
|
2346 |
|
2347 |
-
#: ../settings.php:
|
2348 |
msgid "Send reports on"
|
2349 |
msgstr ""
|
2350 |
|
2351 |
-
#: ../settings.php:
|
2352 |
msgid "if empty, the email addresses from the notification settings will be used"
|
2353 |
msgstr ""
|
2354 |
|
2355 |
-
#: ../settings.php:
|
2356 |
msgid "Traffic Inspection"
|
2357 |
msgstr ""
|
2358 |
|
2359 |
-
#: ../settings.php:
|
2360 |
msgid ""
|
2361 |
"Traffic Inspector is a context-aware web application firewall (WAF) that "
|
2362 |
"protects your website by recognizing and denying malicious HTTP requests"
|
2363 |
msgstr ""
|
2364 |
|
2365 |
-
#: ../settings.php:
|
2366 |
msgid "Enable traffic inspection"
|
2367 |
msgstr ""
|
2368 |
|
2369 |
-
#: ../settings.php:
|
2370 |
msgid "Maximum compatibility"
|
2371 |
msgstr ""
|
2372 |
|
2373 |
-
#: ../settings.php:
|
2374 |
msgid "Maximum security"
|
2375 |
msgstr ""
|
2376 |
|
2377 |
-
#: ../settings.php:
|
2378 |
msgid "Request whitelist"
|
2379 |
msgstr ""
|
2380 |
|
2381 |
-
#: ../settings.php:
|
2382 |
msgid ""
|
2383 |
"Enter a request URI to exclude the request from inspection. One item per "
|
2384 |
"line."
|
2385 |
msgstr ""
|
2386 |
|
2387 |
-
#: ../settings.php:
|
2388 |
msgid "To specify a REGEX pattern, enclose a whole line in two braces."
|
2389 |
msgstr ""
|
2390 |
|
2391 |
-
#: ../settings.php:
|
2392 |
msgid "Erroneous Request Shielding"
|
2393 |
msgstr ""
|
2394 |
|
2395 |
-
#: ../settings.php:
|
2396 |
msgid ""
|
2397 |
"Block IP addresses that send excessive requests for non-existing pages or "
|
2398 |
"scan website for security breaches"
|
2399 |
msgstr ""
|
2400 |
|
2401 |
-
#: ../settings.php:
|
2402 |
msgid "Enable error shielding"
|
2403 |
msgstr ""
|
2404 |
|
2405 |
-
#: ../settings.php:
|
2406 |
msgid "Ignore logged in users"
|
2407 |
msgstr ""
|
2408 |
|
2409 |
-
#: ../settings.php:
|
2410 |
msgid "Traffic Logging"
|
2411 |
msgstr ""
|
2412 |
|
2413 |
-
#: ../settings.php:
|
2414 |
msgid ""
|
2415 |
"Enable optional traffic logging if you need to monitor suspicious and "
|
2416 |
"malicious activity or solve security issues"
|
2417 |
msgstr ""
|
2418 |
|
2419 |
-
#: ../settings.php:
|
2420 |
msgid "Logging mode"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
-
#: ../settings.php:
|
2424 |
msgid "Logging disabled"
|
2425 |
msgstr ""
|
2426 |
|
2427 |
-
#: ../settings.php:
|
2428 |
msgid "Smart"
|
2429 |
msgstr ""
|
2430 |
|
2431 |
-
#: ../settings.php:
|
2432 |
msgid "All traffic"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
-
#: ../settings.php:
|
2436 |
msgid "Ignore crawlers"
|
2437 |
msgstr ""
|
2438 |
|
2439 |
-
#: ../settings.php:
|
2440 |
msgid "Save request fields"
|
2441 |
msgstr ""
|
2442 |
|
2443 |
-
#: ../settings.php:
|
2444 |
msgid "Mask these form fields"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
-
#: ../settings.php:
|
2448 |
msgid "Save request headers"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
-
#: ../settings.php:
|
2452 |
msgid "Save $_SERVER"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
-
#: ../settings.php:
|
2456 |
msgid "Save request cookies"
|
2457 |
msgstr ""
|
2458 |
|
2459 |
-
#: ../settings.php:
|
2460 |
msgid "Save software errors"
|
2461 |
msgstr ""
|
2462 |
|
2463 |
-
#: ../settings.php:
|
2464 |
msgid "Page generation time threshold"
|
2465 |
msgstr ""
|
2466 |
|
2467 |
-
#: ../settings.php:
|
2468 |
msgid "milliseconds"
|
2469 |
msgstr ""
|
2470 |
|
2471 |
-
#: ../settings.php:
|
2472 |
msgid "Scanner settings"
|
2473 |
msgstr ""
|
2474 |
|
2475 |
-
#: ../settings.php:
|
2476 |
msgid ""
|
2477 |
"The scanner monitors file changes, verifies the integrity of WordPress, "
|
2478 |
"plugins, and themes, and detects malware"
|
2479 |
msgstr ""
|
2480 |
|
2481 |
-
#: ../settings.php:
|
2482 |
msgid "Custom signatures"
|
2483 |
msgstr ""
|
2484 |
|
2485 |
-
#: ../settings.php:
|
2486 |
msgid ""
|
2487 |
"Specify custom PHP code signatures. One item per line. To specify a REGEX "
|
2488 |
"pattern, enclose a whole line in two braces."
|
2489 |
msgstr ""
|
2490 |
|
2491 |
-
#: ../settings.php:
|
2492 |
msgid "Unwanted file extensions"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
-
#: ../settings.php:
|
2496 |
msgid ""
|
2497 |
"Specify file extensions to search for. Full scan only. Use comma to separate "
|
2498 |
"items."
|
2499 |
msgstr ""
|
2500 |
|
2501 |
-
#: ../settings.php:
|
2502 |
msgid "Directories to exclude"
|
2503 |
msgstr ""
|
2504 |
|
2505 |
-
#: ../settings.php:
|
2506 |
msgid "Specify directories to exclude from scanning. One directory per line."
|
2507 |
msgstr ""
|
2508 |
|
2509 |
-
#: ../settings.php:
|
2510 |
msgid "Monitor new files"
|
2511 |
msgstr ""
|
2512 |
|
2513 |
-
#: ../settings.php:
|
2514 |
msgid "Executable files"
|
2515 |
msgstr ""
|
2516 |
|
2517 |
-
#: ../settings.php:
|
2518 |
msgid "All files"
|
2519 |
msgstr ""
|
2520 |
|
2521 |
-
#: ../settings.php:
|
2522 |
msgid "Monitor modified files"
|
2523 |
msgstr ""
|
2524 |
|
2525 |
-
#: ../settings.php:
|
2526 |
msgid "Change file permissions when necessary"
|
2527 |
msgstr ""
|
2528 |
|
2529 |
-
#: ../settings.php:
|
2530 |
msgid "Scan temporary directory"
|
2531 |
msgstr ""
|
2532 |
|
2533 |
-
#: ../settings.php:
|
2534 |
msgid "Scan session directory"
|
2535 |
msgstr ""
|
2536 |
|
2537 |
-
#: ../settings.php:
|
2538 |
msgid "Enable diagnostic logging"
|
2539 |
msgstr ""
|
2540 |
|
2541 |
-
#: ../settings.php:
|
2542 |
msgid "Delete quarantined files after"
|
2543 |
msgstr ""
|
2544 |
|
2545 |
-
#: ../settings.php:
|
2546 |
msgid "Automated recurring scan schedule"
|
2547 |
msgstr ""
|
2548 |
|
2549 |
-
#: ../settings.php:
|
2550 |
msgid ""
|
2551 |
"The scanner automatically scans the website, removes malware and sends email "
|
2552 |
"reports with the results of a scan"
|
2553 |
msgstr ""
|
2554 |
|
2555 |
-
#: ../settings.php:
|
2556 |
msgid "Launch Quick Scan"
|
2557 |
msgstr ""
|
2558 |
|
2559 |
-
#: ../settings.php:
|
2560 |
msgid "Launch Full Scan"
|
2561 |
msgstr ""
|
2562 |
|
2563 |
-
#: ../settings.php:
|
2564 |
msgid "Scan results reporting"
|
2565 |
msgstr ""
|
2566 |
|
2567 |
-
#: ../settings.php:
|
2568 |
msgid ""
|
2569 |
"Configure what issues to include in the email report and the condition for "
|
2570 |
"sending reports"
|
2571 |
msgstr ""
|
2572 |
|
2573 |
-
#: ../settings.php:
|
2574 |
msgid "Report an issue if any of the following is true"
|
2575 |
msgstr ""
|
2576 |
|
2577 |
-
#: ../settings.php:
|
2578 |
msgid "Low severity"
|
2579 |
msgstr ""
|
2580 |
|
2581 |
-
#: ../settings.php:
|
2582 |
msgid "Medium severity"
|
2583 |
msgstr ""
|
2584 |
|
2585 |
-
#: ../settings.php:
|
2586 |
msgid "High severity"
|
2587 |
msgstr ""
|
2588 |
|
2589 |
-
#: ../settings.php:
|
2590 |
msgid "Send email report"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
-
#: ../settings.php:
|
2594 |
msgid "After every scan"
|
2595 |
msgstr ""
|
2596 |
|
2597 |
-
#: ../settings.php:
|
2598 |
msgid "If any changes in scan results occurred"
|
2599 |
msgstr ""
|
2600 |
|
2601 |
-
#: ../settings.php:
|
2602 |
msgid "If new issues found"
|
2603 |
msgstr ""
|
2604 |
|
2605 |
-
#: ../settings.php:
|
2606 |
msgid "Include file sizes"
|
2607 |
msgstr ""
|
2608 |
|
2609 |
-
#: ../settings.php:
|
2610 |
msgid "Include scan errors"
|
2611 |
msgstr ""
|
2612 |
|
2613 |
-
#: ../settings.php:
|
2614 |
msgid "Automatic cleanup of malware and suspicious files"
|
2615 |
msgstr ""
|
2616 |
|
2617 |
-
#: ../settings.php:
|
2618 |
msgid ""
|
2619 |
"These policies are automatically enforced at the end of every scheduled scan "
|
2620 |
"based on its results. All affected files are moved to the quarantine"
|
2621 |
msgstr ""
|
2622 |
|
2623 |
-
#: ../settings.php:
|
2624 |
msgid "Delete unattended files"
|
2625 |
msgstr ""
|
2626 |
|
2627 |
-
#: ../settings.php:
|
2628 |
msgid "Files in the uploads folder"
|
2629 |
msgstr ""
|
2630 |
|
2631 |
-
#: ../settings.php:
|
2632 |
msgid "Files with unwanted extensions"
|
2633 |
msgstr ""
|
2634 |
|
2635 |
-
#: ../settings.php:
|
2636 |
msgid "Automatic recovery of modified and infected files"
|
2637 |
msgstr ""
|
2638 |
|
2639 |
-
#: ../settings.php:
|
2640 |
msgid "Recover WordPress files"
|
2641 |
msgstr ""
|
2642 |
|
2643 |
-
#: ../settings.php:
|
2644 |
msgid "Recover plugins files"
|
2645 |
msgstr ""
|
2646 |
|
2647 |
-
#: ../settings.php:
|
2648 |
msgid "Exclusions"
|
2649 |
msgstr ""
|
2650 |
|
2651 |
-
#: ../settings.php:
|
2652 |
msgid "These files will never be deleted during automatic cleanup."
|
2653 |
msgstr ""
|
2654 |
|
2655 |
-
#: ../settings.php:
|
2656 |
msgid "Files in the temporary directory"
|
2657 |
msgstr ""
|
2658 |
|
2659 |
-
#: ../settings.php:
|
2660 |
msgid "Files in the sessions directory"
|
2661 |
msgstr ""
|
2662 |
|
2663 |
-
#: ../settings.php:
|
2664 |
msgid "Files in these directories"
|
2665 |
msgstr ""
|
2666 |
|
2667 |
-
#: ../settings.php:
|
2668 |
msgid "Use absolute paths. One item per line."
|
2669 |
msgstr ""
|
2670 |
|
2671 |
-
#: ../settings.php:
|
2672 |
msgid "Files with these extensions"
|
2673 |
msgstr ""
|
2674 |
|
2675 |
-
#: ../settings.php:
|
2676 |
msgid "Use comma to separate items."
|
2677 |
msgstr ""
|
2678 |
|
2679 |
-
#: ../settings.php:
|
2680 |
msgid "Cerber anti-spam engine"
|
2681 |
msgstr ""
|
2682 |
|
2683 |
-
#: ../settings.php:
|
2684 |
msgid "Spam protection for comment, registration and contact forms on a website"
|
2685 |
msgstr ""
|
2686 |
|
2687 |
-
#: ../settings.php:
|
2688 |
msgid "Comment form"
|
2689 |
msgstr ""
|
2690 |
|
2691 |
-
#: ../settings.php:
|
2692 |
msgid "Protect comment form with bot detection engine"
|
2693 |
msgstr ""
|
2694 |
|
2695 |
-
#: ../settings.php:
|
2696 |
msgid "Registration form"
|
2697 |
msgstr ""
|
2698 |
|
2699 |
-
#: ../settings.php:
|
2700 |
msgid "Protect registration form with bot detection engine"
|
2701 |
msgstr ""
|
2702 |
|
2703 |
-
#: ../settings.php:
|
2704 |
msgid "Other forms"
|
2705 |
msgstr ""
|
2706 |
|
2707 |
-
#: ../settings.php:
|
2708 |
msgid "Protect all forms on the website with bot detection engine"
|
2709 |
msgstr ""
|
2710 |
|
2711 |
-
#: ../settings.php:
|
2712 |
msgid "Adjust anti-spam engine"
|
2713 |
msgstr ""
|
2714 |
|
2715 |
-
#: ../settings.php:
|
2716 |
msgid ""
|
2717 |
"These settings enable you to fine-tune the behavior of anti-spam algorithms "
|
2718 |
"and avoid false positives"
|
2719 |
msgstr ""
|
2720 |
|
2721 |
-
#: ../settings.php:
|
2722 |
msgid "Safe mode"
|
2723 |
msgstr ""
|
2724 |
|
2725 |
-
#: ../settings.php:
|
2726 |
msgid "Use less restrictive policies (allow AJAX)"
|
2727 |
msgstr ""
|
2728 |
|
2729 |
-
#: ../settings.php:
|
2730 |
msgid "Disable bot detection engine for logged in users"
|
2731 |
msgstr ""
|
2732 |
|
2733 |
-
#: ../settings.php:
|
2734 |
msgid "Query whitelist"
|
2735 |
msgstr ""
|
2736 |
|
2737 |
-
#: ../settings.php:
|
2738 |
msgid ""
|
2739 |
"Enter a part of query string or query path to exclude a request from "
|
2740 |
"inspection by the engine. One item per line."
|
2741 |
msgstr ""
|
2742 |
|
2743 |
-
#: ../settings.php:
|
2744 |
msgid "Comment processing"
|
2745 |
msgstr ""
|
2746 |
|
2747 |
-
#: ../settings.php:
|
2748 |
msgid "How the plugin processes comments submitted through the standard comment form"
|
2749 |
msgstr ""
|
2750 |
|
2751 |
-
#: ../settings.php:
|
2752 |
msgid "If a spam comment detected"
|
2753 |
msgstr ""
|
2754 |
|
2755 |
-
#: ../settings.php:
|
2756 |
msgid "Deny it completely"
|
2757 |
msgstr ""
|
2758 |
|
2759 |
-
#: ../settings.php:
|
2760 |
msgid "Mark it as spam"
|
2761 |
msgstr ""
|
2762 |
|
2763 |
-
#: ../settings.php:
|
2764 |
msgid "Trash spam comments"
|
2765 |
msgstr ""
|
2766 |
|
2767 |
-
#: ../settings.php:
|
2768 |
msgid "Move spam comments to trash after"
|
2769 |
msgstr ""
|
2770 |
|
2771 |
-
#: ../settings.php:
|
2772 |
msgid "reCAPTCHA settings"
|
2773 |
msgstr ""
|
2774 |
|
2775 |
-
#: ../settings.php:
|
2776 |
msgid ""
|
2777 |
"Before you can start using reCAPTCHA, you have to obtain Site key and Secret "
|
2778 |
"key on the Google website"
|
2779 |
msgstr ""
|
2780 |
|
2781 |
-
#: ../settings.php:
|
2782 |
msgid "Site key"
|
2783 |
msgstr ""
|
2784 |
|
2785 |
-
#: ../settings.php:
|
2786 |
msgid "Secret key"
|
2787 |
msgstr ""
|
2788 |
|
2789 |
-
#: ../settings.php:
|
2790 |
msgid "Invisible reCAPTCHA"
|
2791 |
msgstr ""
|
2792 |
|
2793 |
-
#: ../settings.php:
|
2794 |
msgid "Enable invisible reCAPTCHA"
|
2795 |
msgstr ""
|
2796 |
|
2797 |
-
#: ../settings.php:
|
2798 |
msgid ""
|
2799 |
"(do not enable it unless you get and enter the Site and Secret keys for the "
|
2800 |
"invisible version)"
|
2801 |
msgstr ""
|
2802 |
|
2803 |
-
#: ../settings.php:
|
2804 |
msgid "Enable reCAPTCHA for WordPress registration form"
|
2805 |
msgstr ""
|
2806 |
|
2807 |
-
#: ../settings.php:
|
2808 |
msgid "Enable reCAPTCHA for WooCommerce registration form"
|
2809 |
msgstr ""
|
2810 |
|
2811 |
-
#: ../settings.php:
|
2812 |
msgid "Lost password form"
|
2813 |
msgstr ""
|
2814 |
|
2815 |
-
#: ../settings.php:
|
2816 |
msgid "Enable reCAPTCHA for WordPress lost password form"
|
2817 |
msgstr ""
|
2818 |
|
2819 |
-
#: ../settings.php:
|
2820 |
msgid "Enable reCAPTCHA for WooCommerce lost password form"
|
2821 |
msgstr ""
|
2822 |
|
2823 |
-
#: ../settings.php:
|
2824 |
msgid "Login form"
|
2825 |
msgstr ""
|
2826 |
|
2827 |
-
#: ../settings.php:
|
2828 |
msgid "Enable reCAPTCHA for WordPress login form"
|
2829 |
msgstr ""
|
2830 |
|
2831 |
-
#: ../settings.php:
|
2832 |
msgid "Enable reCAPTCHA for WooCommerce login form"
|
2833 |
msgstr ""
|
2834 |
|
2835 |
-
#: ../settings.php:
|
2836 |
msgid "Enable reCAPTCHA for WordPress comment form"
|
2837 |
msgstr ""
|
2838 |
|
2839 |
-
#: ../settings.php:
|
2840 |
msgid "Disable reCAPTCHA for logged in users"
|
2841 |
msgstr ""
|
2842 |
|
2843 |
-
#: ../settings.php:
|
2844 |
msgid "Limit attempts"
|
2845 |
msgstr ""
|
2846 |
|
2847 |
-
#: ../settings.php:
|
2848 |
#, php-format
|
2849 |
msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
|
2850 |
msgstr ""
|
2851 |
|
2852 |
-
#: ../settings.php:
|
2853 |
msgid "Master settings"
|
2854 |
msgstr ""
|
2855 |
|
2856 |
-
#: ../settings.php:
|
2857 |
msgid "Return to the website list"
|
2858 |
msgstr ""
|
2859 |
|
2860 |
-
#: ../settings.php:
|
2861 |
msgid "Show \"Switched to\" notification"
|
2862 |
msgstr ""
|
2863 |
|
2864 |
-
#: ../settings.php:
|
2865 |
msgid "Add @ site to the page title"
|
2866 |
msgstr ""
|
2867 |
|
2868 |
-
#: ../settings.php:
|
2869 |
msgid "Use master language"
|
2870 |
msgstr ""
|
2871 |
|
2872 |
-
#: ../settings.php:
|
2873 |
msgid "Limit access by IP address"
|
2874 |
msgstr ""
|
2875 |
|
2876 |
-
#: ../settings.php:
|
2877 |
msgid "Access to this website"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
-
#: ../settings.php:
|
2881 |
msgid "Full access mode"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
-
#: ../settings.php:
|
2885 |
msgid "Read-only mode"
|
2886 |
msgstr ""
|
2887 |
|
2888 |
-
#: ../settings.php:
|
2889 |
msgid "The full access mode requires the PRO version of WP Cerber"
|
2890 |
msgstr ""
|
2891 |
|
2892 |
-
#: ../settings.php:
|
2893 |
msgid "Any activity"
|
2894 |
msgstr ""
|
2895 |
|
@@ -3020,40 +3310,49 @@ msgstr ""
|
|
3020 |
msgid "Select file to import."
|
3021 |
msgstr ""
|
3022 |
|
3023 |
-
#: ../cerber-tools.php:45 ../cerber-scanner.php:4115
|
3024 |
-
#, php-format
|
3025 |
-
msgid "Maximum upload file size: %s."
|
3026 |
-
msgstr ""
|
3027 |
-
|
3028 |
#: ../cerber-tools.php:48
|
3029 |
msgid "What do you want to import?"
|
3030 |
msgstr ""
|
3031 |
|
3032 |
-
#: ../cerber-tools.php:
|
3033 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3034 |
msgstr ""
|
3035 |
|
3036 |
-
#: ../cerber-tools.php:
|
|
|
|
|
|
|
|
|
3037 |
msgid "Load entries"
|
3038 |
msgstr ""
|
3039 |
|
3040 |
-
#: ../cerber-tools.php:
|
3041 |
msgid "No file was uploaded or file is corrupted"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
-
#: ../cerber-tools.php:
|
3045 |
msgid "A database error occurred while importing access list entries"
|
3046 |
msgstr ""
|
3047 |
|
3048 |
-
#: ../cerber-tools.php:
|
3049 |
msgid "Settings has imported successfully from"
|
3050 |
msgstr ""
|
3051 |
|
3052 |
-
#: ../cerber-tools.php:
|
3053 |
msgid "Error while parsing file"
|
3054 |
msgstr ""
|
3055 |
|
3056 |
-
#: ../cerber-tools.php:
|
3057 |
msgid "Unsubscribe"
|
3058 |
msgstr ""
|
3059 |
|
@@ -3125,10 +3424,6 @@ msgstr ""
|
|
3125 |
msgid "Switch to"
|
3126 |
msgstr ""
|
3127 |
|
3128 |
-
#: ../nexus/cerber-slave-list.php:337 ../cerber-scanner.php:3983
|
3129 |
-
msgid "Vulnerabilities"
|
3130 |
-
msgstr ""
|
3131 |
-
|
3132 |
#: ../nexus/cerber-slave-list.php:413
|
3133 |
msgid "No websites configured."
|
3134 |
msgstr ""
|
@@ -3193,74 +3488,74 @@ msgstr ""
|
|
3193 |
msgid "Address"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
-
#: ../nexus/cerber-nexus-master.php:
|
3197 |
msgid "Security access token is invalid"
|
3198 |
msgstr ""
|
3199 |
|
3200 |
-
#: ../nexus/cerber-nexus-master.php:
|
3201 |
msgid "The website you are trying to add is already in the list"
|
3202 |
msgstr ""
|
3203 |
|
3204 |
-
#: ../nexus/cerber-nexus-master.php:
|
3205 |
msgid "The website has been added successfully"
|
3206 |
msgstr ""
|
3207 |
|
3208 |
-
#: ../nexus/cerber-nexus-master.php:
|
3209 |
msgid "Click to edit"
|
3210 |
msgstr ""
|
3211 |
|
3212 |
-
#: ../nexus/cerber-nexus-master.php:
|
3213 |
msgid "Switch to the Dashboard"
|
3214 |
msgstr ""
|
3215 |
|
3216 |
-
#: ../nexus/cerber-nexus-master.php:
|
3217 |
msgid ""
|
3218 |
"Keep in mind: You have added the website that does not support SSL "
|
3219 |
"encryption. This may lead to data leakage."
|
3220 |
msgstr ""
|
3221 |
|
3222 |
-
#: ../nexus/cerber-nexus-master.php:
|
3223 |
#, php-format
|
3224 |
msgid "Website has been deleted"
|
3225 |
msgid_plural "%s websites have been deleted"
|
3226 |
msgstr[0] ""
|
3227 |
msgstr[1] ""
|
3228 |
|
3229 |
-
#: ../nexus/cerber-nexus-master.php:
|
3230 |
msgid "Invalid response from the slave website"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
-
#: ../nexus/cerber-nexus-master.php:
|
3234 |
#, php-format
|
3235 |
msgid "You have switched to %s"
|
3236 |
msgstr ""
|
3237 |
|
3238 |
-
#: ../nexus/cerber-nexus-master.php:
|
3239 |
msgid "You have switched back to the master website"
|
3240 |
msgstr ""
|
3241 |
|
3242 |
-
#: ../nexus/cerber-nexus-master.php:
|
3243 |
msgid "You are here:"
|
3244 |
msgstr ""
|
3245 |
|
3246 |
-
#: ../nexus/cerber-nexus-master.php:
|
3247 |
#: /nexus/cerber-nexus.php:102
|
3248 |
msgid "My Websites"
|
3249 |
msgstr ""
|
3250 |
|
3251 |
-
#: ../nexus/cerber-nexus-master.php:
|
3252 |
msgid "Visit Site"
|
3253 |
msgstr ""
|
3254 |
|
3255 |
-
#: ../nexus/cerber-nexus-master.php:
|
3256 |
msgid "Are you sure you want to delete selected websites?"
|
3257 |
msgstr ""
|
3258 |
|
3259 |
-
#: ../nexus/cerber-nexus-master.php:
|
3260 |
msgid "A newer version is available"
|
3261 |
msgstr ""
|
3262 |
|
3263 |
-
#: ../nexus/cerber-nexus-master.php:
|
3264 |
msgid "Active plugins and updates on"
|
3265 |
msgstr ""
|
3266 |
|
@@ -3326,163 +3621,120 @@ msgstr ""
|
|
3326 |
msgid "Install the access token on the master website."
|
3327 |
msgstr ""
|
3328 |
|
3329 |
-
#: ../cerber-scanner.php:
|
3330 |
-
msgid "Currently a scheduled scan in progress. Please wait until it is finished."
|
3331 |
-
msgstr ""
|
3332 |
-
|
3333 |
-
#: ../cerber-scanner.php:99
|
3334 |
-
#, php-format
|
3335 |
-
msgid "Previous scan started %s has not been completed. Continue scanning?"
|
3336 |
-
msgstr ""
|
3337 |
-
|
3338 |
-
#: ../cerber-scanner.php:108
|
3339 |
-
msgid ""
|
3340 |
-
"It seems this website has never been scanned. To start scanning click the "
|
3341 |
-
"button below."
|
3342 |
-
msgstr ""
|
3343 |
-
|
3344 |
-
#: ../cerber-scanner.php:111
|
3345 |
-
msgid "Start Quick Scan"
|
3346 |
-
msgstr ""
|
3347 |
-
|
3348 |
-
#: ../cerber-scanner.php:112
|
3349 |
-
msgid "Start Full Scan"
|
3350 |
-
msgstr ""
|
3351 |
-
|
3352 |
-
#: ../cerber-scanner.php:113
|
3353 |
-
msgid "Stop Scanning"
|
3354 |
-
msgstr ""
|
3355 |
-
|
3356 |
-
#: ../cerber-scanner.php:114
|
3357 |
-
msgid "Continue Scanning"
|
3358 |
-
msgstr ""
|
3359 |
-
|
3360 |
-
#: ../cerber-scanner.php:150
|
3361 |
-
msgid "Delete"
|
3362 |
-
msgstr ""
|
3363 |
-
|
3364 |
-
#: ../cerber-scanner.php:153
|
3365 |
-
msgid "Ignore"
|
3366 |
-
msgstr ""
|
3367 |
-
|
3368 |
-
#: ../cerber-scanner.php:1566
|
3369 |
msgid "Verified"
|
3370 |
msgstr ""
|
3371 |
|
3372 |
-
#: ../cerber-scanner.php:
|
3373 |
msgid "Vulnerability found"
|
3374 |
msgstr ""
|
3375 |
|
3376 |
-
#: ../cerber-scanner.php:
|
3377 |
msgid "Integrity data not found"
|
3378 |
msgstr ""
|
3379 |
|
3380 |
-
#: ../cerber-scanner.php:
|
3381 |
msgid "Unable to check the integrity of the plugin due to a network error"
|
3382 |
msgstr ""
|
3383 |
|
3384 |
-
#: ../cerber-scanner.php:
|
3385 |
msgid "Unable to check the integrity of WordPress files due to a network error"
|
3386 |
msgstr ""
|
3387 |
|
3388 |
-
#: ../cerber-scanner.php:
|
3389 |
msgid "Unable to check the integrity of the theme due to a network error"
|
3390 |
msgstr ""
|
3391 |
|
3392 |
-
#: ../cerber-scanner.php:
|
3393 |
msgid "Unable to check the integrity due to a DB error"
|
3394 |
msgstr ""
|
3395 |
|
3396 |
-
#: ../cerber-scanner.php:
|
3397 |
msgid "Local file doesn't exist"
|
3398 |
msgstr ""
|
3399 |
|
3400 |
-
#: ../cerber-scanner.php:
|
3401 |
msgid "Unable to process file"
|
3402 |
msgstr ""
|
3403 |
|
3404 |
-
#: ../cerber-scanner.php:
|
3405 |
msgid "Unable to open file"
|
3406 |
msgstr ""
|
3407 |
|
3408 |
-
#: ../cerber-scanner.php:
|
3409 |
-
msgid "Checksum mismatch"
|
3410 |
-
msgstr ""
|
3411 |
-
|
3412 |
-
#: ../cerber-scanner.php:1587
|
3413 |
msgid "Suspicious code found"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
-
#: ../cerber-scanner.php:
|
3417 |
msgid "Malicious code found"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
-
#: ../cerber-scanner.php:
|
3421 |
msgid "Unattended suspicious file"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
-
#: ../cerber-scanner.php:
|
3425 |
msgid "Executable code found"
|
3426 |
msgstr ""
|
3427 |
|
3428 |
-
#: ../cerber-scanner.php:
|
3429 |
msgid "Suspicious directives found"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
-
#: ../cerber-scanner.php:
|
3433 |
msgid "Unwanted file extension"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
-
#: ../cerber-scanner.php:
|
3437 |
msgid "Content has been modified"
|
3438 |
msgstr ""
|
3439 |
|
3440 |
-
#: ../cerber-scanner.php:
|
3441 |
msgid "New file"
|
3442 |
msgstr ""
|
3443 |
|
3444 |
-
#: ../cerber-scanner.php:
|
3445 |
msgid "Unable to delete"
|
3446 |
msgstr ""
|
3447 |
|
3448 |
-
#: ../cerber-scanner.php:
|
3449 |
msgid "File deleted"
|
3450 |
msgstr ""
|
3451 |
|
3452 |
-
#: ../cerber-scanner.php:
|
3453 |
msgid "File recovered"
|
3454 |
msgstr ""
|
3455 |
|
3456 |
-
#: ../cerber-scanner.php:
|
3457 |
msgid "Every hour"
|
3458 |
msgstr ""
|
3459 |
|
3460 |
-
#: ../cerber-scanner.php:
|
3461 |
msgid "Every 3 hours"
|
3462 |
msgstr ""
|
3463 |
|
3464 |
-
#: ../cerber-scanner.php:
|
3465 |
msgid "Every 6 hours"
|
3466 |
msgstr ""
|
3467 |
|
3468 |
-
#: ../cerber-scanner.php:
|
3469 |
msgid "Custom signature found"
|
3470 |
msgstr ""
|
3471 |
|
3472 |
-
#: ../cerber-scanner.php:
|
3473 |
msgid ""
|
3474 |
"This file contains executable code and may contain obfuscated malware. If "
|
3475 |
"this file is a part of a theme or a plugin, it must be located in the theme "
|
3476 |
"or the plugin folder. No exception, no excuses."
|
3477 |
msgstr ""
|
3478 |
|
3479 |
-
#: ../cerber-scanner.php:
|
3480 |
msgid ""
|
3481 |
"The scanner recognizes this file as \"ownerless\" or \"not bundled\" because it "
|
3482 |
"does not belong to any known part of the website and should not be here."
|
3483 |
msgstr ""
|
3484 |
|
3485 |
-
#: ../cerber-scanner.php:
|
3486 |
#, php-format
|
3487 |
msgid ""
|
3488 |
"It may remain after upgrading to a newer version of %s. It also may be a "
|
@@ -3490,15 +3742,15 @@ msgid ""
|
|
3490 |
"made (bespoke) plugin or theme."
|
3491 |
msgstr ""
|
3492 |
|
3493 |
-
#: ../cerber-scanner.php:
|
3494 |
msgid "Suspicious code instruction found"
|
3495 |
msgstr ""
|
3496 |
|
3497 |
-
#: ../cerber-scanner.php:
|
3498 |
msgid "Suspicious code signatures found"
|
3499 |
msgstr ""
|
3500 |
|
3501 |
-
#: ../cerber-scanner.php:
|
3502 |
msgid ""
|
3503 |
"The contents of the file have been changed and do not match what exists in "
|
3504 |
"the official WordPress repository or a reference file you have uploaded "
|
@@ -3506,246 +3758,109 @@ msgid ""
|
|
3506 |
"has been tampered with."
|
3507 |
msgstr ""
|
3508 |
|
3509 |
-
#: ../cerber-scanner.php:
|
3510 |
#, php-format
|
3511 |
msgid ""
|
3512 |
"To solve this issue you have to reinstall %s or update it to the latest "
|
3513 |
"version."
|
3514 |
msgstr ""
|
3515 |
|
3516 |
-
#: ../cerber-scanner.php:
|
3517 |
msgid "Please upload a reference ZIP archive"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
-
#: ../cerber-scanner.php:
|
3521 |
msgid "Resolve issue"
|
3522 |
msgstr ""
|
3523 |
|
3524 |
-
#: ../cerber-scanner.php:
|
3525 |
msgid "Preparing for the scan"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
-
#: ../cerber-scanner.php:
|
3529 |
msgid "Scanning folders for files"
|
3530 |
msgstr ""
|
3531 |
|
3532 |
-
#: ../cerber-scanner.php:
|
3533 |
msgid "Scanning the upload folder for files"
|
3534 |
msgstr ""
|
3535 |
|
3536 |
-
#: ../cerber-scanner.php:
|
3537 |
msgid "Scanning the temp folder for files"
|
3538 |
msgstr ""
|
3539 |
|
3540 |
-
#: ../cerber-scanner.php:
|
3541 |
msgid "Scanning the session folder for files"
|
3542 |
msgstr ""
|
3543 |
|
3544 |
-
#: ../cerber-scanner.php:
|
3545 |
msgid "Parsing the list of files"
|
3546 |
msgstr ""
|
3547 |
|
3548 |
-
#: ../cerber-scanner.php:
|
3549 |
msgid "Checking for new and modified files"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
-
#: ../cerber-scanner.php:
|
3553 |
msgid "Verifying the integrity of WordPress"
|
3554 |
msgstr ""
|
3555 |
|
3556 |
-
#: ../cerber-scanner.php:
|
3557 |
msgid "Recovering WordPress files"
|
3558 |
msgstr ""
|
3559 |
|
3560 |
-
#: ../cerber-scanner.php:
|
3561 |
msgid "Verifying the integrity of the plugins"
|
3562 |
msgstr ""
|
3563 |
|
3564 |
-
#: ../cerber-scanner.php:
|
3565 |
msgid "Recovering plugins files"
|
3566 |
msgstr ""
|
3567 |
|
3568 |
-
#: ../cerber-scanner.php:
|
3569 |
msgid "Verifying the integrity of the themes"
|
3570 |
msgstr ""
|
3571 |
|
3572 |
-
#: ../cerber-scanner.php:
|
3573 |
msgid "Searching for malicious code"
|
3574 |
msgstr ""
|
3575 |
|
3576 |
-
#: ../cerber-scanner.php:
|
3577 |
msgid "Finalizing the scan"
|
3578 |
msgstr ""
|
3579 |
|
3580 |
-
#: ../cerber-scanner.php:
|
3581 |
-
msgid "Started"
|
3582 |
-
msgstr ""
|
3583 |
-
|
3584 |
-
#: ../cerber-scanner.php:3963
|
3585 |
-
msgid "Finished"
|
3586 |
-
msgstr ""
|
3587 |
-
|
3588 |
-
#: ../cerber-scanner.php:3971
|
3589 |
-
msgid "Performance"
|
3590 |
-
msgstr ""
|
3591 |
-
|
3592 |
-
#: ../cerber-scanner.php:3987
|
3593 |
-
msgid "New files"
|
3594 |
-
msgstr ""
|
3595 |
-
|
3596 |
-
#: ../cerber-scanner.php:3991
|
3597 |
-
msgid "Changed files"
|
3598 |
-
msgstr ""
|
3599 |
-
|
3600 |
-
#: ../cerber-scanner.php:3999
|
3601 |
-
msgid "Unwanted extensions"
|
3602 |
-
msgstr ""
|
3603 |
-
|
3604 |
-
#: ../cerber-scanner.php:4003
|
3605 |
-
msgid "Unattended files"
|
3606 |
-
msgstr ""
|
3607 |
-
|
3608 |
-
#: ../cerber-scanner.php:4012 ../cerber-scanner.php:5825
|
3609 |
-
msgid "Scanned"
|
3610 |
-
msgstr ""
|
3611 |
-
|
3612 |
-
#: ../cerber-scanner.php:4012
|
3613 |
-
msgid "Files to scan"
|
3614 |
-
msgstr ""
|
3615 |
-
|
3616 |
-
#: ../cerber-scanner.php:4019
|
3617 |
-
msgid "Critical issues"
|
3618 |
-
msgstr ""
|
3619 |
-
|
3620 |
-
#: ../cerber-scanner.php:4019 ../cerber-scanner.php:5357
|
3621 |
-
msgid "Issues total"
|
3622 |
-
msgstr ""
|
3623 |
-
|
3624 |
-
#: ../cerber-scanner.php:4112
|
3625 |
-
msgid "We have not found any integrity data to verify"
|
3626 |
-
msgstr ""
|
3627 |
-
|
3628 |
-
#: ../cerber-scanner.php:4114
|
3629 |
-
msgid ""
|
3630 |
-
"You have to upload a ZIP archive from which you've installed it. This "
|
3631 |
-
"enables the security scanner to verify the integrity of the code and detect "
|
3632 |
-
"malware."
|
3633 |
-
msgstr ""
|
3634 |
-
|
3635 |
-
#: ../cerber-scanner.php:4741
|
3636 |
-
msgid ""
|
3637 |
-
"File access error. Possibly scan results are outdated. Please run Quick or "
|
3638 |
-
"Full Scan."
|
3639 |
-
msgstr ""
|
3640 |
-
|
3641 |
-
#: ../cerber-scanner.php:5313
|
3642 |
msgid "Full Scan Report"
|
3643 |
msgstr ""
|
3644 |
|
3645 |
-
#: ../cerber-scanner.php:
|
3646 |
msgid "Quick Scan Report"
|
3647 |
msgstr ""
|
3648 |
|
3649 |
-
#: ../cerber-scanner.php:
|
3650 |
msgid "Files scanned"
|
3651 |
msgstr ""
|
3652 |
|
3653 |
-
#: ../cerber-scanner.php:
|
3654 |
msgid "Deleted"
|
3655 |
msgstr ""
|
3656 |
|
3657 |
-
#: ../cerber-scanner.php:
|
3658 |
msgid "Recovered"
|
3659 |
msgstr ""
|
3660 |
|
3661 |
-
#: ../cerber-scanner.php:
|
3662 |
msgid "Automatically moved to quarantine"
|
3663 |
msgstr ""
|
3664 |
|
3665 |
-
#: ../cerber-scanner.php:
|
3666 |
msgid "Automatically deleted"
|
3667 |
msgstr ""
|
3668 |
|
3669 |
-
#: ../cerber-scanner.php:
|
3670 |
msgid "Automatically recovered"
|
3671 |
msgstr ""
|
3672 |
|
3673 |
-
#: ../cerber-scanner.php:
|
3674 |
msgid "To view full report visit"
|
3675 |
msgstr ""
|
3676 |
-
|
3677 |
-
#: ../cerber-scanner.php:5724
|
3678 |
-
msgid "There are no files in the quarantine at the moment."
|
3679 |
-
msgstr ""
|
3680 |
-
|
3681 |
-
#: ../cerber-scanner.php:5791
|
3682 |
-
msgid "No files match the specified filter."
|
3683 |
-
msgstr ""
|
3684 |
-
|
3685 |
-
#: ../cerber-scanner.php:5791
|
3686 |
-
msgid "Click here to see the full list of files"
|
3687 |
-
msgstr ""
|
3688 |
-
|
3689 |
-
#: ../cerber-scanner.php:5811
|
3690 |
-
msgid "Delete permanently"
|
3691 |
-
msgstr ""
|
3692 |
-
|
3693 |
-
#: ../cerber-scanner.php:5814
|
3694 |
-
msgid "Restore"
|
3695 |
-
msgstr ""
|
3696 |
-
|
3697 |
-
#: ../cerber-scanner.php:5826
|
3698 |
-
msgid "Moved to quarantine"
|
3699 |
-
msgstr ""
|
3700 |
-
|
3701 |
-
#: ../cerber-scanner.php:5827
|
3702 |
-
msgid "Automatic deletion"
|
3703 |
-
msgstr ""
|
3704 |
-
|
3705 |
-
#: ../cerber-scanner.php:5828
|
3706 |
-
msgid "Size"
|
3707 |
-
msgstr ""
|
3708 |
-
|
3709 |
-
#: ../cerber-scanner.php:5829 ../cerber-scanner.php:5977
|
3710 |
-
msgid "File"
|
3711 |
-
msgstr ""
|
3712 |
-
|
3713 |
-
#: ../cerber-scanner.php:5843
|
3714 |
-
msgid "All scans"
|
3715 |
-
msgstr ""
|
3716 |
-
|
3717 |
-
#: ../cerber-scanner.php:5905
|
3718 |
-
msgid "The file has been deleted permanently."
|
3719 |
-
msgstr ""
|
3720 |
-
|
3721 |
-
#: ../cerber-scanner.php:5919
|
3722 |
-
msgid "The file has been restored to its original location."
|
3723 |
-
msgstr ""
|
3724 |
-
|
3725 |
-
#: ../cerber-scanner.php:5942
|
3726 |
-
msgid "Apply"
|
3727 |
-
msgstr ""
|
3728 |
-
|
3729 |
-
#: ../cerber-scanner.php:5943 ../cerber-scanner.php:5970
|
3730 |
-
msgid "Remove from the list"
|
3731 |
-
msgstr ""
|
3732 |
-
|
3733 |
-
#: ../cerber-scanner.php:5944
|
3734 |
-
msgid "User Insights"
|
3735 |
-
msgstr ""
|
3736 |
-
|
3737 |
-
#: ../cerber-scanner.php:5945
|
3738 |
-
msgid "Traffic Insights"
|
3739 |
-
msgstr ""
|
3740 |
-
|
3741 |
-
#: ../cerber-scanner.php:5946
|
3742 |
-
msgid "Activity Insights"
|
3743 |
-
msgstr ""
|
3744 |
-
|
3745 |
-
#: ../cerber-scanner.php:5948
|
3746 |
-
msgid "The list is empty."
|
3747 |
-
msgstr ""
|
3748 |
-
|
3749 |
-
#: ../cerber-scanner.php:5976
|
3750 |
-
msgid "Added"
|
3751 |
-
msgstr ""
|
5 |
"Project-Id-Version: WP Cerber\n"
|
6 |
"Report-Msgid-Bugs-To: \n"
|
7 |
"POT-Creation-Date: Tue Sep 08 2015 21:38:11 GMT+0300\n"
|
8 |
+
"POT-Revision-Date: Wed Jun 10 2020 13:11:10 GMT+0300 (Moscow Standard Time)\n"
|
9 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: \n"
|
28 |
msgid "Cerber Dashboard"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: ../dashboard.php:54 ../dashboard.php:1803 ../dashboard.php:2682 ../dashboard.
|
32 |
+
#: php:4594
|
33 |
msgid "Dashboard"
|
34 |
msgstr ""
|
35 |
|
37 |
msgid "Cerber Traffic Inspector"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: ../dashboard.php:56 ../dashboard.php:1766 ../dashboard.php:4660
|
41 |
msgid "Traffic Inspector"
|
42 |
msgstr ""
|
43 |
|
53 |
msgid "Cerber Security Rules"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: ../dashboard.php:61 ../dashboard.php:4706
|
57 |
msgid "Security Rules"
|
58 |
msgstr ""
|
59 |
|
61 |
msgid "Cerber User Security"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: ../dashboard.php:64 ../dashboard.php:4686
|
65 |
msgid "User Policies"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: ../dashboard.php:67 ../dashboard.php:4721
|
69 |
msgid "Site Integrity"
|
70 |
msgstr ""
|
71 |
|
73 |
msgid "Cerber anti-spam settings"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: ../dashboard.php:71 ../settings.php:1136
|
77 |
msgid "Anti-spam"
|
78 |
msgstr ""
|
79 |
|
85 |
msgid "Cerber tools"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: ../dashboard.php:82 ../dashboard.php:4775
|
89 |
msgid "Tools"
|
90 |
msgstr ""
|
91 |
|
93 |
msgid "Remove"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: ../dashboard.php:195 ../dashboard.php:845 ../dashboard.php:1107 ../dashboard.
|
97 |
+
#: php:4011 ../cerber-users.php:982
|
98 |
+
msgid "IP Address"
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: ../dashboard.php:196 ../dashboard.php:1108
|
102 |
msgid "Hostname"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: ../dashboard.php:197 ../dashboard.php:1109
|
106 |
msgid "Country"
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: ../dashboard.php:198 ../cerber-users.php:981
|
110 |
msgid "Expires"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: ../dashboard.php:199 ../cerber-load.php:4204
|
114 |
msgid "Reason"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: ../dashboard.php:200 ../admin/cerber-admin.php:757 ../admin/cerber-admin.php:
|
118 |
+
#: 912 ../cerber-users.php:984
|
119 |
msgid "Action"
|
120 |
msgstr ""
|
121 |
|
136 |
msgid "No lockouts at the moment. The sky is clear."
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: ../dashboard.php:254 ../dashboard.php:1344 ../dashboard.php:1389 ../dashboard.
|
140 |
+
#: php:1761 ../dashboard.php:3781 ../cerber-load.php:5244 ../cerber-tools.php:69
|
141 |
msgid "White IP Access List"
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: ../dashboard.php:257 ../dashboard.php:1347 ../dashboard.php:1392 ../dashboard.
|
145 |
+
#: php:1762 ../dashboard.php:3784 ../cerber-tools.php:70
|
146 |
msgid "Black IP Access List"
|
147 |
msgstr ""
|
148 |
|
150 |
msgid "Your IP"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: ../dashboard.php:304 ../dashboard.php:1383 ../dashboard.php:1435 ../dashboard.
|
154 |
+
#: php:1575
|
155 |
msgid "Check for activities"
|
156 |
msgstr ""
|
157 |
|
185 |
msgid "IP address %s has been added to White IP Access List"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: ../dashboard.php:433 ../dashboard.php:3689 ../whois.php:222 ../whois.php:253 ..
|
189 |
+
#: /common.php:1477 ../common.php:1882 ../common.php:1950 ../nexus/cerber-slave-
|
190 |
#: list.php:330
|
191 |
msgid "Unknown"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: ../dashboard.php:513
|
195 |
msgid "unknown"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: ../dashboard.php:575
|
199 |
#, php-format
|
200 |
msgid "Lockout for %s was removed"
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: ../dashboard.php:583
|
204 |
msgid "Email has been sent to"
|
205 |
msgstr ""
|
206 |
|
207 |
+
#: ../dashboard.php:586
|
208 |
msgid "Unable to send email to"
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: ../dashboard.php:641
|
212 |
msgid "Default settings have been loaded"
|
213 |
msgstr ""
|
214 |
|
215 |
+
#: ../dashboard.php:846 ../dashboard.php:1110 ../dashboard.php:3560 ../dashboard.
|
216 |
+
#: php:4009
|
|
|
|
|
|
|
|
|
|
|
217 |
msgid "Date"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: ../dashboard.php:847 ../dashboard.php:1111
|
221 |
msgid "Event"
|
222 |
msgstr ""
|
223 |
|
224 |
+
#: ../dashboard.php:848
|
225 |
msgid "Additional Details"
|
226 |
msgstr ""
|
227 |
|
228 |
+
#: ../dashboard.php:849 ../dashboard.php:1112 ../dashboard.php:4014
|
229 |
msgid "Local User"
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: ../dashboard.php:850
|
233 |
msgid "User login"
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: ../dashboard.php:851 ../dashboard.php:3565
|
237 |
msgid "User ID"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: ../dashboard.php:852 ../dashboard.php:1113
|
241 |
msgid "Username"
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: ../dashboard.php:958 ../dashboard.php:2366
|
245 |
msgid "View all"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: ../dashboard.php:969
|
249 |
msgid "New users"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: ../dashboard.php:975 ../dashboard.php:4040
|
253 |
msgid "Suspicious activity"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: ../dashboard.php:977 ../common.php:1334
|
257 |
msgid "IP blocked"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: ../dashboard.php:979 ../dashboard.php:1759 ../dashboard.php:4042 ../settings.
|
261 |
+
#: php:399 ../settings.php:1055
|
262 |
msgid "Logged in users"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: ../dashboard.php:980 ../dashboard.php:4043
|
266 |
msgid "Not logged in visitors"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: ../dashboard.php:982
|
270 |
msgid "My activity"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: ../dashboard.php:983 ../dashboard.php:4053
|
274 |
+
msgid "My IP"
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: ../dashboard.php:1135 ../dashboard.php:4077
|
278 |
msgid "Export"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: ../dashboard.php:1140
|
282 |
msgid "No activity has been logged."
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: ../dashboard.php:1150
|
286 |
msgid "Filter by registered user"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: ../dashboard.php:1151
|
290 |
msgid "Search for IP or username"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: ../dashboard.php:1154
|
294 |
msgid "Request ID"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: ../dashboard.php:1155
|
298 |
msgid "Search in URL"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: ../dashboard.php:1162
|
302 |
msgid "Filter"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: ../dashboard.php:1352 ../dashboard.php:1396 ../dashboard.php:3789 ../common.
|
306 |
+
#: php:1392
|
307 |
msgid "Locked out"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: ../dashboard.php:1428
|
311 |
msgid "Abuse email:"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: ../dashboard.php:1434
|
315 |
msgid "Network:"
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: ../dashboard.php:1449
|
319 |
msgid "Add network to the Black List"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: ../dashboard.php:1455
|
323 |
msgid "Add IP to the Black List"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: ../dashboard.php:1523 ../dashboard.php:1613
|
327 |
msgid "Registered"
|
328 |
msgstr ""
|
329 |
|
330 |
+
#: ../dashboard.php:1535
|
331 |
msgid "Activated"
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: ../dashboard.php:1555
|
335 |
msgid "Last seen"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: ../dashboard.php:1559
|
339 |
msgid "Active sessions"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: ../dashboard.php:1610
|
343 |
msgid "Comments"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: ../dashboard.php:1611
|
347 |
msgid "Last login"
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: ../dashboard.php:1612
|
351 |
msgid "Failed login attempts"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: ../dashboard.php:1644 ../dashboard.php:1735 ../dashboard.php:1784 ../common.
|
355 |
+
#: php:1614 ../nexus/cerber-slave-list.php:344
|
356 |
msgid "Never"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: ../dashboard.php:1683 ../cerber-users.php:52 ../cerber-users.php:1115
|
360 |
msgid "You"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: ../dashboard.php:1701
|
364 |
msgid "Cerber Quick View"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: ../dashboard.php:1740 ../dashboard.php:1770
|
368 |
msgid "active"
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: ../dashboard.php:1740
|
372 |
msgid "deactivate"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: ../dashboard.php:1744
|
376 |
msgid "not active"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: ../dashboard.php:1747 ../dashboard.php:1765
|
380 |
msgid "disabled"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: ../dashboard.php:1753
|
384 |
msgid "failed attempts"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: ../dashboard.php:1753 ../dashboard.php:1754
|
388 |
msgid "in 24 hours"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: ../dashboard.php:1753 ../dashboard.php:1754
|
392 |
msgid "view all"
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: ../dashboard.php:1754
|
396 |
msgid "lockouts"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: ../dashboard.php:1756
|
400 |
msgid "Lockouts at the moment"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: ../dashboard.php:1757
|
404 |
msgid "Last lockout"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: ../dashboard.php:1759
|
408 |
msgid "user"
|
409 |
msgid_plural "users"
|
410 |
msgstr[0] ""
|
411 |
msgstr[1] ""
|
412 |
|
413 |
+
#: ../dashboard.php:1761 ../dashboard.php:1762 ../dashboard.php:2660
|
414 |
msgid "entry"
|
415 |
msgid_plural "entries"
|
416 |
msgstr[0] ""
|
417 |
msgstr[1] ""
|
418 |
|
419 |
+
#: ../dashboard.php:1763 ../settings.php:243
|
420 |
msgid "Citadel mode"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: ../dashboard.php:1765
|
424 |
msgid "enabled"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: ../dashboard.php:1770
|
428 |
msgid "no connection"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: ../dashboard.php:1787
|
432 |
msgctxt "Example: Last malware scan: 23 Jan 2018"
|
433 |
msgid "Last malware scan"
|
434 |
msgstr ""
|
435 |
|
436 |
+
#: ../dashboard.php:1790 ../dashboard.php:1792 ../cerber-users.php:20 ../cerber-
|
437 |
+
#: users.php:446 ../settings.php:720 ../settings.php:748 ../settings.php:857 ..
|
438 |
+
#: /settings.php:866 ../settings.php:1209 ../cerber-scanner.php:1493
|
439 |
msgid "Disabled"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: ../dashboard.php:1791 ../cerber-scanner.php:938
|
443 |
msgid "Quick Scan"
|
444 |
msgstr ""
|
445 |
|
446 |
+
#: ../dashboard.php:1793 ../cerber-scanner.php:938
|
447 |
msgid "Full Scan"
|
448 |
msgstr ""
|
449 |
|
450 |
+
#: ../dashboard.php:1804 ../dashboard.php:2352 ../dashboard.php:4595 ../cerber-
|
451 |
+
#: load.php:4944 ../cerber-users.php:1148 ../settings.php:276
|
452 |
msgid "Activity"
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: ../dashboard.php:1805 ../cerber-users.php:1149
|
456 |
msgid "Traffic"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: ../dashboard.php:1806
|
460 |
msgid "Integrity"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: ../dashboard.php:1809
|
464 |
msgid "A new version is available"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: ../dashboard.php:2169 ../settings.php:230
|
468 |
msgid "My site is behind a reverse proxy"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: ../dashboard.php:2345
|
472 |
msgid "in the last 24 hours"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: ../dashboard.php:2369
|
476 |
msgid "Recently locked out IP addresses"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: ../dashboard.php:2480
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
480 |
msgid "Attention! Citadel mode is now active. Nobody is able to log in."
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: ../dashboard.php:2481
|
484 |
msgid "Deactivate"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: ../dashboard.php:2482 ../dashboard.php:2881
|
488 |
msgid "View Activity"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: ../dashboard.php:2497
|
492 |
msgid "Settings saved"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: ../dashboard.php:2568
|
496 |
msgid "Create Alert"
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: ../dashboard.php:2572
|
500 |
msgid "Delete Alert"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: ../dashboard.php:2605
|
504 |
msgid "The alert has been created"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: ../dashboard.php:2609
|
508 |
msgid "The alert has been deleted"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: ../dashboard.php:2683
|
512 |
msgid "Main settings"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: ../dashboard.php:2800
|
516 |
msgid "Are you sure you want to delete selected files?"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: ../dashboard.php:2801
|
520 |
msgid "These files have been moved to the quarantine"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: ../dashboard.php:2804
|
524 |
msgid "Do you want to add selected files to the ignore list?"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: ../dashboard.php:2805
|
528 |
msgid "These files have been added to the ignore list"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: ../dashboard.php:2807
|
532 |
msgid "Some errors occurred"
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: ../dashboard.php:2808
|
536 |
msgid "All files have been processed"
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: ../dashboard.php:3145 ../admin/cerber-settings.php:624
|
540 |
msgid "Save Changes"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: ../dashboard.php:3217
|
544 |
msgid "Role-based rules are configured"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: ../dashboard.php:3267
|
548 |
msgid "Start typing here to find a country"
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: ../dashboard.php:3274
|
552 |
msgid "Save all rules"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: ../dashboard.php:3287
|
556 |
#, php-format
|
557 |
msgid "Permitted for one country"
|
558 |
msgid_plural "Permitted for %d countries"
|
559 |
msgstr[0] ""
|
560 |
msgstr[1] ""
|
561 |
|
562 |
+
#: ../dashboard.php:3290
|
563 |
#, php-format
|
564 |
msgid "Not permitted for one country"
|
565 |
msgid_plural "Not permitted for %d countries"
|
566 |
msgstr[0] ""
|
567 |
msgstr[1] ""
|
568 |
|
569 |
+
#: ../dashboard.php:3298
|
570 |
msgid "No rule"
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: ../dashboard.php:3299
|
574 |
msgid "Any country is permitted"
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: ../dashboard.php:3382
|
578 |
msgid "Click on a country name to add it to the list of selected countries"
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: ../dashboard.php:3386
|
582 |
#, php-format
|
583 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
584 |
msgid "Selected countries are permitted to %s, other countries are not permitted to"
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: ../dashboard.php:3389
|
588 |
#, php-format
|
589 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
590 |
msgid "Selected countries are not permitted to %s, other countries are permitted to"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: ../dashboard.php:3409
|
594 |
msgid "Log in to the website"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: ../dashboard.php:3411
|
598 |
msgid "All Users"
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: ../dashboard.php:3413
|
602 |
msgid "Register on the website"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: ../dashboard.php:3414
|
606 |
msgid "Submit forms"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: ../dashboard.php:3415
|
610 |
msgid "Post comments"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: ../dashboard.php:3416
|
614 |
msgid "Use XML-RPC"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: ../dashboard.php:3417
|
618 |
msgid "Use REST API"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: ../dashboard.php:3459
|
622 |
msgid "Security rules have been updated"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: ../dashboard.php:3559
|
626 |
msgid "IP address"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: ../dashboard.php:3566
|
630 |
msgid "Page generation time"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: ../dashboard.php:4010
|
634 |
msgid "Request"
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: ../dashboard.php:4012 ../cerber-users.php:983
|
638 |
msgid "Host Info"
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: ../dashboard.php:4013
|
642 |
msgid "User Agent"
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: ../dashboard.php:4030
|
646 |
msgid "No requests have been logged."
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: ../dashboard.php:4038
|
650 |
msgid "All requests"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: ../dashboard.php:4041
|
654 |
msgid "Errors"
|
655 |
msgstr ""
|
656 |
|
657 |
+
#: ../dashboard.php:4046
|
658 |
msgid "Form submissions"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: ../dashboard.php:4048
|
662 |
msgid "Page Not Found"
|
663 |
msgstr ""
|
664 |
|
665 |
+
#: ../dashboard.php:4052
|
666 |
+
msgid "My requests"
|
667 |
+
msgstr ""
|
668 |
+
|
669 |
+
#: ../dashboard.php:4060
|
670 |
msgid "Longer than"
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: ../dashboard.php:4070
|
674 |
msgid "Advanced Search"
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: ../dashboard.php:4083
|
678 |
msgid "Refresh"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: ../dashboard.php:4596
|
682 |
msgid "Sessions"
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: ../dashboard.php:4597
|
686 |
msgid "Lockouts"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: ../dashboard.php:4598
|
690 |
msgid "Main Settings"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: ../dashboard.php:4599 ../cerber-tools.php:38 ../cerber-tools.php:49
|
694 |
msgid "Access Lists"
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: ../dashboard.php:4600
|
698 |
msgid "Hardening"
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: ../dashboard.php:4602 ../settings.php:264
|
702 |
msgid "Notifications"
|
703 |
msgstr ""
|
704 |
|
705 |
+
#: ../dashboard.php:4640
|
706 |
msgid "Anti-spam and bot detection settings"
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: ../dashboard.php:4642
|
710 |
msgid "Anti-spam engine"
|
711 |
msgstr ""
|
712 |
|
713 |
+
#: ../dashboard.php:4662
|
714 |
msgid "Live Traffic"
|
715 |
msgstr ""
|
716 |
|
717 |
+
#: ../dashboard.php:4663 ../dashboard.php:4724 ../cerber-tools.php:37 ../cerber-
|
718 |
#: tools.php:48 ../nexus/cerber-nexus.php:93
|
719 |
msgid "Settings"
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: ../dashboard.php:4676
|
723 |
msgid "Data Shield Policies"
|
724 |
msgstr ""
|
725 |
|
726 |
+
#: ../dashboard.php:4678
|
727 |
msgid "Accounts & Roles"
|
728 |
msgstr ""
|
729 |
|
730 |
+
#: ../dashboard.php:4679
|
731 |
msgid "Site Settings"
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: ../dashboard.php:4688
|
735 |
msgid "Role-based"
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: ../dashboard.php:4689
|
739 |
msgid "Global"
|
740 |
msgstr ""
|
741 |
|
742 |
+
#: ../dashboard.php:4708
|
743 |
msgid "Countries"
|
744 |
msgstr ""
|
745 |
|
746 |
+
#: ../dashboard.php:4723
|
747 |
msgid "Security Scanner"
|
748 |
msgstr ""
|
749 |
|
750 |
+
#: ../dashboard.php:4725
|
751 |
msgid "Scheduling"
|
752 |
msgstr ""
|
753 |
|
754 |
+
#: ../dashboard.php:4726
|
755 |
msgid "Cleaning up"
|
756 |
msgstr ""
|
757 |
|
758 |
+
#: ../dashboard.php:4727
|
759 |
msgid "Ignore List"
|
760 |
msgstr ""
|
761 |
|
762 |
+
#: ../dashboard.php:4728
|
763 |
msgid "Quarantine"
|
764 |
msgstr ""
|
765 |
|
766 |
+
#: ../dashboard.php:4729
|
767 |
+
msgid "Analytics"
|
768 |
+
msgstr ""
|
769 |
+
|
770 |
+
#: ../dashboard.php:4778
|
771 |
+
msgid "Manage Settings"
|
772 |
msgstr ""
|
773 |
|
774 |
+
#: ../dashboard.php:4779
|
775 |
msgid "Diagnostic"
|
776 |
msgstr ""
|
777 |
|
778 |
+
#: ../dashboard.php:4780
|
779 |
+
msgid "Diagnostic Log"
|
780 |
msgstr ""
|
781 |
|
782 |
+
#: ../dashboard.php:4781
|
783 |
msgid "Changelog"
|
784 |
msgstr ""
|
785 |
|
786 |
+
#: ../dashboard.php:4782
|
787 |
msgid "License"
|
788 |
msgstr ""
|
789 |
|
790 |
+
#: ../dashboard.php:4883
|
791 |
msgid "Help"
|
792 |
msgstr ""
|
793 |
|
794 |
+
#: ../dashboard.php:4932
|
795 |
msgid "Incorrect IP address or IP range"
|
796 |
msgstr ""
|
797 |
|
798 |
+
#: ../dashboard.php:4936
|
799 |
msgid "The IP address you are trying to add is already in the list"
|
800 |
msgstr ""
|
801 |
|
802 |
+
#: ../dashboard.php:5071
|
803 |
msgid "These features are available in a professional version of the plugin."
|
804 |
msgstr ""
|
805 |
|
806 |
+
#: ../dashboard.php:5072
|
807 |
msgid "Know more about all advantages at"
|
808 |
msgstr ""
|
809 |
|
810 |
+
#: ../dashboard.php:5086 ../admin/cerber-admin.php:721 ../admin/cerber-admin.php:
|
811 |
+
#: 888 ../cerber-tools.php:59
|
812 |
+
msgid "Are you sure?"
|
813 |
+
msgstr ""
|
814 |
+
|
815 |
+
#: ../dashboard.php:5107
|
816 |
msgid "Log In"
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: ../dashboard.php:5108
|
820 |
msgid "Log Out"
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: ../dashboard.php:5109
|
824 |
msgid "Register"
|
825 |
msgstr ""
|
826 |
|
827 |
+
#: ../dashboard.php:5112
|
828 |
msgid "WooCommerce Log In"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: ../dashboard.php:5113
|
832 |
msgid "WooCommerce Log Out"
|
833 |
msgstr ""
|
834 |
|
835 |
+
#: ../dashboard.php:5152 ../dashboard.php:5153
|
836 |
msgid "Add to menu"
|
837 |
msgstr ""
|
838 |
|
857 |
msgid "Cerber Tech Inc."
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: ../common.php:210
|
861 |
msgid "Check for requests"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: ../common.php:280
|
865 |
msgid "Malicious activities mitigated"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: ../common.php:283
|
869 |
msgid "Spam comments denied"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: ../common.php:284
|
873 |
msgid "Spam form submissions denied"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: ../common.php:285
|
877 |
msgid "Malicious IP addresses detected"
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: ../common.php:286
|
881 |
msgid "Lockouts occurred"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: ../common.php:340 ../common.php:418 ../common.php:423 ../common.php:429 ..
|
885 |
+
#: /common.php:434 ../admin/cerber-settings.php:649 ../admin/cerber-settings.php:
|
886 |
+
#: 669 ../admin/cerber-settings.php:749 ../admin/cerber-admin.php:858 ../cerber-
|
887 |
+
#: load.php:651 ../cerber-load.php:663 ../cerber-load.php:670 ../cerber-load.php:
|
888 |
+
#: 1018 ../cerber-load.php:1549 ../cerber-load.php:1555 ../cerber-load.php:1560 ..
|
889 |
+
#: /cerber-load.php:1567 ../cerber-load.php:1574 ../cerber-load.php:1580 ..
|
890 |
+
#: /cerber-load.php:1587 ../cerber-load.php:1752 ../cerber-load.php:1889 ..
|
891 |
+
#: /nexus/cerber-nexus-slave.php:204 ../nexus/cerber-nexus-slave.php:215
|
892 |
msgid "ERROR:"
|
893 |
msgstr ""
|
894 |
|
901 |
msgstr ""
|
902 |
|
903 |
#: ../common.php:1328
|
904 |
+
msgid "User deleted"
|
905 |
msgstr ""
|
906 |
|
907 |
#: ../common.php:1329
|
908 |
+
msgid "Logged in"
|
909 |
msgstr ""
|
910 |
|
911 |
#: ../common.php:1330
|
912 |
+
msgid "Logged out"
|
913 |
+
msgstr ""
|
914 |
+
|
915 |
+
#: ../common.php:1331
|
916 |
msgid "Login failed"
|
917 |
msgstr ""
|
918 |
|
919 |
+
#: ../common.php:1335
|
920 |
msgid "IP subnet blocked"
|
921 |
msgstr ""
|
922 |
|
923 |
+
#: ../common.php:1338
|
924 |
msgid "Citadel activated!"
|
925 |
msgstr ""
|
926 |
|
927 |
+
#: ../common.php:1339
|
928 |
msgid "Spam comment denied"
|
929 |
msgstr ""
|
930 |
|
931 |
+
#: ../common.php:1340
|
932 |
msgid "Spam form submission denied"
|
933 |
msgstr ""
|
934 |
|
935 |
+
#: ../common.php:1341
|
936 |
msgid "Form submission denied"
|
937 |
msgstr ""
|
938 |
|
939 |
+
#: ../common.php:1342
|
940 |
msgid "Comment denied"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: ../common.php:1351
|
944 |
msgid "Password changed"
|
945 |
msgstr ""
|
946 |
|
947 |
+
#: ../common.php:1352
|
948 |
msgid "Password reset requested"
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: ../common.php:1354
|
952 |
msgid "reCAPTCHA verification failed"
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: ../common.php:1355
|
956 |
msgid "reCAPTCHA settings are incorrect"
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: ../common.php:1356
|
960 |
msgid "Request to the Google reCAPTCHA service failed"
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: ../common.php:1358 ../common.php:1454
|
964 |
msgid "Attempt to access prohibited URL"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: ../common.php:1359 ../common.php:1455
|
968 |
msgid "Attempt to log in with non-existing username"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: ../common.php:1360 ../common.php:1456
|
972 |
msgid "Attempt to log in with prohibited username"
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: ../common.php:1362
|
976 |
msgid "Attempt to log in denied"
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: ../common.php:1363
|
980 |
msgid "Attempt to register denied"
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: ../common.php:1364 ../common.php:1460
|
984 |
msgid "Probing for vulnerable PHP code"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: ../common.php:1365
|
988 |
msgid "Attempt to upload malicious file denied"
|
989 |
msgstr ""
|
990 |
|
991 |
+
#: ../common.php:1366
|
992 |
msgid "File upload denied"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: ../common.php:1368
|
996 |
msgid "Request to REST API denied"
|
997 |
msgstr ""
|
998 |
|
999 |
+
#: ../common.php:1369
|
1000 |
msgid "XML-RPC request denied"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: ../common.php:1370
|
1004 |
msgid "User creation denied"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: ../common.php:1371
|
1008 |
msgid "User row update denied"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
+
#: ../common.php:1372
|
1012 |
msgid "Role update denied"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
+
#: ../common.php:1373
|
1016 |
msgid "Setting update denied"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
+
#: ../common.php:1374
|
1020 |
msgid "User metadata update denied"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
+
#: ../common.php:1376
|
1024 |
msgid "Malicious request denied"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
+
#: ../common.php:1379
|
1028 |
msgid "User activated"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
+
#: ../common.php:1382
|
1032 |
msgid "Invalid master credentials"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
+
#: ../common.php:1390
|
1036 |
msgid "Bot detected"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
+
#: ../common.php:1391
|
1040 |
msgid "Citadel mode is active"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
+
#: ../common.php:1393
|
1044 |
msgid "IP address is locked out"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
+
#: ../common.php:1394
|
1048 |
msgid "IP blacklisted"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
+
#: ../common.php:1395
|
1052 |
msgid "Malicious activity detected"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: ../common.php:1396
|
1056 |
msgid "Blocked by country rule"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: ../common.php:1397
|
1060 |
msgid "Limit reached"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
+
#: ../common.php:1398
|
1064 |
msgid "Multiple suspicious activities"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: ../common.php:1399
|
1068 |
msgid "Denied"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
+
#: ../common.php:1401
|
1072 |
msgid "Suspicious number of fields"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: ../common.php:1402
|
1076 |
msgid "Suspicious number of nested values"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
+
#: ../common.php:1403 ../common.php:1461
|
1080 |
msgid "Malicious code detected"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
+
#: ../common.php:1404
|
1084 |
msgid "Suspicious SQL code detected"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
+
#: ../common.php:1405
|
1088 |
msgid "Suspicious JavaScript code detected"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
+
#: ../common.php:1406
|
1092 |
msgid "Blocked by administrator"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
+
#: ../common.php:1407
|
1096 |
msgid "Site policy enforcement"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
+
#: ../common.php:1408
|
1100 |
msgid "2FA code verified"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
+
#: ../common.php:1409
|
1104 |
msgid "Initiated by the user"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
+
#: ../common.php:1412
|
1108 |
+
msgid "Email address is prohibited"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
+
#: ../common.php:1414
|
1112 |
msgid "Permission denied"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
+
#: ../common.php:1416
|
1116 |
msgid "Invalid user"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
+
#: ../common.php:1417
|
1120 |
msgid "Incorrect password"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
+
#: ../common.php:1420
|
1124 |
+
msgid "IP whitelisted"
|
1125 |
+
msgstr ""
|
1126 |
+
|
1127 |
+
#: ../common.php:1452
|
1128 |
msgid "Limit on login attempts is reached"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
+
#: ../common.php:1453
|
1132 |
msgid "Attempt to access"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
+
#: ../common.php:1457
|
1136 |
msgid "Limit on failed reCAPTCHA verifications is reached"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
+
#: ../common.php:1458
|
1140 |
msgid "Bot activity is detected"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
+
#: ../common.php:1459
|
1144 |
msgid "Multiple suspicious activities were detected"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
+
#: ../common.php:1462
|
1148 |
msgid "Attempt to upload a file with malicious code"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
+
#: ../common.php:1464
|
1152 |
msgid "Multiple erroneous requests"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
+
#: ../common.php:1465
|
1156 |
msgid "Multiple suspicious requests"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
#. translators: Time difference between two dates, in seconds (sec=second). 1: Number of seconds
|
1160 |
+
#: ../common.php:1602
|
1161 |
#, php-format
|
1162 |
msgid "%s sec"
|
1163 |
msgid_plural "%s secs"
|
1164 |
msgstr[0] ""
|
1165 |
msgstr[1] ""
|
1166 |
|
1167 |
+
#: ../common.php:1609
|
1168 |
#, php-format
|
1169 |
msgid "%s ago"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
+
#: ../common.php:1609
|
1173 |
#, php-format
|
1174 |
msgctxt "preposition of a period of time like: in 6 hours"
|
1175 |
msgid "in %s"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: ../common.php:1716
|
1179 |
msgid "Bytes"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: ../common.php:1822
|
1183 |
#, php-format
|
1184 |
msgid "A new version of %s is available. Please install it."
|
1185 |
msgstr ""
|
1186 |
|
1187 |
+
#: ../common.php:1842
|
1188 |
msgid "Not specified"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
+
#: ../common.php:2767
|
1192 |
msgid "Unable to create the directory"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: ../common.php:2772
|
1196 |
msgid "Destination folder access denied"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
+
#: ../common.php:2775
|
1200 |
msgid "File not found"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
+
#: ../common.php:2778
|
1204 |
msgid "Unable to copy the file"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
+
#: ../common.php:2784
|
1208 |
msgid "Unable to delete the file"
|
1209 |
msgstr ""
|
1210 |
|
1215 |
"more: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: ../cerber-news.php:126
|
1219 |
msgid "Awesome!"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: ../admin/cerber-settings.php:100 ../admin/cerber-settings.php:270 ../cerber-
|
1223 |
+
#: lab.php:840
|
1224 |
msgid "Know more"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
+
#: ../admin/cerber-settings.php:352
|
1228 |
#, php-format
|
1229 |
msgid "%s retries are allowed within %s minutes"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
+
#: ../admin/cerber-settings.php:358
|
1233 |
#, php-format
|
1234 |
msgid "%s registrations are allowed within %s minutes from one IP address"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
+
#: ../admin/cerber-settings.php:364
|
1238 |
#, php-format
|
1239 |
msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
+
#: ../admin/cerber-settings.php:372
|
1243 |
msgid "Notify admin if the number of active lockouts above"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
+
#: ../admin/cerber-settings.php:377 ../settings.php:270
|
1247 |
msgid "Click to send test"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
+
#: ../admin/cerber-settings.php:381
|
1251 |
#, php-format
|
1252 |
msgid "Enable after %s failed login attempts in the last %s minutes"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
+
#: ../admin/cerber-settings.php:513
|
1256 |
msgid "Select one or more roles"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
+
#: ../admin/cerber-settings.php:537
|
1260 |
msgid "Sunday"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: ../admin/cerber-settings.php:538
|
1264 |
msgid "Monday"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: ../admin/cerber-settings.php:539
|
1268 |
msgid "Tuesday"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: ../admin/cerber-settings.php:540
|
1272 |
msgid "Wednesday"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: ../admin/cerber-settings.php:541
|
1276 |
msgid "Thursday"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: ../admin/cerber-settings.php:542
|
1280 |
msgid "Friday"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: ../admin/cerber-settings.php:543
|
1284 |
msgid "Saturday"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
+
#: ../admin/cerber-settings.php:553
|
1288 |
msgctxt "preposition of time like: at 11:00"
|
1289 |
msgid "at"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
+
#: ../admin/cerber-settings.php:572
|
1293 |
msgid "Click to send now"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: ../admin/cerber-settings.php:650
|
1297 |
msgid "Plugin initialization mode has not been changed"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
+
#: ../admin/cerber-settings.php:677 ../admin/cerber-settings.php:678
|
1301 |
msgid "Attention! You have changed the login URL! The new login URL is"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
+
#: ../admin/cerber-settings.php:679 ../admin/cerber-settings.php:680
|
1305 |
msgid ""
|
1306 |
"If you use a caching plugin, you have to add your new login URL to the list "
|
1307 |
"of pages not to cache."
|
1308 |
msgstr ""
|
1309 |
|
1310 |
+
#: ../admin/cerber-settings.php:773 ../admin/cerber-settings.php:785 ..
|
1311 |
+
#: /admin/cerber-settings.php:942
|
1312 |
msgid "<strong>ERROR</strong>: please enter a valid email address."
|
1313 |
msgstr ""
|
1314 |
|
1315 |
+
#: ../admin/cerber-settings.php:948
|
1316 |
msgid "The schedule has been updated"
|
1317 |
msgstr ""
|
1318 |
|
1319 |
+
#: ../admin/cerber-settings.php:951
|
1320 |
msgid "Unable to update the schedule"
|
1321 |
msgstr ""
|
1322 |
|
1323 |
+
#: ../admin/cerber-admin.php:43
|
1324 |
+
msgid "Started"
|
1325 |
+
msgstr ""
|
1326 |
+
|
1327 |
+
#: ../admin/cerber-admin.php:47
|
1328 |
+
msgid "Finished"
|
1329 |
+
msgstr ""
|
1330 |
+
|
1331 |
+
#: ../admin/cerber-admin.php:51 ../settings.php:258
|
1332 |
+
msgid "Duration"
|
1333 |
+
msgstr ""
|
1334 |
+
|
1335 |
+
#: ../admin/cerber-admin.php:55
|
1336 |
+
msgid "Performance"
|
1337 |
+
msgstr ""
|
1338 |
+
|
1339 |
+
#: ../admin/cerber-admin.php:67 ../nexus/cerber-slave-list.php:337
|
1340 |
+
msgid "Vulnerabilities"
|
1341 |
+
msgstr ""
|
1342 |
+
|
1343 |
+
#: ../admin/cerber-admin.php:71
|
1344 |
+
msgid "New files"
|
1345 |
+
msgstr ""
|
1346 |
+
|
1347 |
+
#: ../admin/cerber-admin.php:75
|
1348 |
+
msgid "Changed files"
|
1349 |
+
msgstr ""
|
1350 |
+
|
1351 |
+
#: ../admin/cerber-admin.php:79 ../cerber-scanner.php:1457
|
1352 |
+
msgid "Checksum mismatch"
|
1353 |
+
msgstr ""
|
1354 |
+
|
1355 |
+
#: ../admin/cerber-admin.php:83
|
1356 |
+
msgid "Unwanted extensions"
|
1357 |
+
msgstr ""
|
1358 |
+
|
1359 |
+
#: ../admin/cerber-admin.php:87
|
1360 |
+
msgid "Unattended files"
|
1361 |
+
msgstr ""
|
1362 |
+
|
1363 |
+
#: ../admin/cerber-admin.php:96 ../admin/cerber-admin.php:752
|
1364 |
+
msgid "Scanned"
|
1365 |
+
msgstr ""
|
1366 |
+
|
1367 |
+
#: ../admin/cerber-admin.php:96
|
1368 |
+
msgid "Files to scan"
|
1369 |
+
msgstr ""
|
1370 |
+
|
1371 |
+
#: ../admin/cerber-admin.php:103
|
1372 |
+
msgid "Critical issues"
|
1373 |
+
msgstr ""
|
1374 |
+
|
1375 |
+
#: ../admin/cerber-admin.php:103 ../cerber-scanner.php:4781
|
1376 |
+
msgid "Issues total"
|
1377 |
+
msgstr ""
|
1378 |
+
|
1379 |
+
#: ../admin/cerber-admin.php:164
|
1380 |
+
msgid "Currently a scheduled scan in progress. Please wait until it is finished."
|
1381 |
+
msgstr ""
|
1382 |
+
|
1383 |
+
#: ../admin/cerber-admin.php:168
|
1384 |
+
#, php-format
|
1385 |
+
msgid "Previous scan started %s has not been completed. Continue scanning?"
|
1386 |
+
msgstr ""
|
1387 |
+
|
1388 |
+
#: ../admin/cerber-admin.php:177
|
1389 |
+
msgid ""
|
1390 |
+
"It seems this website has never been scanned. To start scanning click the "
|
1391 |
+
"button below."
|
1392 |
+
msgstr ""
|
1393 |
+
|
1394 |
+
#: ../admin/cerber-admin.php:180
|
1395 |
+
msgid "Start Quick Scan"
|
1396 |
+
msgstr ""
|
1397 |
+
|
1398 |
+
#: ../admin/cerber-admin.php:181
|
1399 |
+
msgid "Start Full Scan"
|
1400 |
+
msgstr ""
|
1401 |
+
|
1402 |
+
#: ../admin/cerber-admin.php:182
|
1403 |
+
msgid "Stop Scanning"
|
1404 |
+
msgstr ""
|
1405 |
+
|
1406 |
+
#: ../admin/cerber-admin.php:183
|
1407 |
+
msgid "Continue Scanning"
|
1408 |
+
msgstr ""
|
1409 |
+
|
1410 |
+
#: ../admin/cerber-admin.php:219
|
1411 |
+
msgid "Delete"
|
1412 |
+
msgstr ""
|
1413 |
+
|
1414 |
+
#: ../admin/cerber-admin.php:222
|
1415 |
+
msgid "Ignore"
|
1416 |
+
msgstr ""
|
1417 |
+
|
1418 |
+
#: ../admin/cerber-admin.php:243
|
1419 |
+
msgid "We have not found any integrity data to verify"
|
1420 |
+
msgstr ""
|
1421 |
+
|
1422 |
+
#: ../admin/cerber-admin.php:245
|
1423 |
+
msgid ""
|
1424 |
+
"You have to upload a ZIP archive from which you've installed it. This "
|
1425 |
+
"enables the security scanner to verify the integrity of the code and detect "
|
1426 |
+
"malware."
|
1427 |
+
msgstr ""
|
1428 |
+
|
1429 |
+
#: ../admin/cerber-admin.php:246 ../cerber-tools.php:45
|
1430 |
+
#, php-format
|
1431 |
+
msgid "Maximum upload file size: %s."
|
1432 |
+
msgstr ""
|
1433 |
+
|
1434 |
+
#: ../admin/cerber-admin.php:249 ../cerber-tools.php:50
|
1435 |
+
msgid "Upload file"
|
1436 |
+
msgstr ""
|
1437 |
+
|
1438 |
+
#: ../admin/cerber-admin.php:344
|
1439 |
+
msgid ""
|
1440 |
+
"File access error. Possibly scan results are outdated. Please run Quick or "
|
1441 |
+
"Full Scan."
|
1442 |
+
msgstr ""
|
1443 |
+
|
1444 |
+
#: ../admin/cerber-admin.php:696
|
1445 |
+
msgid "There are no files in the quarantine at the moment."
|
1446 |
+
msgstr ""
|
1447 |
+
|
1448 |
+
#: ../admin/cerber-admin.php:713
|
1449 |
+
msgid "No files match the specified filter."
|
1450 |
+
msgstr ""
|
1451 |
+
|
1452 |
+
#: ../admin/cerber-admin.php:713
|
1453 |
+
msgid "Click here to see the full list of files"
|
1454 |
+
msgstr ""
|
1455 |
+
|
1456 |
+
#: ../admin/cerber-admin.php:731
|
1457 |
+
msgid "Delete permanently"
|
1458 |
+
msgstr ""
|
1459 |
+
|
1460 |
+
#: ../admin/cerber-admin.php:734
|
1461 |
+
msgid "Restore"
|
1462 |
+
msgstr ""
|
1463 |
+
|
1464 |
+
#: ../admin/cerber-admin.php:753
|
1465 |
+
msgid "Quarantined"
|
1466 |
+
msgstr ""
|
1467 |
+
|
1468 |
+
#: ../admin/cerber-admin.php:754
|
1469 |
+
msgid "Automatic deletion"
|
1470 |
+
msgstr ""
|
1471 |
+
|
1472 |
+
#: ../admin/cerber-admin.php:755 ../admin/cerber-admin.php:910 ../admin/cerber-
|
1473 |
+
#: admin.php:1355
|
1474 |
+
msgid "Size"
|
1475 |
+
msgstr ""
|
1476 |
+
|
1477 |
+
#: ../admin/cerber-admin.php:756 ../admin/cerber-admin.php:911
|
1478 |
+
msgid "File"
|
1479 |
+
msgstr ""
|
1480 |
+
|
1481 |
+
#: ../admin/cerber-admin.php:767
|
1482 |
+
msgid "All scans"
|
1483 |
+
msgstr ""
|
1484 |
+
|
1485 |
+
#: ../admin/cerber-admin.php:829
|
1486 |
+
msgid "The file has been deleted permanently."
|
1487 |
+
msgstr ""
|
1488 |
+
|
1489 |
+
#: ../admin/cerber-admin.php:844
|
1490 |
+
msgid "The file has been restored to its original location."
|
1491 |
+
msgstr ""
|
1492 |
+
|
1493 |
+
#: ../admin/cerber-admin.php:868
|
1494 |
+
msgid "Apply"
|
1495 |
+
msgstr ""
|
1496 |
+
|
1497 |
+
#: ../admin/cerber-admin.php:869 ../admin/cerber-admin.php:896
|
1498 |
+
msgid "Remove from the list"
|
1499 |
+
msgstr ""
|
1500 |
+
|
1501 |
+
#: ../admin/cerber-admin.php:870
|
1502 |
+
msgid "User Insights"
|
1503 |
+
msgstr ""
|
1504 |
+
|
1505 |
+
#: ../admin/cerber-admin.php:871
|
1506 |
+
msgid "Traffic Insights"
|
1507 |
+
msgstr ""
|
1508 |
+
|
1509 |
+
#: ../admin/cerber-admin.php:872
|
1510 |
+
msgid "Activity Insights"
|
1511 |
+
msgstr ""
|
1512 |
+
|
1513 |
+
#: ../admin/cerber-admin.php:874
|
1514 |
+
msgid "The list is empty."
|
1515 |
+
msgstr ""
|
1516 |
+
|
1517 |
+
#: ../admin/cerber-admin.php:908
|
1518 |
+
msgid "Added"
|
1519 |
+
msgstr ""
|
1520 |
+
|
1521 |
+
#: ../admin/cerber-admin.php:909 ../admin/cerber-admin.php:1356
|
1522 |
+
msgid "Modified"
|
1523 |
+
msgstr ""
|
1524 |
+
|
1525 |
+
#: ../admin/cerber-admin.php:1020
|
1526 |
+
msgid "Files without extension"
|
1527 |
+
msgstr ""
|
1528 |
+
|
1529 |
+
#: ../admin/cerber-admin.php:1021
|
1530 |
+
msgid "Back to list"
|
1531 |
+
msgstr ""
|
1532 |
+
|
1533 |
+
#: ../admin/cerber-admin.php:1081
|
1534 |
+
msgid "Brief summary"
|
1535 |
+
msgstr ""
|
1536 |
+
|
1537 |
+
#: ../admin/cerber-admin.php:1132
|
1538 |
+
msgid "Folder"
|
1539 |
+
msgstr ""
|
1540 |
+
|
1541 |
+
#: ../admin/cerber-admin.php:1133
|
1542 |
+
msgid "Path"
|
1543 |
+
msgstr ""
|
1544 |
+
|
1545 |
+
#: ../admin/cerber-admin.php:1134 ../admin/cerber-admin.php:1228
|
1546 |
+
msgid "Files"
|
1547 |
+
msgstr ""
|
1548 |
+
|
1549 |
+
#: ../admin/cerber-admin.php:1135 ../admin/cerber-admin.php:1229
|
1550 |
+
msgid "Space Occupied"
|
1551 |
+
msgstr ""
|
1552 |
+
|
1553 |
+
#: ../admin/cerber-admin.php:1199
|
1554 |
+
msgid "No extension"
|
1555 |
+
msgstr ""
|
1556 |
+
|
1557 |
+
#: ../admin/cerber-admin.php:1224
|
1558 |
+
msgid "File extensions statistics"
|
1559 |
+
msgstr ""
|
1560 |
+
|
1561 |
+
#: ../admin/cerber-admin.php:1227
|
1562 |
+
msgid "Extension"
|
1563 |
+
msgstr ""
|
1564 |
+
|
1565 |
+
#: ../admin/cerber-admin.php:1230
|
1566 |
+
msgid "Smallest"
|
1567 |
+
msgstr ""
|
1568 |
+
|
1569 |
+
#: ../admin/cerber-admin.php:1231
|
1570 |
+
msgid "Largest"
|
1571 |
+
msgstr ""
|
1572 |
+
|
1573 |
+
#: ../admin/cerber-admin.php:1232
|
1574 |
+
msgid "Average Size"
|
1575 |
+
msgstr ""
|
1576 |
+
|
1577 |
+
#: ../admin/cerber-admin.php:1233
|
1578 |
+
msgid "Oldest"
|
1579 |
+
msgstr ""
|
1580 |
+
|
1581 |
+
#: ../admin/cerber-admin.php:1234
|
1582 |
+
msgid "Newest"
|
1583 |
+
msgstr ""
|
1584 |
+
|
1585 |
+
#: ../admin/cerber-admin.php:1250
|
1586 |
+
msgid "Top 10 largest files"
|
1587 |
+
msgstr ""
|
1588 |
+
|
1589 |
+
#: ../admin/cerber-admin.php:1354
|
1590 |
+
msgid "File Name"
|
1591 |
+
msgstr ""
|
1592 |
+
|
1593 |
+
#: ../cerber-lab.php:836
|
1594 |
msgid "Want to make WP Cerber even more powerful?"
|
1595 |
msgstr ""
|
1596 |
|
1597 |
+
#: ../cerber-lab.php:837
|
1598 |
msgid ""
|
1599 |
"Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. "
|
1600 |
"This helps the plugin team to develop new algorithms for WP Cerber that will "
|
1602 |
"everyday. You can disable the sending in the plugin settings at any time."
|
1603 |
msgstr ""
|
1604 |
|
1605 |
+
#: ../cerber-lab.php:838
|
1606 |
msgid "OK, nail them all"
|
1607 |
msgstr ""
|
1608 |
|
1609 |
+
#: ../cerber-lab.php:839
|
1610 |
msgid "NO, maybe later"
|
1611 |
msgstr ""
|
1612 |
|
1613 |
+
#: ../cerber-load.php:343
|
1614 |
msgid "You are not allowed to log in. Ask your administrator for assistance."
|
1615 |
msgstr ""
|
1616 |
|
1617 |
+
#: ../cerber-load.php:349
|
1618 |
#, php-format
|
1619 |
msgid ""
|
1620 |
"You have exceeded the number of allowed login attempts. Please try again in "
|
1621 |
"%d minutes."
|
1622 |
msgstr ""
|
1623 |
|
1624 |
+
#: ../cerber-load.php:353
|
1625 |
msgid "You are not allowed to log in"
|
1626 |
msgstr ""
|
1627 |
|
1628 |
+
#: ../cerber-load.php:368
|
1629 |
#, php-format
|
1630 |
msgid "You have only one attempt remaining."
|
1631 |
msgid_plural "You have %d attempts remaining."
|
1632 |
msgstr[0] ""
|
1633 |
msgstr[1] ""
|
1634 |
|
1635 |
+
#: ../cerber-load.php:680
|
1636 |
msgid ""
|
1637 |
"Human verification failed. Please click the square box in the reCAPTCHA "
|
1638 |
"block below."
|
1639 |
msgstr ""
|
1640 |
|
1641 |
+
#: ../cerber-load.php:818
|
1642 |
msgid ""
|
1643 |
"> > > Translator of WP Cerber? To get the PRO license for free, drop your "
|
1644 |
"contacts here: https://wpcerber.com/contact/"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
+
#: ../cerber-load.php:1127
|
1648 |
#, php-format
|
1649 |
msgid ""
|
1650 |
"<strong>ERROR</strong>: The password you entered for the username %s is "
|
1651 |
"incorrect."
|
1652 |
msgstr ""
|
1653 |
|
1654 |
+
#: ../cerber-load.php:1550 ../cerber-load.php:1556 ../cerber-load.php:1581 ..
|
1655 |
+
#: /cerber-load.php:1588
|
1656 |
msgid "You are not allowed to register."
|
1657 |
msgstr ""
|
1658 |
|
1659 |
+
#: ../cerber-load.php:1568
|
1660 |
msgid "Username is not allowed. Please choose another one."
|
1661 |
msgstr ""
|
1662 |
|
1663 |
+
#: ../cerber-load.php:1575
|
1664 |
msgid "Email address is not permitted."
|
1665 |
msgstr ""
|
1666 |
|
1667 |
+
#: ../cerber-load.php:1575
|
1668 |
msgid "Please choose another one."
|
1669 |
msgstr ""
|
1670 |
|
1671 |
+
#: ../cerber-load.php:1889
|
1672 |
msgid "Sorry, human verification failed."
|
1673 |
msgstr ""
|
1674 |
|
1675 |
+
#: ../cerber-load.php:4029
|
1676 |
msgid "We're sorry, you are not allowed to proceed"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
+
#: ../cerber-load.php:4145
|
1680 |
msgid "WP Cerber notify"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
+
#: ../cerber-load.php:4169
|
1684 |
msgid "Citadel mode is activated"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
+
#: ../cerber-load.php:4171
|
1688 |
#, php-format
|
1689 |
msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
|
1690 |
msgstr ""
|
1691 |
|
1692 |
+
#: ../cerber-load.php:4172
|
1693 |
#, php-format
|
1694 |
msgid "Last failed attempt was at %s from IP %s with user login: %s."
|
1695 |
msgstr ""
|
1696 |
|
1697 |
+
#: ../cerber-load.php:4173 ../cerber-load.php:4985
|
1698 |
msgid "View activity in dashboard"
|
1699 |
msgstr ""
|
1700 |
|
1701 |
+
#: ../cerber-load.php:4197
|
1702 |
msgid "unspecified"
|
1703 |
msgstr ""
|
1704 |
|
1705 |
+
#: ../cerber-load.php:4200
|
1706 |
msgid "Number of lockouts is increasing"
|
1707 |
msgstr ""
|
1708 |
|
1709 |
+
#: ../cerber-load.php:4202
|
1710 |
msgid "Number of active lockouts"
|
1711 |
msgstr ""
|
1712 |
|
1713 |
+
#: ../cerber-load.php:4203
|
1714 |
#, php-format
|
1715 |
msgid "Last lockout was added: %s for IP %s"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
+
#: ../cerber-load.php:4205
|
1719 |
msgid "View activity for this IP"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
+
#: ../cerber-load.php:4206
|
1723 |
msgid "View lockouts in dashboard"
|
1724 |
msgstr ""
|
1725 |
|
1726 |
+
#: ../cerber-load.php:4209 ../cerber-load.php:4211
|
1727 |
msgid "A new version of WP Cerber is available to install"
|
1728 |
msgstr ""
|
1729 |
|
1730 |
+
#: ../cerber-load.php:4210
|
1731 |
msgid "Hi!"
|
1732 |
msgstr ""
|
1733 |
|
1734 |
+
#: ../cerber-load.php:4213 ../cerber-load.php:4224 ../nexus/cerber-slave-list.php:
|
1735 |
#: 44
|
1736 |
msgid "Website"
|
1737 |
msgstr ""
|
1738 |
|
1739 |
+
#: ../cerber-load.php:4216 ../cerber-load.php:4217
|
1740 |
msgid "The WP Cerber security plugin has been deactivated"
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: ../cerber-load.php:4219
|
1744 |
msgid "Not logged in"
|
1745 |
msgstr ""
|
1746 |
|
1747 |
+
#: ../cerber-load.php:4225
|
1748 |
msgid "By user"
|
1749 |
msgstr ""
|
1750 |
|
1751 |
+
#: ../cerber-load.php:4226
|
1752 |
msgid "From IP address"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
+
#: ../cerber-load.php:4229
|
1756 |
msgid "From country"
|
1757 |
msgstr ""
|
1758 |
|
1759 |
+
#: ../cerber-load.php:4233
|
1760 |
msgid "The WP Cerber security plugin is now active"
|
1761 |
msgstr ""
|
1762 |
|
1763 |
+
#: ../cerber-load.php:4234 ../cerber-load.php:5259
|
1764 |
msgid "WP Cerber is now active and has started protecting your site"
|
1765 |
msgstr ""
|
1766 |
|
1767 |
+
#: ../cerber-load.php:4236 ../cerber-load.php:5262
|
1768 |
+
msgid "Getting Started Guide"
|
1769 |
+
msgstr ""
|
1770 |
+
|
1771 |
+
#: ../cerber-load.php:4245
|
1772 |
msgid "New Custom login URL"
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: ../cerber-load.php:4249 ../cerber-load.php:4250
|
1776 |
msgid "A new activity has been recorded"
|
1777 |
msgstr ""
|
1778 |
|
1779 |
+
#: ../cerber-load.php:4255
|
1780 |
msgid "Weekly report"
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: ../cerber-load.php:4258 ../cerber-load.php:4268
|
1784 |
msgid "To change reporting settings visit"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: ../cerber-load.php:4265
|
1788 |
msgid "Scanner Report"
|
1789 |
msgstr ""
|
1790 |
|
1791 |
+
#: ../cerber-load.php:4294
|
1792 |
msgid "Your login page:"
|
1793 |
msgstr ""
|
1794 |
|
1795 |
+
#: ../cerber-load.php:4299
|
1796 |
msgid "Your license is valid until"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
+
#: ../cerber-load.php:4302
|
1800 |
msgid "This message was sent by"
|
1801 |
msgstr ""
|
1802 |
|
1803 |
+
#: ../cerber-load.php:4323
|
1804 |
#, php-format
|
1805 |
msgid "Your last sign-in was %s from %s"
|
1806 |
msgstr ""
|
1807 |
|
1808 |
+
#: ../cerber-load.php:4393
|
1809 |
msgid "Weekly Report"
|
1810 |
msgstr ""
|
1811 |
|
1812 |
+
#: ../cerber-load.php:4405
|
1813 |
msgid "Activity details"
|
1814 |
msgstr ""
|
1815 |
|
1816 |
+
#: ../cerber-load.php:4419
|
1817 |
msgid "Attempts to log in with non-existing usernames"
|
1818 |
msgstr ""
|
1819 |
|
1820 |
+
#: ../cerber-load.php:4953
|
1821 |
+
msgid "IP"
|
1822 |
+
msgstr ""
|
1823 |
+
|
1824 |
+
#: ../cerber-load.php:4957 ../cerber-users.php:978
|
1825 |
msgid "User"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
+
#: ../cerber-load.php:4961
|
1829 |
msgid "Username used"
|
1830 |
msgstr ""
|
1831 |
|
1832 |
+
#: ../cerber-load.php:4965
|
1833 |
msgid "Search string"
|
1834 |
msgstr ""
|
1835 |
|
1836 |
+
#: ../cerber-load.php:4986
|
1837 |
msgid "To delete the alert, click here"
|
1838 |
msgstr ""
|
1839 |
|
1840 |
+
#: ../cerber-load.php:5204
|
1841 |
#, php-format
|
1842 |
msgid "The WP Cerber requires PHP %s or higher. You are running"
|
1843 |
msgstr ""
|
1844 |
|
1845 |
+
#: ../cerber-load.php:5208
|
1846 |
#, php-format
|
1847 |
msgid "The WP Cerber requires WordPress %s or higher. You are running"
|
1848 |
msgstr ""
|
1849 |
|
1850 |
+
#: ../cerber-load.php:5218
|
1851 |
msgid "Can't activate WP Cerber due to a database error."
|
1852 |
msgstr ""
|
1853 |
|
1854 |
+
#: ../cerber-load.php:5244
|
1855 |
msgid "Your IP address is added to the"
|
1856 |
msgstr ""
|
1857 |
|
1858 |
+
#: ../cerber-load.php:5276
|
1859 |
msgid "Import settings"
|
1860 |
msgstr ""
|
1861 |
|
1862 |
+
#: ../cerber-load.php:5277 ../nexus/cerber-nexus.php:64
|
1863 |
msgid "Enable slave mode"
|
1864 |
msgstr ""
|
1865 |
|
1889 |
msgid "blocked by %s at %s"
|
1890 |
msgstr ""
|
1891 |
|
1892 |
+
#: ../cerber-users.php:68 ../settings.php:533
|
1893 |
msgid "User Message"
|
1894 |
msgstr ""
|
1895 |
|
1941 |
msgid "Redirect user after logout"
|
1942 |
msgstr ""
|
1943 |
|
1944 |
+
#: ../cerber-users.php:432 ../settings.php:582
|
1945 |
msgid "User session expiration time"
|
1946 |
msgstr ""
|
1947 |
|
1993 |
msgid "number of logins"
|
1994 |
msgstr ""
|
1995 |
|
1996 |
+
#: ../cerber-users.php:541
|
1997 |
msgid "Policies have been updated"
|
1998 |
msgstr ""
|
1999 |
|
2000 |
+
#: ../cerber-users.php:615
|
2001 |
#, php-format
|
2002 |
msgid "Session has been terminated"
|
2003 |
msgid_plural "%s sessions have been terminated"
|
2004 |
msgstr[0] ""
|
2005 |
msgstr[1] ""
|
2006 |
|
2007 |
+
#: ../cerber-users.php:951
|
2008 |
msgid "WP Cerber Personal Data Eraser"
|
2009 |
msgstr ""
|
2010 |
|
2011 |
+
#: ../cerber-users.php:980
|
2012 |
msgid "Created"
|
2013 |
msgstr ""
|
2014 |
|
2015 |
+
#: ../cerber-users.php:1001
|
2016 |
msgid "Terminate session"
|
2017 |
msgstr ""
|
2018 |
|
2019 |
+
#: ../cerber-users.php:1002
|
2020 |
msgid "Block user"
|
2021 |
msgstr ""
|
2022 |
|
2023 |
+
#: ../cerber-users.php:1070 ../nexus/cerber-slave-list.php:244
|
2024 |
msgid "Search results for:"
|
2025 |
msgstr ""
|
2026 |
|
2027 |
+
#: ../cerber-users.php:1112
|
2028 |
msgid "Profile"
|
2029 |
msgstr ""
|
2030 |
|
2031 |
+
#: ../cerber-users.php:1125
|
2032 |
msgid "All Logins"
|
2033 |
msgstr ""
|
2034 |
|
2035 |
+
#: ../cerber-users.php:1126
|
2036 |
msgid "User Activity"
|
2037 |
msgstr ""
|
2038 |
|
2039 |
+
#: ../cerber-users.php:1172
|
2040 |
msgid "Terminate"
|
2041 |
msgstr ""
|
2042 |
|
2043 |
+
#: ../settings.php:113
|
2044 |
msgid "All connected devices"
|
2045 |
msgstr ""
|
2046 |
|
2047 |
+
#: ../settings.php:116
|
2048 |
msgid "No devices found"
|
2049 |
msgstr ""
|
2050 |
|
2051 |
+
#: ../settings.php:120
|
2052 |
msgid "Not available"
|
2053 |
msgstr ""
|
2054 |
|
2055 |
+
#: ../settings.php:126
|
2056 |
msgid ""
|
2057 |
"Please enable Permalinks to use this feature. Set Permalink Settings to "
|
2058 |
"something other than Default."
|
2059 |
msgstr ""
|
2060 |
|
2061 |
+
#: ../settings.php:129
|
2062 |
msgid "Be careful about enabling these options."
|
2063 |
msgstr ""
|
2064 |
|
2065 |
+
#: ../settings.php:129
|
2066 |
msgid "If you forget your Custom login URL, you will be unable to log in."
|
2067 |
msgstr ""
|
2068 |
|
2069 |
+
#: ../settings.php:132
|
2070 |
msgid "These restrictions do not apply to IP addresses in the White IP Access List"
|
2071 |
msgstr ""
|
2072 |
|
2073 |
+
#: ../settings.php:136
|
2074 |
msgid "Plugin initialization"
|
2075 |
msgstr ""
|
2076 |
|
2077 |
+
#: ../settings.php:139
|
2078 |
msgid "Load security engine"
|
2079 |
msgstr ""
|
2080 |
|
2081 |
+
#: ../settings.php:142
|
2082 |
msgid "Legacy mode"
|
2083 |
msgstr ""
|
2084 |
|
2085 |
+
#: ../settings.php:143
|
2086 |
msgid "Standard mode"
|
2087 |
msgstr ""
|
2088 |
|
2089 |
+
#: ../settings.php:149
|
2090 |
msgid "Limit login attempts"
|
2091 |
msgstr ""
|
2092 |
|
2093 |
+
#: ../settings.php:152
|
2094 |
msgid "Limit"
|
2095 |
msgstr ""
|
2096 |
|
2097 |
+
#: ../settings.php:157
|
2098 |
msgid "Lockout duration"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
+
#: ../settings.php:158 ../settings.php:259
|
2102 |
msgid "minutes"
|
2103 |
msgstr ""
|
2104 |
|
2105 |
+
#: ../settings.php:161
|
2106 |
msgid "Aggressive lockout"
|
2107 |
msgstr ""
|
2108 |
|
2109 |
+
#: ../settings.php:165 ../settings.php:526 ../settings.php:726
|
2110 |
msgid "Use White IP Access List"
|
2111 |
msgstr ""
|
2112 |
|
2113 |
+
#: ../settings.php:166
|
2114 |
msgid "Apply limit login rules to IP addresses in the White IP Access List"
|
2115 |
msgstr ""
|
2116 |
|
2117 |
+
#: ../settings.php:172
|
2118 |
msgid "Proactive security rules"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
+
#: ../settings.php:173
|
2122 |
msgid "Make your protection smarter!"
|
2123 |
msgstr ""
|
2124 |
|
2125 |
+
#: ../settings.php:176
|
2126 |
msgid "Block subnet"
|
2127 |
msgstr ""
|
2128 |
|
2129 |
+
#: ../settings.php:177
|
2130 |
msgid "Always block entire subnet Class C of intruders IP"
|
2131 |
msgstr ""
|
2132 |
|
2133 |
+
#: ../settings.php:181
|
2134 |
msgid "Non-existing users"
|
2135 |
msgstr ""
|
2136 |
|
2137 |
+
#: ../settings.php:182
|
2138 |
msgid "Immediately block IP when attempting to log in with a non-existing username"
|
2139 |
msgstr ""
|
2140 |
|
2141 |
+
#: ../settings.php:186
|
2142 |
msgid "Disable dashboard redirection"
|
2143 |
msgstr ""
|
2144 |
|
2145 |
+
#: ../settings.php:187
|
2146 |
msgid ""
|
2147 |
"Disable automatic redirection to the login page when /wp-admin/ is requested "
|
2148 |
"by an unauthorized request"
|
2149 |
msgstr ""
|
2150 |
|
2151 |
+
#: ../settings.php:191
|
2152 |
msgid "Request wp-login.php"
|
2153 |
msgstr ""
|
2154 |
|
2155 |
+
#: ../settings.php:192
|
2156 |
msgid "Immediately block IP after any request to wp-login.php"
|
2157 |
msgstr ""
|
2158 |
|
2159 |
+
#: ../settings.php:196
|
2160 |
msgid "Display 404 page"
|
2161 |
msgstr ""
|
2162 |
|
2163 |
+
#: ../settings.php:199
|
2164 |
msgid "Use 404 template from the active theme"
|
2165 |
msgstr ""
|
2166 |
|
2167 |
+
#: ../settings.php:200
|
2168 |
msgid "Display simple 404 page"
|
2169 |
msgstr ""
|
2170 |
|
2171 |
+
#: ../settings.php:207
|
2172 |
msgid "Custom login page"
|
2173 |
msgstr ""
|
2174 |
|
2175 |
+
#: ../settings.php:211
|
2176 |
msgid "Custom login URL"
|
2177 |
msgstr ""
|
2178 |
|
2179 |
+
#: ../settings.php:212
|
2180 |
msgid "must not overlap with the existing pages or posts slug"
|
2181 |
msgstr ""
|
2182 |
|
2183 |
+
#: ../settings.php:214
|
2184 |
msgid ""
|
2185 |
"Custom login URL may contain Latin alphanumeric characters, dashes and "
|
2186 |
"underscores only"
|
2187 |
msgstr ""
|
2188 |
|
2189 |
+
#: ../settings.php:219
|
2190 |
msgid "Disable wp-login.php"
|
2191 |
msgstr ""
|
2192 |
|
2193 |
+
#: ../settings.php:220
|
2194 |
msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
|
2195 |
msgstr ""
|
2196 |
|
2197 |
+
#: ../settings.php:226
|
2198 |
msgid "Site-specific settings"
|
2199 |
msgstr ""
|
2200 |
|
2201 |
+
#: ../settings.php:229
|
2202 |
msgid "Site connection"
|
2203 |
msgstr ""
|
2204 |
|
2205 |
+
#: ../settings.php:234
|
2206 |
msgid "Prefix for plugin cookies"
|
2207 |
msgstr ""
|
2208 |
|
2209 |
+
#: ../settings.php:235
|
2210 |
msgid "Prefix may contain only Latin alphanumeric characters and underscores"
|
2211 |
msgstr ""
|
2212 |
|
2213 |
+
#: ../settings.php:244
|
2214 |
msgid ""
|
2215 |
"In the Citadel mode nobody is able to log in except IPs from the White IP "
|
2216 |
"Access List. Active user sessions will not be affected."
|
2217 |
msgstr ""
|
2218 |
|
2219 |
+
#: ../settings.php:247
|
2220 |
msgid "Enable authentication log monitoring"
|
2221 |
msgstr ""
|
2222 |
|
2223 |
+
#: ../settings.php:253
|
2224 |
msgid "Threshold"
|
2225 |
msgstr ""
|
2226 |
|
2227 |
+
#: ../settings.php:266
|
|
|
|
|
|
|
|
|
2228 |
msgid "Send notification to admin email"
|
2229 |
msgstr ""
|
2230 |
|
2231 |
+
#: ../settings.php:279 ../settings.php:813
|
2232 |
msgid "Keep log records of not logged in visitors for"
|
2233 |
msgstr ""
|
2234 |
|
2235 |
+
#: ../settings.php:280 ../settings.php:286 ../settings.php:814 ../settings.php:
|
2236 |
+
#: 820 ../settings.php:891 ../settings.php:1082
|
2237 |
msgid "days"
|
2238 |
msgstr ""
|
2239 |
|
2240 |
+
#: ../settings.php:285 ../settings.php:819
|
2241 |
msgid "Keep log records of logged in users for"
|
2242 |
msgstr ""
|
2243 |
|
2244 |
+
#: ../settings.php:291
|
2245 |
msgid "Cerber Lab connection"
|
2246 |
msgstr ""
|
2247 |
|
2248 |
+
#: ../settings.php:292
|
2249 |
msgid "Send malicious IP addresses to the Cerber Lab"
|
2250 |
msgstr ""
|
2251 |
|
2252 |
+
#: ../settings.php:297
|
2253 |
msgid "Cerber Lab protocol"
|
2254 |
msgstr ""
|
2255 |
|
2256 |
+
#: ../settings.php:305
|
2257 |
msgid "Use file"
|
2258 |
msgstr ""
|
2259 |
|
2260 |
+
#: ../settings.php:306
|
2261 |
msgid "Write failed login attempts to the file"
|
2262 |
msgstr ""
|
2263 |
|
2264 |
+
#: ../settings.php:312
|
2265 |
msgid "Preferences"
|
2266 |
msgstr ""
|
2267 |
|
2268 |
+
#: ../settings.php:315
|
2269 |
msgid "Drill down IP"
|
2270 |
msgstr ""
|
2271 |
|
2272 |
+
#: ../settings.php:316
|
2273 |
+
msgid "Retrieve extra WHOIS information for IP"
|
2274 |
+
msgstr ""
|
2275 |
+
|
2276 |
+
#: ../settings.php:320
|
2277 |
+
msgid "Date format"
|
2278 |
+
msgstr ""
|
2279 |
+
|
2280 |
+
#: ../settings.php:321
|
2281 |
+
#, php-format
|
2282 |
+
msgid "if empty, the default format %s will be used"
|
2283 |
+
msgstr ""
|
2284 |
+
|
2285 |
+
#: ../settings.php:327
|
2286 |
+
msgid "Date format for CSV export"
|
2287 |
+
msgstr ""
|
2288 |
+
|
2289 |
+
#: ../settings.php:328
|
2290 |
+
msgid "Use ISO 8601 date format for CSV export files"
|
2291 |
+
msgstr ""
|
2292 |
+
|
2293 |
+
#: ../settings.php:332
|
2294 |
+
msgid "Use English"
|
2295 |
msgstr ""
|
2296 |
|
2297 |
+
#: ../settings.php:333
|
2298 |
+
msgid "Use English for admin interface"
|
2299 |
msgstr ""
|
2300 |
|
2301 |
+
#: ../settings.php:337
|
2302 |
+
msgid "My IP address"
|
|
|
2303 |
msgstr ""
|
2304 |
|
2305 |
+
#: ../settings.php:338
|
2306 |
+
msgid "Do not add my IP address to the White IP Access List upon plugin activation"
|
2307 |
msgstr ""
|
2308 |
|
2309 |
+
#: ../settings.php:349
|
2310 |
msgid "Hardening WordPress"
|
2311 |
msgstr ""
|
2312 |
|
2313 |
+
#: ../settings.php:353 ../settings.php:389
|
2314 |
msgid "Stop user enumeration"
|
2315 |
msgstr ""
|
2316 |
|
2317 |
+
#: ../settings.php:354
|
2318 |
msgid "Block access to user pages like /?author=n"
|
2319 |
msgstr ""
|
2320 |
|
2321 |
+
#: ../settings.php:358
|
2322 |
msgid "Protect admin scripts"
|
2323 |
msgstr ""
|
2324 |
|
2325 |
+
#: ../settings.php:359
|
2326 |
msgid "Block unauthorized access to load-scripts.php and load-styles.php"
|
2327 |
msgstr ""
|
2328 |
|
2329 |
+
#: ../settings.php:363
|
2330 |
msgid "Disable PHP in uploads"
|
2331 |
msgstr ""
|
2332 |
|
2333 |
+
#: ../settings.php:364
|
2334 |
msgid "Block execution of PHP scripts in the WordPress media folder"
|
2335 |
msgstr ""
|
2336 |
|
2337 |
+
#: ../settings.php:368
|
2338 |
msgid "Disable PHP error displaying"
|
2339 |
msgstr ""
|
2340 |
|
2341 |
+
#: ../settings.php:372
|
2342 |
msgid "Disable XML-RPC"
|
2343 |
msgstr ""
|
2344 |
|
2345 |
+
#: ../settings.php:373
|
2346 |
msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
|
2347 |
msgstr ""
|
2348 |
|
2349 |
+
#: ../settings.php:377
|
2350 |
msgid "Disable feeds"
|
2351 |
msgstr ""
|
2352 |
|
2353 |
+
#: ../settings.php:378
|
2354 |
msgid "Block access to the RSS, Atom and RDF feeds"
|
2355 |
msgstr ""
|
2356 |
|
2357 |
+
#: ../settings.php:384
|
2358 |
msgid "Access to WordPress REST API"
|
2359 |
msgstr ""
|
2360 |
|
2361 |
+
#: ../settings.php:385
|
2362 |
msgid ""
|
2363 |
"Restrict or completely block access to the WordPress REST API according to "
|
2364 |
"your needs"
|
2365 |
msgstr ""
|
2366 |
|
2367 |
+
#: ../settings.php:390
|
2368 |
msgid "Block access to users' data via REST API"
|
2369 |
msgstr ""
|
2370 |
|
2371 |
+
#: ../settings.php:394
|
2372 |
msgid "Disable REST API"
|
2373 |
msgstr ""
|
2374 |
|
2375 |
+
#: ../settings.php:395
|
2376 |
msgid "Block access to WordPress REST API except any of the following"
|
2377 |
msgstr ""
|
2378 |
|
2379 |
+
#: ../settings.php:400
|
2380 |
msgid "Allow REST API for logged in users"
|
2381 |
msgstr ""
|
2382 |
|
2383 |
+
#: ../settings.php:405
|
2384 |
msgid "Allow REST API for these roles"
|
2385 |
msgstr ""
|
2386 |
|
2387 |
+
#: ../settings.php:410
|
2388 |
msgid "Allow these namespaces"
|
2389 |
msgstr ""
|
2390 |
|
2391 |
+
#: ../settings.php:414
|
2392 |
msgid ""
|
2393 |
"Specify REST API namespaces to be allowed if REST API is disabled. One "
|
2394 |
"string per line."
|
2395 |
msgstr ""
|
2396 |
|
2397 |
+
#: ../settings.php:421
|
2398 |
msgid "Protect user accounts"
|
2399 |
msgstr ""
|
2400 |
|
2401 |
+
#: ../settings.php:426
|
2402 |
msgid ""
|
2403 |
"Restrict user account creation and user management with the following "
|
2404 |
"policies"
|
2405 |
msgstr ""
|
2406 |
|
2407 |
+
#: ../settings.php:432
|
2408 |
msgid "User registrations are limited to these roles"
|
2409 |
msgstr ""
|
2410 |
|
2411 |
+
#: ../settings.php:438
|
2412 |
msgid "Users with these roles are permitted to create new accounts"
|
2413 |
msgstr ""
|
2414 |
|
2415 |
+
#: ../settings.php:443
|
2416 |
msgid "Users with these roles are permitted to change sensitive user data"
|
2417 |
msgstr ""
|
2418 |
|
2419 |
+
#: ../settings.php:448 ../settings.php:476 ../settings.php:505
|
2420 |
msgid "Do not apply these policies to the IP addresses in the White IP Access List"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
+
#: ../settings.php:456
|
2424 |
msgid "Protect user roles"
|
2425 |
msgstr ""
|
2426 |
|
2427 |
+
#: ../settings.php:460
|
2428 |
msgid "Restrict roles and capabilities management with the following policies"
|
2429 |
msgstr ""
|
2430 |
|
2431 |
+
#: ../settings.php:466
|
2432 |
msgid "Users with these roles are permitted to add new roles"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
+
#: ../settings.php:471
|
2436 |
msgid "Users with these roles are permitted to change role capabilities"
|
2437 |
msgstr ""
|
2438 |
|
2439 |
+
#: ../settings.php:484
|
2440 |
msgid "Protect site settings"
|
2441 |
msgstr ""
|
2442 |
|
2443 |
+
#: ../settings.php:488
|
2444 |
msgid "Restrict updating site settings with the following policies"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
+
#: ../settings.php:494
|
2448 |
msgid "Users with these roles are permitted to change protected settings"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
+
#: ../settings.php:499
|
2452 |
msgid "Protected settings"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
+
#: ../settings.php:519
|
2456 |
msgid "Authorized users only"
|
2457 |
msgstr ""
|
2458 |
|
2459 |
+
#: ../settings.php:520
|
2460 |
msgid "Only registered and logged in website users have access to the website"
|
2461 |
msgstr ""
|
2462 |
|
2463 |
+
#: ../settings.php:527
|
2464 |
msgid "Do not apply these policy to the IP addresses in the White IP Access List"
|
2465 |
msgstr ""
|
2466 |
|
2467 |
+
#: ../settings.php:537 ../settings.php:1454
|
2468 |
msgid "Only registered and logged in users are allowed to view this website"
|
2469 |
msgstr ""
|
2470 |
|
2471 |
+
#: ../settings.php:542
|
2472 |
msgid "Redirect to URL"
|
2473 |
msgstr ""
|
2474 |
|
2475 |
+
#: ../settings.php:551
|
2476 |
msgid "Registration limit"
|
2477 |
msgstr ""
|
2478 |
|
2479 |
+
#: ../settings.php:557
|
2480 |
msgid "Restrict email addresses"
|
2481 |
msgstr ""
|
2482 |
|
2483 |
+
#: ../settings.php:560
|
2484 |
msgid "No restrictions"
|
2485 |
msgstr ""
|
2486 |
|
2487 |
+
#: ../settings.php:561
|
2488 |
msgid "Deny all email addresses that match the following"
|
2489 |
msgstr ""
|
2490 |
|
2491 |
+
#: ../settings.php:562
|
2492 |
msgid "Permit only email addresses that match the following"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
+
#: ../settings.php:567
|
2496 |
msgid ""
|
2497 |
"Specify email addresses, wildcards or REGEX patterns. Use comma to separate "
|
2498 |
"items."
|
2499 |
msgstr ""
|
2500 |
|
2501 |
+
#: ../settings.php:567 ../settings.php:575
|
2502 |
msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
|
2503 |
msgstr ""
|
2504 |
|
2505 |
+
#: ../settings.php:574
|
2506 |
msgid "Prohibited usernames"
|
2507 |
msgstr ""
|
2508 |
|
2509 |
+
#: ../settings.php:575
|
2510 |
msgid ""
|
2511 |
"Usernames from this list are not allowed to log in or register. Any IP "
|
2512 |
"address, have tried to use any of these usernames, will be immediately "
|
2513 |
"blocked. Use comma to separate logins."
|
2514 |
msgstr ""
|
2515 |
|
2516 |
+
#: ../settings.php:583
|
2517 |
msgid "minutes (leave empty to use the default WordPress value)"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
+
#: ../settings.php:589
|
2521 |
msgid "Sort users in dashboard"
|
2522 |
msgstr ""
|
2523 |
|
2524 |
+
#: ../settings.php:590
|
2525 |
msgid "by date of registration"
|
2526 |
msgstr ""
|
2527 |
|
2528 |
+
#: ../settings.php:598
|
2529 |
msgid "Personal Data"
|
2530 |
msgstr ""
|
2531 |
|
2532 |
+
#: ../settings.php:600
|
2533 |
msgid ""
|
2534 |
"These features help your organization to be in compliance with personal data "
|
2535 |
"protection laws"
|
2536 |
msgstr ""
|
2537 |
|
2538 |
+
#: ../settings.php:604
|
2539 |
msgid "Enable data erase"
|
2540 |
msgstr ""
|
2541 |
|
2542 |
+
#: ../settings.php:611
|
2543 |
msgid "Terminate user sessions"
|
2544 |
msgstr ""
|
2545 |
|
2546 |
+
#: ../settings.php:612
|
2547 |
msgid "Delete user sessions data when user data is erased"
|
2548 |
msgstr ""
|
2549 |
|
2550 |
+
#: ../settings.php:618
|
2551 |
msgid "Enable data export"
|
2552 |
msgstr ""
|
2553 |
|
2554 |
+
#: ../settings.php:625
|
2555 |
msgid "Include activity log events"
|
2556 |
msgstr ""
|
2557 |
|
2558 |
+
#: ../settings.php:631
|
2559 |
msgid "Include traffic log entries"
|
2560 |
msgstr ""
|
2561 |
|
2562 |
+
#: ../settings.php:634
|
2563 |
msgid "Request URL"
|
2564 |
msgstr ""
|
2565 |
|
2566 |
+
#: ../settings.php:635
|
2567 |
msgid "Form fields data"
|
2568 |
msgstr ""
|
2569 |
|
2570 |
+
#: ../settings.php:636
|
2571 |
msgid "Cookies"
|
2572 |
msgstr ""
|
2573 |
|
2574 |
+
#: ../settings.php:644
|
2575 |
msgid "Email notifications"
|
2576 |
msgstr ""
|
2577 |
|
2578 |
+
#: ../settings.php:649
|
2579 |
msgid "Lockout notifications"
|
2580 |
msgstr ""
|
2581 |
|
2582 |
+
#: ../settings.php:653 ../settings.php:700 ../settings.php:946
|
2583 |
msgid "Email Address"
|
2584 |
msgstr ""
|
2585 |
|
2586 |
+
#: ../settings.php:654 ../settings.php:702 ../settings.php:785 ../settings.php:948
|
2587 |
msgid "Use comma to specify multiple values"
|
2588 |
msgstr ""
|
2589 |
|
2590 |
+
#: ../settings.php:658
|
2591 |
#, php-format
|
2592 |
msgid "if empty, the website administrator email %s will be used"
|
2593 |
msgstr ""
|
2594 |
|
2595 |
+
#: ../settings.php:661
|
2596 |
msgid "Notification limit"
|
2597 |
msgstr ""
|
2598 |
|
2599 |
+
#: ../settings.php:662
|
2600 |
msgid "notifications are allowed per hour (0 means unlimited)"
|
2601 |
msgstr ""
|
2602 |
|
2603 |
+
#: ../settings.php:666
|
2604 |
msgid "New version is available"
|
2605 |
msgstr ""
|
2606 |
|
2607 |
+
#: ../settings.php:672
|
2608 |
msgid "Push notifications"
|
2609 |
msgstr ""
|
2610 |
|
2611 |
+
#: ../settings.php:673
|
2612 |
msgid "Get notified instantly with mobile and desktop notifications"
|
2613 |
msgstr ""
|
2614 |
|
2615 |
+
#: ../settings.php:677
|
2616 |
msgid "Pushbullet access token"
|
2617 |
msgstr ""
|
2618 |
|
2619 |
+
#: ../settings.php:680
|
2620 |
msgid "Pushbullet device"
|
2621 |
msgstr ""
|
2622 |
|
2623 |
+
#: ../settings.php:687
|
2624 |
msgid "Weekly reports"
|
2625 |
msgstr ""
|
2626 |
|
2627 |
+
#: ../settings.php:688
|
2628 |
msgid ""
|
2629 |
"Weekly report is a summary of all activities and suspicious events occurred "
|
2630 |
"during the last seven days"
|
2631 |
msgstr ""
|
2632 |
|
2633 |
+
#: ../settings.php:691
|
2634 |
msgid "Enable reporting"
|
2635 |
msgstr ""
|
2636 |
|
2637 |
+
#: ../settings.php:695
|
2638 |
msgid "Send reports on"
|
2639 |
msgstr ""
|
2640 |
|
2641 |
+
#: ../settings.php:701 ../settings.php:947
|
2642 |
msgid "if empty, the email addresses from the notification settings will be used"
|
2643 |
msgstr ""
|
2644 |
|
2645 |
+
#: ../settings.php:712
|
2646 |
msgid "Traffic Inspection"
|
2647 |
msgstr ""
|
2648 |
|
2649 |
+
#: ../settings.php:713
|
2650 |
msgid ""
|
2651 |
"Traffic Inspector is a context-aware web application firewall (WAF) that "
|
2652 |
"protects your website by recognizing and denying malicious HTTP requests"
|
2653 |
msgstr ""
|
2654 |
|
2655 |
+
#: ../settings.php:717
|
2656 |
msgid "Enable traffic inspection"
|
2657 |
msgstr ""
|
2658 |
|
2659 |
+
#: ../settings.php:721 ../settings.php:749
|
2660 |
msgid "Maximum compatibility"
|
2661 |
msgstr ""
|
2662 |
|
2663 |
+
#: ../settings.php:722 ../settings.php:750
|
2664 |
msgid "Maximum security"
|
2665 |
msgstr ""
|
2666 |
|
2667 |
+
#: ../settings.php:730
|
2668 |
msgid "Request whitelist"
|
2669 |
msgstr ""
|
2670 |
|
2671 |
+
#: ../settings.php:734
|
2672 |
msgid ""
|
2673 |
"Enter a request URI to exclude the request from inspection. One item per "
|
2674 |
"line."
|
2675 |
msgstr ""
|
2676 |
|
2677 |
+
#: ../settings.php:734
|
2678 |
msgid "To specify a REGEX pattern, enclose a whole line in two braces."
|
2679 |
msgstr ""
|
2680 |
|
2681 |
+
#: ../settings.php:740
|
2682 |
msgid "Erroneous Request Shielding"
|
2683 |
msgstr ""
|
2684 |
|
2685 |
+
#: ../settings.php:742
|
2686 |
msgid ""
|
2687 |
"Block IP addresses that send excessive requests for non-existing pages or "
|
2688 |
"scan website for security breaches"
|
2689 |
msgstr ""
|
2690 |
|
2691 |
+
#: ../settings.php:745
|
2692 |
msgid "Enable error shielding"
|
2693 |
msgstr ""
|
2694 |
|
2695 |
+
#: ../settings.php:754
|
2696 |
msgid "Ignore logged in users"
|
2697 |
msgstr ""
|
2698 |
|
2699 |
+
#: ../settings.php:761
|
2700 |
msgid "Traffic Logging"
|
2701 |
msgstr ""
|
2702 |
|
2703 |
+
#: ../settings.php:762
|
2704 |
msgid ""
|
2705 |
"Enable optional traffic logging if you need to monitor suspicious and "
|
2706 |
"malicious activity or solve security issues"
|
2707 |
msgstr ""
|
2708 |
|
2709 |
+
#: ../settings.php:766
|
2710 |
msgid "Logging mode"
|
2711 |
msgstr ""
|
2712 |
|
2713 |
+
#: ../settings.php:769
|
2714 |
msgid "Logging disabled"
|
2715 |
msgstr ""
|
2716 |
|
2717 |
+
#: ../settings.php:770
|
2718 |
msgid "Smart"
|
2719 |
msgstr ""
|
2720 |
|
2721 |
+
#: ../settings.php:771
|
2722 |
msgid "All traffic"
|
2723 |
msgstr ""
|
2724 |
|
2725 |
+
#: ../settings.php:775
|
2726 |
msgid "Ignore crawlers"
|
2727 |
msgstr ""
|
2728 |
|
2729 |
+
#: ../settings.php:779
|
2730 |
msgid "Save request fields"
|
2731 |
msgstr ""
|
2732 |
|
2733 |
+
#: ../settings.php:783
|
2734 |
msgid "Mask these form fields"
|
2735 |
msgstr ""
|
2736 |
|
2737 |
+
#: ../settings.php:790
|
2738 |
msgid "Save request headers"
|
2739 |
msgstr ""
|
2740 |
|
2741 |
+
#: ../settings.php:795
|
2742 |
msgid "Save $_SERVER"
|
2743 |
msgstr ""
|
2744 |
|
2745 |
+
#: ../settings.php:799
|
2746 |
msgid "Save request cookies"
|
2747 |
msgstr ""
|
2748 |
|
2749 |
+
#: ../settings.php:803
|
2750 |
msgid "Save software errors"
|
2751 |
msgstr ""
|
2752 |
|
2753 |
+
#: ../settings.php:807
|
2754 |
msgid "Page generation time threshold"
|
2755 |
msgstr ""
|
2756 |
|
2757 |
+
#: ../settings.php:808
|
2758 |
msgid "milliseconds"
|
2759 |
msgstr ""
|
2760 |
|
2761 |
+
#: ../settings.php:828
|
2762 |
msgid "Scanner settings"
|
2763 |
msgstr ""
|
2764 |
|
2765 |
+
#: ../settings.php:829
|
2766 |
msgid ""
|
2767 |
"The scanner monitors file changes, verifies the integrity of WordPress, "
|
2768 |
"plugins, and themes, and detects malware"
|
2769 |
msgstr ""
|
2770 |
|
2771 |
+
#: ../settings.php:833
|
2772 |
msgid "Custom signatures"
|
2773 |
msgstr ""
|
2774 |
|
2775 |
+
#: ../settings.php:837
|
2776 |
msgid ""
|
2777 |
"Specify custom PHP code signatures. One item per line. To specify a REGEX "
|
2778 |
"pattern, enclose a whole line in two braces."
|
2779 |
msgstr ""
|
2780 |
|
2781 |
+
#: ../settings.php:840
|
2782 |
msgid "Unwanted file extensions"
|
2783 |
msgstr ""
|
2784 |
|
2785 |
+
#: ../settings.php:844
|
2786 |
msgid ""
|
2787 |
"Specify file extensions to search for. Full scan only. Use comma to separate "
|
2788 |
"items."
|
2789 |
msgstr ""
|
2790 |
|
2791 |
+
#: ../settings.php:847
|
2792 |
msgid "Directories to exclude"
|
2793 |
msgstr ""
|
2794 |
|
2795 |
+
#: ../settings.php:851
|
2796 |
msgid "Specify directories to exclude from scanning. One directory per line."
|
2797 |
msgstr ""
|
2798 |
|
2799 |
+
#: ../settings.php:854
|
2800 |
msgid "Monitor new files"
|
2801 |
msgstr ""
|
2802 |
|
2803 |
+
#: ../settings.php:858 ../settings.php:867
|
2804 |
msgid "Executable files"
|
2805 |
msgstr ""
|
2806 |
|
2807 |
+
#: ../settings.php:859 ../settings.php:868
|
2808 |
msgid "All files"
|
2809 |
msgstr ""
|
2810 |
|
2811 |
+
#: ../settings.php:863
|
2812 |
msgid "Monitor modified files"
|
2813 |
msgstr ""
|
2814 |
|
2815 |
+
#: ../settings.php:872
|
2816 |
msgid "Change file permissions when necessary"
|
2817 |
msgstr ""
|
2818 |
|
2819 |
+
#: ../settings.php:876
|
2820 |
msgid "Scan temporary directory"
|
2821 |
msgstr ""
|
2822 |
|
2823 |
+
#: ../settings.php:880
|
2824 |
msgid "Scan session directory"
|
2825 |
msgstr ""
|
2826 |
|
2827 |
+
#: ../settings.php:884 ../settings.php:1187 ../settings.php:1215
|
2828 |
msgid "Enable diagnostic logging"
|
2829 |
msgstr ""
|
2830 |
|
2831 |
+
#: ../settings.php:889
|
2832 |
msgid "Delete quarantined files after"
|
2833 |
msgstr ""
|
2834 |
|
2835 |
+
#: ../settings.php:898
|
2836 |
msgid "Automated recurring scan schedule"
|
2837 |
msgstr ""
|
2838 |
|
2839 |
+
#: ../settings.php:899
|
2840 |
msgid ""
|
2841 |
"The scanner automatically scans the website, removes malware and sends email "
|
2842 |
"reports with the results of a scan"
|
2843 |
msgstr ""
|
2844 |
|
2845 |
+
#: ../settings.php:903
|
2846 |
msgid "Launch Quick Scan"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
+
#: ../settings.php:908
|
2850 |
msgid "Launch Full Scan"
|
2851 |
msgstr ""
|
2852 |
|
2853 |
+
#: ../settings.php:915
|
2854 |
msgid "Scan results reporting"
|
2855 |
msgstr ""
|
2856 |
|
2857 |
+
#: ../settings.php:916
|
2858 |
msgid ""
|
2859 |
"Configure what issues to include in the email report and the condition for "
|
2860 |
"sending reports"
|
2861 |
msgstr ""
|
2862 |
|
2863 |
+
#: ../settings.php:920
|
2864 |
msgid "Report an issue if any of the following is true"
|
2865 |
msgstr ""
|
2866 |
|
2867 |
+
#: ../settings.php:923 ../settings.php:969
|
2868 |
msgid "Low severity"
|
2869 |
msgstr ""
|
2870 |
|
2871 |
+
#: ../settings.php:924 ../settings.php:970
|
2872 |
msgid "Medium severity"
|
2873 |
msgstr ""
|
2874 |
|
2875 |
+
#: ../settings.php:925 ../settings.php:971
|
2876 |
msgid "High severity"
|
2877 |
msgstr ""
|
2878 |
|
2879 |
+
#: ../settings.php:929
|
2880 |
msgid "Send email report"
|
2881 |
msgstr ""
|
2882 |
|
2883 |
+
#: ../settings.php:932
|
2884 |
msgid "After every scan"
|
2885 |
msgstr ""
|
2886 |
|
2887 |
+
#: ../settings.php:933
|
2888 |
msgid "If any changes in scan results occurred"
|
2889 |
msgstr ""
|
2890 |
|
2891 |
+
#: ../settings.php:934
|
2892 |
msgid "If new issues found"
|
2893 |
msgstr ""
|
2894 |
|
2895 |
+
#: ../settings.php:938
|
2896 |
msgid "Include file sizes"
|
2897 |
msgstr ""
|
2898 |
|
2899 |
+
#: ../settings.php:942
|
2900 |
msgid "Include scan errors"
|
2901 |
msgstr ""
|
2902 |
|
2903 |
+
#: ../settings.php:957
|
2904 |
msgid "Automatic cleanup of malware and suspicious files"
|
2905 |
msgstr ""
|
2906 |
|
2907 |
+
#: ../settings.php:958
|
2908 |
msgid ""
|
2909 |
"These policies are automatically enforced at the end of every scheduled scan "
|
2910 |
"based on its results. All affected files are moved to the quarantine"
|
2911 |
msgstr ""
|
2912 |
|
2913 |
+
#: ../settings.php:962
|
2914 |
msgid "Delete unattended files"
|
2915 |
msgstr ""
|
2916 |
|
2917 |
+
#: ../settings.php:966
|
2918 |
msgid "Files in the uploads folder"
|
2919 |
msgstr ""
|
2920 |
|
2921 |
+
#: ../settings.php:975
|
2922 |
msgid "Files with unwanted extensions"
|
2923 |
msgstr ""
|
2924 |
|
2925 |
+
#: ../settings.php:981
|
2926 |
msgid "Automatic recovery of modified and infected files"
|
2927 |
msgstr ""
|
2928 |
|
2929 |
+
#: ../settings.php:984
|
2930 |
msgid "Recover WordPress files"
|
2931 |
msgstr ""
|
2932 |
|
2933 |
+
#: ../settings.php:988
|
2934 |
msgid "Recover plugins files"
|
2935 |
msgstr ""
|
2936 |
|
2937 |
+
#: ../settings.php:994
|
2938 |
msgid "Exclusions"
|
2939 |
msgstr ""
|
2940 |
|
2941 |
+
#: ../settings.php:995
|
2942 |
msgid "These files will never be deleted during automatic cleanup."
|
2943 |
msgstr ""
|
2944 |
|
2945 |
+
#: ../settings.php:998
|
2946 |
msgid "Files in the temporary directory"
|
2947 |
msgstr ""
|
2948 |
|
2949 |
+
#: ../settings.php:1002
|
2950 |
msgid "Files in the sessions directory"
|
2951 |
msgstr ""
|
2952 |
|
2953 |
+
#: ../settings.php:1006
|
2954 |
msgid "Files in these directories"
|
2955 |
msgstr ""
|
2956 |
|
2957 |
+
#: ../settings.php:1010
|
2958 |
msgid "Use absolute paths. One item per line."
|
2959 |
msgstr ""
|
2960 |
|
2961 |
+
#: ../settings.php:1013
|
2962 |
msgid "Files with these extensions"
|
2963 |
msgstr ""
|
2964 |
|
2965 |
+
#: ../settings.php:1017
|
2966 |
msgid "Use comma to separate items."
|
2967 |
msgstr ""
|
2968 |
|
2969 |
+
#: ../settings.php:1024
|
2970 |
msgid "Cerber anti-spam engine"
|
2971 |
msgstr ""
|
2972 |
|
2973 |
+
#: ../settings.php:1025
|
2974 |
msgid "Spam protection for comment, registration and contact forms on a website"
|
2975 |
msgstr ""
|
2976 |
|
2977 |
+
#: ../settings.php:1029
|
2978 |
msgid "Comment form"
|
2979 |
msgstr ""
|
2980 |
|
2981 |
+
#: ../settings.php:1030
|
2982 |
msgid "Protect comment form with bot detection engine"
|
2983 |
msgstr ""
|
2984 |
|
2985 |
+
#: ../settings.php:1034 ../settings.php:1106
|
2986 |
msgid "Registration form"
|
2987 |
msgstr ""
|
2988 |
|
2989 |
+
#: ../settings.php:1035
|
2990 |
msgid "Protect registration form with bot detection engine"
|
2991 |
msgstr ""
|
2992 |
|
2993 |
+
#: ../settings.php:1039
|
2994 |
msgid "Other forms"
|
2995 |
msgstr ""
|
2996 |
|
2997 |
+
#: ../settings.php:1040
|
2998 |
msgid "Protect all forms on the website with bot detection engine"
|
2999 |
msgstr ""
|
3000 |
|
3001 |
+
#: ../settings.php:1046
|
3002 |
msgid "Adjust anti-spam engine"
|
3003 |
msgstr ""
|
3004 |
|
3005 |
+
#: ../settings.php:1047
|
3006 |
msgid ""
|
3007 |
"These settings enable you to fine-tune the behavior of anti-spam algorithms "
|
3008 |
"and avoid false positives"
|
3009 |
msgstr ""
|
3010 |
|
3011 |
+
#: ../settings.php:1050
|
3012 |
msgid "Safe mode"
|
3013 |
msgstr ""
|
3014 |
|
3015 |
+
#: ../settings.php:1051
|
3016 |
msgid "Use less restrictive policies (allow AJAX)"
|
3017 |
msgstr ""
|
3018 |
|
3019 |
+
#: ../settings.php:1056
|
3020 |
msgid "Disable bot detection engine for logged in users"
|
3021 |
msgstr ""
|
3022 |
|
3023 |
+
#: ../settings.php:1060
|
3024 |
msgid "Query whitelist"
|
3025 |
msgstr ""
|
3026 |
|
3027 |
+
#: ../settings.php:1061
|
3028 |
msgid ""
|
3029 |
"Enter a part of query string or query path to exclude a request from "
|
3030 |
"inspection by the engine. One item per line."
|
3031 |
msgstr ""
|
3032 |
|
3033 |
+
#: ../settings.php:1070
|
3034 |
msgid "Comment processing"
|
3035 |
msgstr ""
|
3036 |
|
3037 |
+
#: ../settings.php:1071
|
3038 |
msgid "How the plugin processes comments submitted through the standard comment form"
|
3039 |
msgstr ""
|
3040 |
|
3041 |
+
#: ../settings.php:1074
|
3042 |
msgid "If a spam comment detected"
|
3043 |
msgstr ""
|
3044 |
|
3045 |
+
#: ../settings.php:1076
|
3046 |
msgid "Deny it completely"
|
3047 |
msgstr ""
|
3048 |
|
3049 |
+
#: ../settings.php:1076
|
3050 |
msgid "Mark it as spam"
|
3051 |
msgstr ""
|
3052 |
|
3053 |
+
#: ../settings.php:1079
|
3054 |
msgid "Trash spam comments"
|
3055 |
msgstr ""
|
3056 |
|
3057 |
+
#: ../settings.php:1081
|
3058 |
msgid "Move spam comments to trash after"
|
3059 |
msgstr ""
|
3060 |
|
3061 |
+
#: ../settings.php:1088
|
3062 |
msgid "reCAPTCHA settings"
|
3063 |
msgstr ""
|
3064 |
|
3065 |
+
#: ../settings.php:1089
|
3066 |
msgid ""
|
3067 |
"Before you can start using reCAPTCHA, you have to obtain Site key and Secret "
|
3068 |
"key on the Google website"
|
3069 |
msgstr ""
|
3070 |
|
3071 |
+
#: ../settings.php:1093
|
3072 |
msgid "Site key"
|
3073 |
msgstr ""
|
3074 |
|
3075 |
+
#: ../settings.php:1097
|
3076 |
msgid "Secret key"
|
3077 |
msgstr ""
|
3078 |
|
3079 |
+
#: ../settings.php:1101
|
3080 |
msgid "Invisible reCAPTCHA"
|
3081 |
msgstr ""
|
3082 |
|
3083 |
+
#: ../settings.php:1102
|
3084 |
msgid "Enable invisible reCAPTCHA"
|
3085 |
msgstr ""
|
3086 |
|
3087 |
+
#: ../settings.php:1102
|
3088 |
msgid ""
|
3089 |
"(do not enable it unless you get and enter the Site and Secret keys for the "
|
3090 |
"invisible version)"
|
3091 |
msgstr ""
|
3092 |
|
3093 |
+
#: ../settings.php:1107
|
3094 |
msgid "Enable reCAPTCHA for WordPress registration form"
|
3095 |
msgstr ""
|
3096 |
|
3097 |
+
#: ../settings.php:1112
|
3098 |
msgid "Enable reCAPTCHA for WooCommerce registration form"
|
3099 |
msgstr ""
|
3100 |
|
3101 |
+
#: ../settings.php:1116
|
3102 |
msgid "Lost password form"
|
3103 |
msgstr ""
|
3104 |
|
3105 |
+
#: ../settings.php:1117
|
3106 |
msgid "Enable reCAPTCHA for WordPress lost password form"
|
3107 |
msgstr ""
|
3108 |
|
3109 |
+
#: ../settings.php:1122
|
3110 |
msgid "Enable reCAPTCHA for WooCommerce lost password form"
|
3111 |
msgstr ""
|
3112 |
|
3113 |
+
#: ../settings.php:1126
|
3114 |
msgid "Login form"
|
3115 |
msgstr ""
|
3116 |
|
3117 |
+
#: ../settings.php:1127
|
3118 |
msgid "Enable reCAPTCHA for WordPress login form"
|
3119 |
msgstr ""
|
3120 |
|
3121 |
+
#: ../settings.php:1132
|
3122 |
msgid "Enable reCAPTCHA for WooCommerce login form"
|
3123 |
msgstr ""
|
3124 |
|
3125 |
+
#: ../settings.php:1137
|
3126 |
msgid "Enable reCAPTCHA for WordPress comment form"
|
3127 |
msgstr ""
|
3128 |
|
3129 |
+
#: ../settings.php:1142
|
3130 |
msgid "Disable reCAPTCHA for logged in users"
|
3131 |
msgstr ""
|
3132 |
|
3133 |
+
#: ../settings.php:1146
|
3134 |
msgid "Limit attempts"
|
3135 |
msgstr ""
|
3136 |
|
3137 |
+
#: ../settings.php:1147
|
3138 |
#, php-format
|
3139 |
msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
|
3140 |
msgstr ""
|
3141 |
|
3142 |
+
#: ../settings.php:1154
|
3143 |
msgid "Master settings"
|
3144 |
msgstr ""
|
3145 |
|
3146 |
+
#: ../settings.php:1162
|
3147 |
msgid "Return to the website list"
|
3148 |
msgstr ""
|
3149 |
|
3150 |
+
#: ../settings.php:1166
|
3151 |
msgid "Show \"Switched to\" notification"
|
3152 |
msgstr ""
|
3153 |
|
3154 |
+
#: ../settings.php:1170
|
3155 |
msgid "Add @ site to the page title"
|
3156 |
msgstr ""
|
3157 |
|
3158 |
+
#: ../settings.php:1174
|
3159 |
msgid "Use master language"
|
3160 |
msgstr ""
|
3161 |
|
3162 |
+
#: ../settings.php:1198
|
3163 |
msgid "Limit access by IP address"
|
3164 |
msgstr ""
|
3165 |
|
3166 |
+
#: ../settings.php:1204
|
3167 |
msgid "Access to this website"
|
3168 |
msgstr ""
|
3169 |
|
3170 |
+
#: ../settings.php:1207
|
3171 |
msgid "Full access mode"
|
3172 |
msgstr ""
|
3173 |
|
3174 |
+
#: ../settings.php:1208
|
3175 |
msgid "Read-only mode"
|
3176 |
msgstr ""
|
3177 |
|
3178 |
+
#: ../settings.php:1229
|
3179 |
msgid "The full access mode requires the PRO version of WP Cerber"
|
3180 |
msgstr ""
|
3181 |
|
3182 |
+
#: ../settings.php:1297
|
3183 |
msgid "Any activity"
|
3184 |
msgstr ""
|
3185 |
|
3310 |
msgid "Select file to import."
|
3311 |
msgstr ""
|
3312 |
|
|
|
|
|
|
|
|
|
|
|
3313 |
#: ../cerber-tools.php:48
|
3314 |
msgid "What do you want to import?"
|
3315 |
msgstr ""
|
3316 |
|
3317 |
+
#: ../cerber-tools.php:52
|
3318 |
+
msgid "Load the default plugin settings"
|
3319 |
+
msgstr ""
|
3320 |
+
|
3321 |
+
#: ../cerber-tools.php:53
|
3322 |
+
msgid ""
|
3323 |
+
"When you click the button below, the default WP Cerber settings will be "
|
3324 |
+
"loaded. The Custom login URL and Access Lists will not be changed."
|
3325 |
+
msgstr ""
|
3326 |
+
|
3327 |
+
#: ../cerber-tools.php:54
|
3328 |
+
msgid "To get the most out of WP Cerber, follow these steps:"
|
3329 |
msgstr ""
|
3330 |
|
3331 |
+
#: ../cerber-tools.php:57
|
3332 |
+
msgid "Load default settings"
|
3333 |
+
msgstr ""
|
3334 |
+
|
3335 |
+
#: ../cerber-tools.php:72
|
3336 |
msgid "Load entries"
|
3337 |
msgstr ""
|
3338 |
|
3339 |
+
#: ../cerber-tools.php:189
|
3340 |
msgid "No file was uploaded or file is corrupted"
|
3341 |
msgstr ""
|
3342 |
|
3343 |
+
#: ../cerber-tools.php:228
|
3344 |
msgid "A database error occurred while importing access list entries"
|
3345 |
msgstr ""
|
3346 |
|
3347 |
+
#: ../cerber-tools.php:236
|
3348 |
msgid "Settings has imported successfully from"
|
3349 |
msgstr ""
|
3350 |
|
3351 |
+
#: ../cerber-tools.php:243
|
3352 |
msgid "Error while parsing file"
|
3353 |
msgstr ""
|
3354 |
|
3355 |
+
#: ../cerber-tools.php:320
|
3356 |
msgid "Unsubscribe"
|
3357 |
msgstr ""
|
3358 |
|
3424 |
msgid "Switch to"
|
3425 |
msgstr ""
|
3426 |
|
|
|
|
|
|
|
|
|
3427 |
#: ../nexus/cerber-slave-list.php:413
|
3428 |
msgid "No websites configured."
|
3429 |
msgstr ""
|
3488 |
msgid "Address"
|
3489 |
msgstr ""
|
3490 |
|
3491 |
+
#: ../nexus/cerber-nexus-master.php:281
|
3492 |
msgid "Security access token is invalid"
|
3493 |
msgstr ""
|
3494 |
|
3495 |
+
#: ../nexus/cerber-nexus-master.php:311
|
3496 |
msgid "The website you are trying to add is already in the list"
|
3497 |
msgstr ""
|
3498 |
|
3499 |
+
#: ../nexus/cerber-nexus-master.php:320
|
3500 |
msgid "The website has been added successfully"
|
3501 |
msgstr ""
|
3502 |
|
3503 |
+
#: ../nexus/cerber-nexus-master.php:321
|
3504 |
msgid "Click to edit"
|
3505 |
msgstr ""
|
3506 |
|
3507 |
+
#: ../nexus/cerber-nexus-master.php:322
|
3508 |
msgid "Switch to the Dashboard"
|
3509 |
msgstr ""
|
3510 |
|
3511 |
+
#: ../nexus/cerber-nexus-master.php:325
|
3512 |
msgid ""
|
3513 |
"Keep in mind: You have added the website that does not support SSL "
|
3514 |
"encryption. This may lead to data leakage."
|
3515 |
msgstr ""
|
3516 |
|
3517 |
+
#: ../nexus/cerber-nexus-master.php:444
|
3518 |
#, php-format
|
3519 |
msgid "Website has been deleted"
|
3520 |
msgid_plural "%s websites have been deleted"
|
3521 |
msgstr[0] ""
|
3522 |
msgstr[1] ""
|
3523 |
|
3524 |
+
#: ../nexus/cerber-nexus-master.php:688
|
3525 |
msgid "Invalid response from the slave website"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
+
#: ../nexus/cerber-nexus-master.php:1020
|
3529 |
#, php-format
|
3530 |
msgid "You have switched to %s"
|
3531 |
msgstr ""
|
3532 |
|
3533 |
+
#: ../nexus/cerber-nexus-master.php:1030
|
3534 |
msgid "You have switched back to the master website"
|
3535 |
msgstr ""
|
3536 |
|
3537 |
+
#: ../nexus/cerber-nexus-master.php:1246
|
3538 |
msgid "You are here:"
|
3539 |
msgstr ""
|
3540 |
|
3541 |
+
#: ../nexus/cerber-nexus-master.php:1249 ../nexus/cerber-nexus.php:92 ..
|
3542 |
#: /nexus/cerber-nexus.php:102
|
3543 |
msgid "My Websites"
|
3544 |
msgstr ""
|
3545 |
|
3546 |
+
#: ../nexus/cerber-nexus-master.php:1264
|
3547 |
msgid "Visit Site"
|
3548 |
msgstr ""
|
3549 |
|
3550 |
+
#: ../nexus/cerber-nexus-master.php:1330
|
3551 |
msgid "Are you sure you want to delete selected websites?"
|
3552 |
msgstr ""
|
3553 |
|
3554 |
+
#: ../nexus/cerber-nexus-master.php:1374
|
3555 |
msgid "A newer version is available"
|
3556 |
msgstr ""
|
3557 |
|
3558 |
+
#: ../nexus/cerber-nexus-master.php:1396 ../nexus/cerber-nexus-master.php:1404
|
3559 |
msgid "Active plugins and updates on"
|
3560 |
msgstr ""
|
3561 |
|
3621 |
msgid "Install the access token on the master website."
|
3622 |
msgstr ""
|
3623 |
|
3624 |
+
#: ../cerber-scanner.php:1439
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3625 |
msgid "Verified"
|
3626 |
msgstr ""
|
3627 |
|
3628 |
+
#: ../cerber-scanner.php:1445
|
3629 |
msgid "Vulnerability found"
|
3630 |
msgstr ""
|
3631 |
|
3632 |
+
#: ../cerber-scanner.php:1446
|
3633 |
msgid "Integrity data not found"
|
3634 |
msgstr ""
|
3635 |
|
3636 |
+
#: ../cerber-scanner.php:1447
|
3637 |
msgid "Unable to check the integrity of the plugin due to a network error"
|
3638 |
msgstr ""
|
3639 |
|
3640 |
+
#: ../cerber-scanner.php:1448
|
3641 |
msgid "Unable to check the integrity of WordPress files due to a network error"
|
3642 |
msgstr ""
|
3643 |
|
3644 |
+
#: ../cerber-scanner.php:1449
|
3645 |
msgid "Unable to check the integrity of the theme due to a network error"
|
3646 |
msgstr ""
|
3647 |
|
3648 |
+
#: ../cerber-scanner.php:1450
|
3649 |
msgid "Unable to check the integrity due to a DB error"
|
3650 |
msgstr ""
|
3651 |
|
3652 |
+
#: ../cerber-scanner.php:1452
|
3653 |
msgid "Local file doesn't exist"
|
3654 |
msgstr ""
|
3655 |
|
3656 |
+
#: ../cerber-scanner.php:1454
|
3657 |
msgid "Unable to process file"
|
3658 |
msgstr ""
|
3659 |
|
3660 |
+
#: ../cerber-scanner.php:1455 ../cerber-scanner.php:4608
|
3661 |
msgid "Unable to open file"
|
3662 |
msgstr ""
|
3663 |
|
3664 |
+
#: ../cerber-scanner.php:1460
|
|
|
|
|
|
|
|
|
3665 |
msgid "Suspicious code found"
|
3666 |
msgstr ""
|
3667 |
|
3668 |
+
#: ../cerber-scanner.php:1461
|
3669 |
msgid "Malicious code found"
|
3670 |
msgstr ""
|
3671 |
|
3672 |
+
#: ../cerber-scanner.php:1462
|
3673 |
msgid "Unattended suspicious file"
|
3674 |
msgstr ""
|
3675 |
|
3676 |
+
#: ../cerber-scanner.php:1463
|
3677 |
msgid "Executable code found"
|
3678 |
msgstr ""
|
3679 |
|
3680 |
+
#: ../cerber-scanner.php:1466 ../cerber-scanner.php:2706
|
3681 |
msgid "Suspicious directives found"
|
3682 |
msgstr ""
|
3683 |
|
3684 |
+
#: ../cerber-scanner.php:1467
|
3685 |
msgid "Unwanted file extension"
|
3686 |
msgstr ""
|
3687 |
|
3688 |
+
#: ../cerber-scanner.php:1469
|
3689 |
msgid "Content has been modified"
|
3690 |
msgstr ""
|
3691 |
|
3692 |
+
#: ../cerber-scanner.php:1470
|
3693 |
msgid "New file"
|
3694 |
msgstr ""
|
3695 |
|
3696 |
+
#: ../cerber-scanner.php:1472
|
3697 |
msgid "Unable to delete"
|
3698 |
msgstr ""
|
3699 |
|
3700 |
+
#: ../cerber-scanner.php:1473
|
3701 |
msgid "File deleted"
|
3702 |
msgstr ""
|
3703 |
|
3704 |
+
#: ../cerber-scanner.php:1474
|
3705 |
msgid "File recovered"
|
3706 |
msgstr ""
|
3707 |
|
3708 |
+
#: ../cerber-scanner.php:1494
|
3709 |
msgid "Every hour"
|
3710 |
msgstr ""
|
3711 |
|
3712 |
+
#: ../cerber-scanner.php:1495
|
3713 |
msgid "Every 3 hours"
|
3714 |
msgstr ""
|
3715 |
|
3716 |
+
#: ../cerber-scanner.php:1496
|
3717 |
msgid "Every 6 hours"
|
3718 |
msgstr ""
|
3719 |
|
3720 |
+
#: ../cerber-scanner.php:2526
|
3721 |
msgid "Custom signature found"
|
3722 |
msgstr ""
|
3723 |
|
3724 |
+
#: ../cerber-scanner.php:2701
|
3725 |
msgid ""
|
3726 |
"This file contains executable code and may contain obfuscated malware. If "
|
3727 |
"this file is a part of a theme or a plugin, it must be located in the theme "
|
3728 |
"or the plugin folder. No exception, no excuses."
|
3729 |
msgstr ""
|
3730 |
|
3731 |
+
#: ../cerber-scanner.php:2702
|
3732 |
msgid ""
|
3733 |
"The scanner recognizes this file as \"ownerless\" or \"not bundled\" because it "
|
3734 |
"does not belong to any known part of the website and should not be here."
|
3735 |
msgstr ""
|
3736 |
|
3737 |
+
#: ../cerber-scanner.php:2703
|
3738 |
#, php-format
|
3739 |
msgid ""
|
3740 |
"It may remain after upgrading to a newer version of %s. It also may be a "
|
3742 |
"made (bespoke) plugin or theme."
|
3743 |
msgstr ""
|
3744 |
|
3745 |
+
#: ../cerber-scanner.php:2704
|
3746 |
msgid "Suspicious code instruction found"
|
3747 |
msgstr ""
|
3748 |
|
3749 |
+
#: ../cerber-scanner.php:2705
|
3750 |
msgid "Suspicious code signatures found"
|
3751 |
msgstr ""
|
3752 |
|
3753 |
+
#: ../cerber-scanner.php:2707
|
3754 |
msgid ""
|
3755 |
"The contents of the file have been changed and do not match what exists in "
|
3756 |
"the official WordPress repository or a reference file you have uploaded "
|
3758 |
"has been tampered with."
|
3759 |
msgstr ""
|
3760 |
|
3761 |
+
#: ../cerber-scanner.php:2708
|
3762 |
#, php-format
|
3763 |
msgid ""
|
3764 |
"To solve this issue you have to reinstall %s or update it to the latest "
|
3765 |
"version."
|
3766 |
msgstr ""
|
3767 |
|
3768 |
+
#: ../cerber-scanner.php:2709
|
3769 |
msgid "Please upload a reference ZIP archive"
|
3770 |
msgstr ""
|
3771 |
|
3772 |
+
#: ../cerber-scanner.php:2710
|
3773 |
msgid "Resolve issue"
|
3774 |
msgstr ""
|
3775 |
|
3776 |
+
#: ../cerber-scanner.php:3757
|
3777 |
msgid "Preparing for the scan"
|
3778 |
msgstr ""
|
3779 |
|
3780 |
+
#: ../cerber-scanner.php:3758
|
3781 |
msgid "Scanning folders for files"
|
3782 |
msgstr ""
|
3783 |
|
3784 |
+
#: ../cerber-scanner.php:3759
|
3785 |
msgid "Scanning the upload folder for files"
|
3786 |
msgstr ""
|
3787 |
|
3788 |
+
#: ../cerber-scanner.php:3760
|
3789 |
msgid "Scanning the temp folder for files"
|
3790 |
msgstr ""
|
3791 |
|
3792 |
+
#: ../cerber-scanner.php:3761
|
3793 |
msgid "Scanning the session folder for files"
|
3794 |
msgstr ""
|
3795 |
|
3796 |
+
#: ../cerber-scanner.php:3762
|
3797 |
msgid "Parsing the list of files"
|
3798 |
msgstr ""
|
3799 |
|
3800 |
+
#: ../cerber-scanner.php:3763
|
3801 |
msgid "Checking for new and modified files"
|
3802 |
msgstr ""
|
3803 |
|
3804 |
+
#: ../cerber-scanner.php:3764
|
3805 |
msgid "Verifying the integrity of WordPress"
|
3806 |
msgstr ""
|
3807 |
|
3808 |
+
#: ../cerber-scanner.php:3765
|
3809 |
msgid "Recovering WordPress files"
|
3810 |
msgstr ""
|
3811 |
|
3812 |
+
#: ../cerber-scanner.php:3766
|
3813 |
msgid "Verifying the integrity of the plugins"
|
3814 |
msgstr ""
|
3815 |
|
3816 |
+
#: ../cerber-scanner.php:3767
|
3817 |
msgid "Recovering plugins files"
|
3818 |
msgstr ""
|
3819 |
|
3820 |
+
#: ../cerber-scanner.php:3768
|
3821 |
msgid "Verifying the integrity of the themes"
|
3822 |
msgstr ""
|
3823 |
|
3824 |
+
#: ../cerber-scanner.php:3769
|
3825 |
msgid "Searching for malicious code"
|
3826 |
msgstr ""
|
3827 |
|
3828 |
+
#: ../cerber-scanner.php:3770
|
3829 |
msgid "Finalizing the scan"
|
3830 |
msgstr ""
|
3831 |
|
3832 |
+
#: ../cerber-scanner.php:4737
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3833 |
msgid "Full Scan Report"
|
3834 |
msgstr ""
|
3835 |
|
3836 |
+
#: ../cerber-scanner.php:4737
|
3837 |
msgid "Quick Scan Report"
|
3838 |
msgstr ""
|
3839 |
|
3840 |
+
#: ../cerber-scanner.php:4750
|
3841 |
msgid "Files scanned"
|
3842 |
msgstr ""
|
3843 |
|
3844 |
+
#: ../cerber-scanner.php:4835
|
3845 |
msgid "Deleted"
|
3846 |
msgstr ""
|
3847 |
|
3848 |
+
#: ../cerber-scanner.php:4839
|
3849 |
msgid "Recovered"
|
3850 |
msgstr ""
|
3851 |
|
3852 |
+
#: ../cerber-scanner.php:4888
|
3853 |
msgid "Automatically moved to quarantine"
|
3854 |
msgstr ""
|
3855 |
|
3856 |
+
#: ../cerber-scanner.php:4889
|
3857 |
msgid "Automatically deleted"
|
3858 |
msgstr ""
|
3859 |
|
3860 |
+
#: ../cerber-scanner.php:4892
|
3861 |
msgid "Automatically recovered"
|
3862 |
msgstr ""
|
3863 |
|
3864 |
+
#: ../cerber-scanner.php:4904
|
3865 |
msgid "To view full report visit"
|
3866 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nexus/cerber-nexus-master.php
CHANGED
@@ -197,19 +197,15 @@ function nexus_get_groups() {
|
|
197 |
return $groups;
|
198 |
}
|
199 |
|
200 |
-
//add_action( 'setup_theme', function () {
|
201 |
-
add_action( 'admin_init', function () { // 8.3.3
|
202 |
-
if ( ! is_admin() || ! nexus_is_master() ) {
|
203 |
-
return;
|
204 |
-
}
|
205 |
-
nexus_set_context();
|
206 |
-
if ( nexus_get_context() ) {
|
207 |
-
nexus_send_admin_request();
|
208 |
-
}
|
209 |
-
}, 0 );
|
210 |
-
|
211 |
add_action( 'admin_init', function () {
|
212 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
if ( nexus_is_master() && function_exists( 'nexus_schedule_refresh' ) ) {
|
214 |
nexus_schedule_refresh();
|
215 |
}
|
@@ -266,7 +262,7 @@ add_action( 'admin_init', function () {
|
|
266 |
return '';
|
267 |
}, 10, 3 );
|
268 |
|
269 |
-
} );
|
270 |
|
271 |
function nexus_add_slave( $token ) {
|
272 |
if ( ! is_super_admin() || ! nexus_is_master() ) {
|
@@ -729,7 +725,7 @@ function nexus_send( $request, $slave_id = null ) {
|
|
729 |
?>
|
730 |
|
731 |
<p style="margin-top: 2em;">Diagnostic information</p>
|
732 |
-
<p class="
|
733 |
HTTP code: <?php echo $nexus_last_http; ?><br/>
|
734 |
Response size: <?php echo $nexus_last_curl['size_download']; ?><br/>
|
735 |
IP address: <?php echo $ip; ?><br/>
|
@@ -1117,9 +1113,9 @@ function nexus_do_bulk() {
|
|
1117 |
|
1118 |
function nexus_bg_upgrade( $ids, $plugins ) {
|
1119 |
foreach ( $ids as $id ) {
|
1120 |
-
cerber_bg_task_add( array(
|
1121 |
-
'func' => 'nexus_do_upgrade',
|
1122 |
-
'args'
|
1123 |
'exec_until' => 'stop', // may not be boolean
|
1124 |
) );
|
1125 |
}
|
@@ -1196,8 +1192,8 @@ function nexus_schedule_refresh() {
|
|
1196 |
}
|
1197 |
|
1198 |
function nexus_add_bg_refresh( $slave_id ) {
|
1199 |
-
cerber_bg_task_add(
|
1200 |
-
cerber_bg_task_add(
|
1201 |
}
|
1202 |
|
1203 |
add_action( 'wp_before_admin_bar_render', function () {
|
197 |
return $groups;
|
198 |
}
|
199 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
add_action( 'admin_init', function () {
|
201 |
|
202 |
+
if ( is_admin() && nexus_is_master() ) { // @since 8.6.3.3
|
203 |
+
nexus_set_context();
|
204 |
+
if ( nexus_get_context() ) {
|
205 |
+
nexus_send_admin_request();
|
206 |
+
}
|
207 |
+
}
|
208 |
+
|
209 |
if ( nexus_is_master() && function_exists( 'nexus_schedule_refresh' ) ) {
|
210 |
nexus_schedule_refresh();
|
211 |
}
|
262 |
return '';
|
263 |
}, 10, 3 );
|
264 |
|
265 |
+
}, 0 );
|
266 |
|
267 |
function nexus_add_slave( $token ) {
|
268 |
if ( ! is_super_admin() || ! nexus_is_master() ) {
|
725 |
?>
|
726 |
|
727 |
<p style="margin-top: 2em;">Diagnostic information</p>
|
728 |
+
<p class="crb-monospace" style="font-size: 90%">
|
729 |
HTTP code: <?php echo $nexus_last_http; ?><br/>
|
730 |
Response size: <?php echo $nexus_last_curl['size_download']; ?><br/>
|
731 |
IP address: <?php echo $ip; ?><br/>
|
1113 |
|
1114 |
function nexus_bg_upgrade( $ids, $plugins ) {
|
1115 |
foreach ( $ids as $id ) {
|
1116 |
+
cerber_bg_task_add( 'nexus_do_upgrade', array(
|
1117 |
+
//'func' => 'nexus_do_upgrade',
|
1118 |
+
'args' => array( $id, $plugins, false ),
|
1119 |
'exec_until' => 'stop', // may not be boolean
|
1120 |
) );
|
1121 |
}
|
1192 |
}
|
1193 |
|
1194 |
function nexus_add_bg_refresh( $slave_id ) {
|
1195 |
+
cerber_bg_task_add( 'nexus_send', array( 'args' => array( array( 'type' => 'hello' ), $slave_id ) ) );
|
1196 |
+
cerber_bg_task_add( 'nexus_refresh_slave_srv', array( 'args' => array( $slave_id ) ) );
|
1197 |
}
|
1198 |
|
1199 |
add_action( 'wp_before_admin_bar_render', function () {
|
nexus/cerber-slave-list.php
CHANGED
@@ -350,7 +350,7 @@ class CRB_Slave_Table extends WP_List_Table {
|
|
350 |
return $val;
|
351 |
case 'plugin_v':
|
352 |
if ( $val ) {
|
353 |
-
$ret = '<span class="crb-slave-ver">' . $val . '</span>' . ( ( $item['site_key'] ) ? '<span class="crb-vpro" title="Valid until ' . cerber_date( $item['site_key'] ) . '">PRO</span>' : '' );
|
354 |
if ( isset( $pup['new_version'] ) && version_compare( $val, $pup['new_version'], '<' ) ) {
|
355 |
$ret .= ' <i style="color: red; font-size: 1.2em;" class="dashicons dashicons-warning"></i>';
|
356 |
}
|
350 |
return $val;
|
351 |
case 'plugin_v':
|
352 |
if ( $val ) {
|
353 |
+
$ret = '<span class="crb-slave-ver">' . $val . '</span>' . ( ( $item['site_key'] ) ? '<span class="crb-vpro" title="Valid until ' . cerber_date( $item['site_key'], false ) . '">PRO</span>' : '' );
|
354 |
if ( isset( $pup['new_version'] ) && version_compare( $val, $pup['new_version'], '<' ) ) {
|
355 |
$ret .= ' <i style="color: red; font-size: 1.2em;" class="dashicons dashicons-warning"></i>';
|
356 |
}
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
=== Cerber Security,
|
2 |
Contributors: gioni
|
3 |
Tags: security, malware scanner, antispam, firewall, limit login attempts, custom login url, login, recaptcha, captcha, activity, log, logging, whitelist, blacklist, access list
|
4 |
Requires at least: 4.9
|
5 |
Requires PHP: 5.6
|
6 |
Tested up to: 5.4
|
7 |
-
Stable tag: 8.6.
|
8 |
License: GPLv2
|
9 |
|
10 |
Protection against hacker attacks and bots. Malware scanner & integrity checker. User activity log. Antispam reCAPTCHA. Limit login attempts.
|
@@ -329,6 +329,19 @@ To get access to your dashboard you need to copy the WP Cerber Reset folder to t
|
|
329 |
|
330 |
|
331 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
= 8.6.3 =
|
333 |
* New: Ability to load IP access list's entries in the CSV format (bulk load).
|
334 |
* Update: A new malware scanner setting allows you to permit the scanner to change permissions of folders and files when required.
|
1 |
+
=== Cerber Security, Anti-spam & Malware Scan ===
|
2 |
Contributors: gioni
|
3 |
Tags: security, malware scanner, antispam, firewall, limit login attempts, custom login url, login, recaptcha, captcha, activity, log, logging, whitelist, blacklist, access list
|
4 |
Requires at least: 4.9
|
5 |
Requires PHP: 5.6
|
6 |
Tested up to: 5.4
|
7 |
+
Stable tag: 8.6.5
|
8 |
License: GPLv2
|
9 |
|
10 |
Protection against hacker attacks and bots. Malware scanner & integrity checker. User activity log. Antispam reCAPTCHA. Limit login attempts.
|
329 |
|
330 |
|
331 |
== Changelog ==
|
332 |
+
|
333 |
+
= 8.6.5 =
|
334 |
+
* New: File system analytics. It's generated based on the results of the last full integrity scan.
|
335 |
+
* New: Logging user deletions. The user’s display name and roles are temporarily stored until all log entries related to the user are deleted.
|
336 |
+
* New: Faster export with a new date format for CSV log export.
|
337 |
+
* New: Ability to disable adding the website administrator's IP address to the White IP Access List upon WP Cerber activation.
|
338 |
+
* Improved: Handling the creation of new users by WooCommerce and membership plugins.
|
339 |
+
* Improved: Handling user registrations with prohibited emails.
|
340 |
+
* Improved: Handling secure Cerber‘s cookies on websites with SSL encryption enabled.
|
341 |
+
* Improved: The performance of the integrity checker and malware scanner on huge websites with a large number of files.
|
342 |
+
* Fixed: Loading the default plugin settings has no effect. Now it’s fixed and moved from the admin sidebar to the Tools admin page.
|
343 |
+
* [Read more](https://wpcerber.com/wp-cerber-security-8-6-5/)
|
344 |
+
|
345 |
= 8.6.3 =
|
346 |
* New: Ability to load IP access list's entries in the CSV format (bulk load).
|
347 |
* Update: A new malware scanner setting allows you to permit the scanner to change permissions of folders and files when required.
|
settings.php
CHANGED
@@ -36,22 +36,25 @@
|
|
36 |
// If this file is called directly, abort executing.
|
37 |
if ( ! defined( 'WPINC' ) ) { exit; }
|
38 |
|
39 |
-
|
40 |
-
define('CERBER_OPT','cerber-main');
|
41 |
-
define('CERBER_OPT_H','cerber-hardening');
|
42 |
-
define('CERBER_OPT_U','cerber-users');
|
43 |
-
define('CERBER_OPT_A','cerber-antispam');
|
44 |
-
define('CERBER_OPT_C','cerber-recaptcha');
|
45 |
-
define('CERBER_OPT_N','cerber-notifications');
|
46 |
-
define('CERBER_OPT_T','cerber-traffic');
|
47 |
-
define('CERBER_OPT_S','cerber-scanner');
|
48 |
-
define('CERBER_OPT_E','cerber-schedule');
|
49 |
-
define('CERBER_OPT_P','cerber-policies');
|
50 |
-
define('CERBER_OPT_US','cerber-user_shield');
|
51 |
-
define('CERBER_OPT_OS','cerber-opt_shield');
|
52 |
-
define('CERBER_OPT_SL','cerber-nexus-slave');
|
53 |
-
define('CERBER_OPT_MA','cerber-nexus_master');
|
54 |
-
|
|
|
|
|
|
|
55 |
// A new, united settings entry
|
56 |
// @since 8.5.9.1
|
57 |
define( 'CERBER_CONFIG', 'cerber_configuration' );
|
@@ -59,10 +62,17 @@ define( 'CERBER_CONFIG', 'cerber_configuration' );
|
|
59 |
/**
|
60 |
* A set of Cerber settings (WP options)
|
61 |
*
|
|
|
62 |
* @return array
|
63 |
*/
|
64 |
-
function cerber_get_setting_list() {
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
|
68 |
function cerber_settings_config( $args = array() ) {
|
@@ -308,15 +318,30 @@ function cerber_settings_config( $args = array() ) {
|
|
308 |
),
|
309 |
'dateformat' => array(
|
310 |
'title' => __( 'Date format', 'wp-cerber' ),
|
311 |
-
'label' => sprintf( __( 'if empty, the default format %s will be used', 'wp-cerber' ), '<b>' .
|
312 |
'doclink' => 'https://wpcerber.com/date-format-setting/',
|
313 |
'label_pos' => 'below',
|
314 |
'size' => 16,
|
315 |
),
|
|
|
|
|
|
|
|
|
|
|
316 |
'admin_lang' => array(
|
317 |
-
'title' => __( 'Use English
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
'type' => 'checkbox',
|
319 |
),
|
|
|
|
|
|
|
|
|
320 |
),
|
321 |
),
|
322 |
|
@@ -857,6 +882,7 @@ function cerber_settings_config( $args = array() ) {
|
|
857 |
),
|
858 |
'scan_debug' => array(
|
859 |
'title' => __( 'Enable diagnostic logging', 'wp-cerber' ),
|
|
|
860 |
'type' => 'checkbox',
|
861 |
),
|
862 |
'scan_qcleanup' => array(
|
@@ -1159,6 +1185,7 @@ function cerber_settings_config( $args = array() ) {
|
|
1159 |
),*/
|
1160 |
'master_diag' => array(
|
1161 |
'title' => __( 'Enable diagnostic logging', 'wp-cerber' ),
|
|
|
1162 |
'type' => 'checkbox',
|
1163 |
),
|
1164 |
)
|
@@ -1186,6 +1213,7 @@ function cerber_settings_config( $args = array() ) {
|
|
1186 |
),
|
1187 |
'slave_diag' => array(
|
1188 |
'title' => __( 'Enable diagnostic logging', 'wp-cerber' ),
|
|
|
1189 |
'default' => 0,
|
1190 |
'type' => 'checkbox',
|
1191 |
),
|
@@ -1399,7 +1427,10 @@ function cerber_get_defaults( $setting = null ) {
|
|
1399 |
'cerberproto' => 0,
|
1400 |
'usefile' => 0,
|
1401 |
'dateformat' => '',
|
1402 |
-
'
|
|
|
|
|
|
|
1403 |
|
1404 |
),
|
1405 |
CERBER_OPT_H => array(
|
@@ -1518,8 +1549,8 @@ function cerber_get_defaults( $setting = null ) {
|
|
1518 |
'scan_inew' => '1',
|
1519 |
'scan_imod' => '1',
|
1520 |
'scan_chmod' => 0,
|
1521 |
-
'scan_tmp' =>
|
1522 |
-
'scan_sess' =>
|
1523 |
'scan_debug' => 0,
|
1524 |
'scan_qcleanup' => '30',
|
1525 |
),
|
@@ -1691,7 +1722,7 @@ function cerber_save_settings( $options ) {
|
|
1691 |
}
|
1692 |
}
|
1693 |
if ( ! empty( $filtered ) ) {
|
1694 |
-
|
1695 |
}
|
1696 |
}
|
1697 |
|
@@ -1788,7 +1819,7 @@ function crb_get_settings( $option = '', $purge_cache = false ) {
|
|
1788 |
}
|
1789 |
|
1790 |
$set_new = cerber_db_get_var( $sql_new );
|
1791 |
-
|
1792 |
if ( $set_new ) {
|
1793 |
array_unshift( $set, $set_new );
|
1794 |
}
|
@@ -1882,15 +1913,22 @@ function cerber_get_site_option($option = '', $unserialize = true){
|
|
1882 |
Load default settings, except Custom Login URL
|
1883 |
*/
|
1884 |
function cerber_load_defaults() {
|
|
|
1885 |
$save = array();
|
1886 |
foreach ( cerber_get_defaults() as $option_name => $fields ) {
|
1887 |
foreach ( $fields as $field_name => $def ) {
|
1888 |
$save[ $field_name ] = $def;
|
1889 |
}
|
1890 |
}
|
|
|
1891 |
if ( $path = crb_get_settings( 'loginpath' ) ) {
|
1892 |
$save['loginpath'] = $path;
|
1893 |
}
|
|
|
|
|
|
|
|
|
|
|
1894 |
cerber_save_settings( $save );
|
1895 |
}
|
1896 |
|
36 |
// If this file is called directly, abort executing.
|
37 |
if ( ! defined( 'WPINC' ) ) { exit; }
|
38 |
|
39 |
+
// Processed by WP Settings API
|
40 |
+
define( 'CERBER_OPT', 'cerber-main' );
|
41 |
+
define( 'CERBER_OPT_H', 'cerber-hardening' );
|
42 |
+
define( 'CERBER_OPT_U', 'cerber-users' );
|
43 |
+
define( 'CERBER_OPT_A', 'cerber-antispam' );
|
44 |
+
define( 'CERBER_OPT_C', 'cerber-recaptcha' );
|
45 |
+
define( 'CERBER_OPT_N', 'cerber-notifications' );
|
46 |
+
define( 'CERBER_OPT_T', 'cerber-traffic' );
|
47 |
+
define( 'CERBER_OPT_S', 'cerber-scanner' );
|
48 |
+
define( 'CERBER_OPT_E', 'cerber-schedule' );
|
49 |
+
define( 'CERBER_OPT_P', 'cerber-policies' );
|
50 |
+
define( 'CERBER_OPT_US', 'cerber-user_shield' );
|
51 |
+
define( 'CERBER_OPT_OS', 'cerber-opt_shield' );
|
52 |
+
define( 'CERBER_OPT_SL', 'cerber-nexus-slave' );
|
53 |
+
define( 'CERBER_OPT_MA', 'cerber-nexus_master' );
|
54 |
+
|
55 |
+
// Processed by Cerber
|
56 |
+
define( 'CERBER_SETTINGS', 'cerber_settings' );
|
57 |
+
define( 'CERBER_GEO_RULES', 'geo_rule_set' );
|
58 |
// A new, united settings entry
|
59 |
// @since 8.5.9.1
|
60 |
define( 'CERBER_CONFIG', 'cerber_configuration' );
|
62 |
/**
|
63 |
* A set of Cerber settings (WP options)
|
64 |
*
|
65 |
+
* @param bool $all
|
66 |
* @return array
|
67 |
*/
|
68 |
+
function cerber_get_setting_list( $all = false ) {
|
69 |
+
$ret = array( CERBER_SETTINGS, CERBER_OPT, CERBER_OPT_H, CERBER_OPT_U, CERBER_OPT_A, CERBER_OPT_C, CERBER_OPT_N, CERBER_OPT_T, CERBER_OPT_S, CERBER_OPT_E, CERBER_OPT_P, CERBER_OPT_SL, CERBER_OPT_MA, CERBER_OPT_US, CERBER_OPT_OS );
|
70 |
+
|
71 |
+
if ( $all ) {
|
72 |
+
$ret = array_merge( $ret, array( CERBER_GEO_RULES, CERBER_CONFIG ) );
|
73 |
+
}
|
74 |
+
|
75 |
+
return $ret;
|
76 |
}
|
77 |
|
78 |
function cerber_settings_config( $args = array() ) {
|
318 |
),
|
319 |
'dateformat' => array(
|
320 |
'title' => __( 'Date format', 'wp-cerber' ),
|
321 |
+
'label' => sprintf( __( 'if empty, the default format %s will be used', 'wp-cerber' ), '<b>' . date( crb_get_default_dt_format(), time() ) . '</b>' ),
|
322 |
'doclink' => 'https://wpcerber.com/date-format-setting/',
|
323 |
'label_pos' => 'below',
|
324 |
'size' => 16,
|
325 |
),
|
326 |
+
'plain_date' => array(
|
327 |
+
'title' => __( 'Date format for CSV export', 'wp-cerber' ),
|
328 |
+
'label' => __( 'Use ISO 8601 date format for CSV export files', 'wp-cerber' ),
|
329 |
+
'type' => 'checkbox',
|
330 |
+
),
|
331 |
'admin_lang' => array(
|
332 |
+
'title' => __( 'Use English', 'wp-cerber' ),
|
333 |
+
'label' => __( 'Use English for admin interface', 'wp-cerber' ),
|
334 |
+
'type' => 'checkbox',
|
335 |
+
),
|
336 |
+
'no_white_my_ip' => array(
|
337 |
+
'title' => __( 'My IP address', 'wp-cerber' ),
|
338 |
+
'label' => __( 'Do not add my IP address to the White IP Access List upon plugin activation', 'wp-cerber' ),
|
339 |
'type' => 'checkbox',
|
340 |
),
|
341 |
+
/*'log_errors' => array(
|
342 |
+
'title' => __( 'Log critical errors', 'wp-cerber' ),
|
343 |
+
'type' => 'checkbox',
|
344 |
+
),*/
|
345 |
),
|
346 |
),
|
347 |
|
882 |
),
|
883 |
'scan_debug' => array(
|
884 |
'title' => __( 'Enable diagnostic logging', 'wp-cerber' ),
|
885 |
+
'label' => 'Once enabled, the log is available here: <a target="_blank" href="' . cerber_admin_link( 'diag-log' ) . '">Diagnostic Log</a>',
|
886 |
'type' => 'checkbox',
|
887 |
),
|
888 |
'scan_qcleanup' => array(
|
1185 |
),*/
|
1186 |
'master_diag' => array(
|
1187 |
'title' => __( 'Enable diagnostic logging', 'wp-cerber' ),
|
1188 |
+
'label' => 'Once enabled, the log is available here: <a target="_blank" href="' . cerber_admin_link( 'diag-log' ) . '">Diagnostic Log</a>',
|
1189 |
'type' => 'checkbox',
|
1190 |
),
|
1191 |
)
|
1213 |
),
|
1214 |
'slave_diag' => array(
|
1215 |
'title' => __( 'Enable diagnostic logging', 'wp-cerber' ),
|
1216 |
+
'label' => 'Once enabled, the log is available here: <a target="_blank" href="' . cerber_admin_link( 'diag-log' ) . '">Diagnostic Log</a>',
|
1217 |
'default' => 0,
|
1218 |
'type' => 'checkbox',
|
1219 |
),
|
1427 |
'cerberproto' => 0,
|
1428 |
'usefile' => 0,
|
1429 |
'dateformat' => '',
|
1430 |
+
'plain_date' => 0,
|
1431 |
+
'admin_lang' => 0,
|
1432 |
+
'no_white_my_ip' => 0,
|
1433 |
+
//'log_errors' => 1
|
1434 |
|
1435 |
),
|
1436 |
CERBER_OPT_H => array(
|
1549 |
'scan_inew' => '1',
|
1550 |
'scan_imod' => '1',
|
1551 |
'scan_chmod' => 0,
|
1552 |
+
'scan_tmp' => 0,
|
1553 |
+
'scan_sess' => 0,
|
1554 |
'scan_debug' => 0,
|
1555 |
'scan_qcleanup' => '30',
|
1556 |
),
|
1722 |
}
|
1723 |
}
|
1724 |
if ( ! empty( $filtered ) ) {
|
1725 |
+
update_site_option( $option_name, $filtered );
|
1726 |
}
|
1727 |
}
|
1728 |
|
1819 |
}
|
1820 |
|
1821 |
$set_new = cerber_db_get_var( $sql_new );
|
1822 |
+
|
1823 |
if ( $set_new ) {
|
1824 |
array_unshift( $set, $set_new );
|
1825 |
}
|
1913 |
Load default settings, except Custom Login URL
|
1914 |
*/
|
1915 |
function cerber_load_defaults() {
|
1916 |
+
|
1917 |
$save = array();
|
1918 |
foreach ( cerber_get_defaults() as $option_name => $fields ) {
|
1919 |
foreach ( $fields as $field_name => $def ) {
|
1920 |
$save[ $field_name ] = $def;
|
1921 |
}
|
1922 |
}
|
1923 |
+
|
1924 |
if ( $path = crb_get_settings( 'loginpath' ) ) {
|
1925 |
$save['loginpath'] = $path;
|
1926 |
}
|
1927 |
+
|
1928 |
+
foreach ( cerber_get_setting_list( true ) as $opt ) {
|
1929 |
+
delete_site_option( $opt ); // @since 8.6.3.4
|
1930 |
+
}
|
1931 |
+
|
1932 |
cerber_save_settings( $save );
|
1933 |
}
|
1934 |
|
wp-cerber.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
Description: Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications.
|
6 |
Author: Cerber Tech Inc.
|
7 |
Author URI: https://wpcerber.com
|
8 |
-
Version: 8.6.
|
9 |
Text Domain: wp-cerber
|
10 |
Domain Path: /languages
|
11 |
Network: true
|
@@ -31,7 +31,7 @@
|
|
31 |
|
32 |
*/
|
33 |
|
34 |
-
define( 'CERBER_VER', '8.6.
|
35 |
define( 'CERBER_PLUGIN_ID', 'wp-cerber/wp-cerber.php' );
|
36 |
|
37 |
function cerber_plugin_file() {
|
@@ -159,7 +159,8 @@ function cerber_get_upload_dir_mu() {
|
|
159 |
}
|
160 |
|
161 |
function cerber_get_abspath() {
|
162 |
-
static $abspath;
|
|
|
163 |
if ( $abspath === null ) {
|
164 |
$abspath = cerber_normal_path( ABSPATH );
|
165 |
}
|
5 |
Description: Defends WordPress against hacker attacks, spam, trojans, and viruses. Malware scanner and integrity checker. Hardening WordPress with a set of comprehensive security algorithms. Spam protection with a sophisticated bot detection engine and reCAPTCHA. Tracks user and intruder activity with powerful email, mobile and desktop notifications.
|
6 |
Author: Cerber Tech Inc.
|
7 |
Author URI: https://wpcerber.com
|
8 |
+
Version: 8.6.5
|
9 |
Text Domain: wp-cerber
|
10 |
Domain Path: /languages
|
11 |
Network: true
|
31 |
|
32 |
*/
|
33 |
|
34 |
+
define( 'CERBER_VER', '8.6.5' );
|
35 |
define( 'CERBER_PLUGIN_ID', 'wp-cerber/wp-cerber.php' );
|
36 |
|
37 |
function cerber_plugin_file() {
|
159 |
}
|
160 |
|
161 |
function cerber_get_abspath() {
|
162 |
+
static $abspath = null;
|
163 |
+
|
164 |
if ( $abspath === null ) {
|
165 |
$abspath = cerber_normal_path( ABSPATH );
|
166 |
}
|