Version Description
- New: Ability to load IP access list's entries in the CSV format (bulk load).
- Update: A new malware scanner setting allows you to permit the scanner to change permissions of folders and files when required.
- Fixed: The access list IPv4 wildcard ... doesnt work (has no effect).
- Fixed: If the anti-spam query whitelist contains more than one entry, they do not work as expected.
- Fixed: Several settings fields are not properly escaped.
- Read more
Download this release
Release Info
Developer | Gioni |
Plugin | Cerber Security & Antispam |
Version | 8.6.3 |
Comparing to | |
See all releases |
Code changes from version 8.6 to 8.6.3
- admin/cerber-settings.php +103 -45
- assets/admin.css +76 -32
- assets/scanner.js +4 -1
- cerber-2fa.php +1 -1
- cerber-load.php +115 -62
- cerber-news.php +6 -28
- cerber-scanner.php +121 -59
- cerber-tools.php +108 -34
- cerber-users.php +2 -1
- changelog.txt +18 -9
- common.php +63 -21
- dashboard.php +93 -85
- languages/wp-cerber-nl_NL.mo +0 -0
- languages/wp-cerber-nl_NL.po +37 -36
- languages/wp-cerber-sv_SE.mo +0 -0
- languages/wp-cerber-sv_SE.po +3 -3
- languages/wp-cerber.pot +657 -645
- nexus/cerber-nexus-slave.php +2 -17
- readme.txt +8 -1
- settings.php +35 -23
- wp-cerber.php +2 -2
admin/cerber-settings.php
CHANGED
@@ -253,18 +253,11 @@ function cerber_field_show( $args ) {
|
|
253 |
|
254 |
//$settings = get_site_option( 'cerber-' . $args['group'] );
|
255 |
$settings = crb_get_settings();
|
256 |
-
if ( is_array( $settings ) ) {
|
257 |
-
array_walk_recursive( $settings, 'esc_html' );
|
258 |
-
}
|
259 |
|
260 |
$pre = '';
|
261 |
$value = '';
|
262 |
$atts = '';
|
263 |
|
264 |
-
if ( isset( $args['value'] ) ) {
|
265 |
-
$value = esc_html( $args['value'] ); // 7.9.8
|
266 |
-
}
|
267 |
-
|
268 |
$label = crb_array_get( $args, 'label', '' );
|
269 |
|
270 |
if ( ! empty( $args['doclink'] ) ) {
|
@@ -284,6 +277,10 @@ function cerber_field_show( $args ) {
|
|
284 |
$atts .= ' required="required" ';
|
285 |
}
|
286 |
|
|
|
|
|
|
|
|
|
287 |
if ( isset( $args['setting'] ) ) {
|
288 |
if ( ! $value && isset( $settings[ $args['setting'] ] ) ) {
|
289 |
$value = $settings[ $args['setting'] ];
|
@@ -298,6 +295,8 @@ function cerber_field_show( $args ) {
|
|
298 |
}
|
299 |
}
|
300 |
|
|
|
|
|
301 |
if ( isset( $args['list'] ) ) {
|
302 |
$value = cerber_array2text( $value, $args['delimiter'] );
|
303 |
}
|
@@ -338,34 +337,34 @@ function cerber_field_show( $args ) {
|
|
338 |
$s3 = $args['group'] . '-within';
|
339 |
|
340 |
$html = sprintf( $label,
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
break;
|
345 |
|
346 |
case 'attempts':
|
347 |
$html = sprintf( __( '%s retries are allowed within %s minutes', 'wp-cerber' ),
|
348 |
-
|
349 |
-
|
350 |
break;
|
351 |
|
352 |
case 'reglimit':
|
353 |
$html = sprintf( __( '%s registrations are allowed within %s minutes from one IP address', 'wp-cerber' ),
|
354 |
-
|
355 |
-
|
356 |
break;
|
357 |
|
358 |
case 'aggressive':
|
359 |
$html = sprintf( __( 'Increase lockout duration to %s hours after %s lockouts in the last %s hours', 'wp-cerber' ),
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
break;
|
364 |
|
365 |
case 'notify':
|
366 |
$html = '<label class="crb-switch"><input class="screen-reader-text" type="checkbox" id="' . $args['setting'] . '" name="cerber-' . $args['group'] . '[' . $args['setting'] . ']" value="1" ' . checked( 1, $value, false ) . $atts . ' /><span class="crb-slider round"></span></label>'
|
367 |
. __( 'Notify admin if the number of active lockouts above', 'wp-cerber' ) . ' ' .
|
368 |
-
|
369 |
' <span class="crb-no-wrap">[ <a href="' . cerber_admin_link_add( array(
|
370 |
'cerber_admin_do' => 'testnotify',
|
371 |
'type' => 'lockout',
|
@@ -374,8 +373,8 @@ function cerber_field_show( $args ) {
|
|
374 |
|
375 |
case 'citadel':
|
376 |
$html = sprintf( __( 'Enable after %s failed login attempts in the last %s minutes', 'wp-cerber' ),
|
377 |
-
|
378 |
-
|
379 |
break;
|
380 |
|
381 |
case 'checkbox':
|
@@ -423,31 +422,41 @@ function cerber_field_show( $args ) {
|
|
423 |
break;
|
424 |
case 'text':
|
425 |
default:
|
426 |
-
/*$type = 'text';
|
427 |
-
if ( in_array( $args['type'], array( 'url' ) ) ) {
|
428 |
-
$type = $args['type'];
|
429 |
-
}*/
|
430 |
|
431 |
$type = crb_array_get( $args, 'type', 'text' );
|
432 |
-
if (
|
433 |
-
$
|
|
|
|
|
|
|
434 |
}
|
435 |
|
436 |
$size = '';
|
437 |
-
$
|
438 |
-
|
439 |
-
if (
|
440 |
-
|
441 |
-
$
|
442 |
-
$class = '';
|
443 |
}
|
444 |
-
|
445 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
}
|
447 |
-
|
448 |
-
$
|
449 |
}
|
450 |
|
|
|
451 |
if ( isset( $args['pattern'] ) ) {
|
452 |
$atts .= ' pattern="' . $args['pattern'] . '"';
|
453 |
}
|
@@ -463,7 +472,7 @@ function cerber_field_show( $args ) {
|
|
463 |
}
|
464 |
}
|
465 |
|
466 |
-
$html = $pre . '<input type="' . $
|
467 |
|
468 |
if ( ! $size || crb_array_get( $args, 'label_pos' ) == 'below' ) {
|
469 |
$label = '<br/><label class="crb-below" for="' . $args['setting'] . '">' . $label . '</label>';
|
@@ -566,8 +575,18 @@ function cerber_checkbox( $name, $value, $label = '', $id = '', $atts = '' ) {
|
|
566 |
<div style="display: table-cell;"><label for="' . $id . '">' . $label . '</label></div>';
|
567 |
}
|
568 |
|
569 |
-
function
|
|
|
|
|
|
|
|
|
570 |
$atts = '';
|
|
|
|
|
|
|
|
|
|
|
|
|
571 |
if ( $size ) {
|
572 |
$atts .= ' size="' . $size . '" ';
|
573 |
}
|
@@ -578,7 +597,7 @@ function cerber_txt_field( $name, $value = '', $id = '', $size = '', $maxlength
|
|
578 |
$atts .= ' pattern="' . $pattern . '" ';
|
579 |
}
|
580 |
|
581 |
-
return '<input type="text"
|
582 |
}
|
583 |
|
584 |
function cerber_nonce_field( $action = 'control', $echo = false ) {
|
@@ -700,12 +719,11 @@ add_filter( 'pre_update_option_'.CERBER_OPT_U, function ($new, $old, $option) {
|
|
700 |
return $new;
|
701 |
}, 10, 3 );
|
702 |
/*
|
703 |
-
Sanitizing/checking user input for
|
704 |
*/
|
705 |
add_filter( 'pre_update_option_' . CERBER_OPT_A, function ( $new, $old, $option ) {
|
706 |
-
|
707 |
-
|
708 |
-
}
|
709 |
|
710 |
if ( empty( $new['botsany'] ) && empty( $new['botscomm'] ) && empty( $new['botsreg'] ) ) {
|
711 |
update_site_option( 'cerber-antibot', '' );
|
@@ -1048,7 +1066,7 @@ function cerber_update_site_option( $option_name, $value ) {
|
|
1048 |
/**
|
1049 |
* Updates Cerber's settings in a new way
|
1050 |
*
|
1051 |
-
* @since 8.
|
1052 |
*
|
1053 |
*/
|
1054 |
function cerber_settings_update() {
|
@@ -1059,7 +1077,7 @@ function cerber_settings_update() {
|
|
1059 |
}
|
1060 |
|
1061 |
// We do not process some specific cases - not a real settings form
|
1062 |
-
if ( $group == CRB_NX_SLAVE ) {
|
1063 |
return;
|
1064 |
}
|
1065 |
|
@@ -1082,6 +1100,9 @@ function cerber_settings_update() {
|
|
1082 |
|
1083 |
$fields = array_fill_keys( $fields, '' );
|
1084 |
$post_fields = crb_get_post_fields( 'cerber-' . $group, array() );
|
|
|
|
|
|
|
1085 |
|
1086 |
$new_settings = array_merge( $fields, $post_fields );
|
1087 |
|
@@ -1109,4 +1130,41 @@ function cerber_settings_update() {
|
|
1109 |
'remote' => $remote
|
1110 |
) );
|
1111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1112 |
}
|
253 |
|
254 |
//$settings = get_site_option( 'cerber-' . $args['group'] );
|
255 |
$settings = crb_get_settings();
|
|
|
|
|
|
|
256 |
|
257 |
$pre = '';
|
258 |
$value = '';
|
259 |
$atts = '';
|
260 |
|
|
|
|
|
|
|
|
|
261 |
$label = crb_array_get( $args, 'label', '' );
|
262 |
|
263 |
if ( ! empty( $args['doclink'] ) ) {
|
277 |
$atts .= ' required="required" ';
|
278 |
}
|
279 |
|
280 |
+
if ( isset( $args['value'] ) ) {
|
281 |
+
$value = $args['value'];
|
282 |
+
}
|
283 |
+
|
284 |
if ( isset( $args['setting'] ) ) {
|
285 |
if ( ! $value && isset( $settings[ $args['setting'] ] ) ) {
|
286 |
$value = $settings[ $args['setting'] ];
|
295 |
}
|
296 |
}
|
297 |
|
298 |
+
$value = crb_attr_escape( $value );
|
299 |
+
|
300 |
if ( isset( $args['list'] ) ) {
|
301 |
$value = cerber_array2text( $value, $args['delimiter'] );
|
302 |
}
|
337 |
$s3 = $args['group'] . '-within';
|
338 |
|
339 |
$html = sprintf( $label,
|
340 |
+
cerber_digi_field( $name_prefix . '[' . $s1 . ']', $settings[ $s1 ] ),
|
341 |
+
cerber_digi_field( $name_prefix . '[' . $s2 . ']', $settings[ $s2 ] ),
|
342 |
+
cerber_digi_field( $name_prefix . '[' . $s3 . ']', $settings[ $s3 ] ) );
|
343 |
break;
|
344 |
|
345 |
case 'attempts':
|
346 |
$html = sprintf( __( '%s retries are allowed within %s minutes', 'wp-cerber' ),
|
347 |
+
cerber_digi_field( $name_prefix . '[attempts]', $settings['attempts'] ),
|
348 |
+
cerber_digi_field( $name_prefix . '[period]', $settings['period'] ) );
|
349 |
break;
|
350 |
|
351 |
case 'reglimit':
|
352 |
$html = sprintf( __( '%s registrations are allowed within %s minutes from one IP address', 'wp-cerber' ),
|
353 |
+
cerber_digi_field( $name_prefix . '[reglimit_num]', $settings['reglimit_num'] ),
|
354 |
+
cerber_digi_field( $name_prefix . '[reglimit_min]', $settings['reglimit_min'], 4, 4 ) );
|
355 |
break;
|
356 |
|
357 |
case 'aggressive':
|
358 |
$html = sprintf( __( 'Increase lockout duration to %s hours after %s lockouts in the last %s hours', 'wp-cerber' ),
|
359 |
+
cerber_digi_field( $name_prefix . '[agperiod]', $settings['agperiod'] ),
|
360 |
+
cerber_digi_field( $name_prefix . '[aglocks]', $settings['aglocks'] ),
|
361 |
+
cerber_digi_field( $name_prefix . '[aglast]', $settings['aglast'] ) );
|
362 |
break;
|
363 |
|
364 |
case 'notify':
|
365 |
$html = '<label class="crb-switch"><input class="screen-reader-text" type="checkbox" id="' . $args['setting'] . '" name="cerber-' . $args['group'] . '[' . $args['setting'] . ']" value="1" ' . checked( 1, $value, false ) . $atts . ' /><span class="crb-slider round"></span></label>'
|
366 |
. __( 'Notify admin if the number of active lockouts above', 'wp-cerber' ) . ' ' .
|
367 |
+
cerber_digi_field( $name_prefix . '[above]', $settings['above'] ) .
|
368 |
' <span class="crb-no-wrap">[ <a href="' . cerber_admin_link_add( array(
|
369 |
'cerber_admin_do' => 'testnotify',
|
370 |
'type' => 'lockout',
|
373 |
|
374 |
case 'citadel':
|
375 |
$html = sprintf( __( 'Enable after %s failed login attempts in the last %s minutes', 'wp-cerber' ),
|
376 |
+
cerber_digi_field( $name_prefix . '[cilimit]', $settings['cilimit'] ),
|
377 |
+
cerber_digi_field( $name_prefix . '[ciperiod]', $settings['ciperiod'] ) . '<i ' . $data . '></i>' );
|
378 |
break;
|
379 |
|
380 |
case 'checkbox':
|
422 |
break;
|
423 |
case 'text':
|
424 |
default:
|
|
|
|
|
|
|
|
|
425 |
|
426 |
$type = crb_array_get( $args, 'type', 'text' );
|
427 |
+
if ( in_array( $type, array( 'url', 'number', 'email' ) ) ) {
|
428 |
+
$input_type = $type;
|
429 |
+
}
|
430 |
+
else {
|
431 |
+
$input_type = 'text';
|
432 |
}
|
433 |
|
434 |
$size = '';
|
435 |
+
$class = '';
|
436 |
+
|
437 |
+
if ( $type == 'digits' ) {
|
438 |
+
$size = '3';
|
439 |
+
$class = 'crb-digits';
|
|
|
440 |
}
|
441 |
+
|
442 |
+
$size = crb_array_get( $args, 'size', $size );
|
443 |
+
$maxlength = crb_array_get( $args, 'maxlength', $size );
|
444 |
+
|
445 |
+
if ( $maxlength ) {
|
446 |
+
$maxlength = ' maxlength="' . $maxlength . '" ';
|
447 |
+
}
|
448 |
+
elseif ( $size ) {
|
449 |
+
$maxlength = ' maxlength="' . $size . '" ';
|
450 |
+
}
|
451 |
+
|
452 |
+
if ( $size ) {
|
453 |
+
$size = ' size="' . $size . '"';
|
454 |
}
|
455 |
+
else {
|
456 |
+
$class = 'crb-wide';
|
457 |
}
|
458 |
|
459 |
+
|
460 |
if ( isset( $args['pattern'] ) ) {
|
461 |
$atts .= ' pattern="' . $args['pattern'] . '"';
|
462 |
}
|
472 |
}
|
473 |
}
|
474 |
|
475 |
+
$html = $pre . '<input type="' . $input_type . '" id="' . $args['setting'] . '" name="' . $name . '" value="' . $value . '"' . $atts . ' class="' . $class . '" ' . $size . $maxlength . $atts . $data . ' />';
|
476 |
|
477 |
if ( ! $size || crb_array_get( $args, 'label_pos' ) == 'below' ) {
|
478 |
$label = '<br/><label class="crb-below" for="' . $args['setting'] . '">' . $label . '</label>';
|
575 |
<div style="display: table-cell;"><label for="' . $id . '">' . $label . '</label></div>';
|
576 |
}
|
577 |
|
578 |
+
function cerber_digi_field( $name, $value = '', $size = '3', $maxlength = '3', $id = '' ) {
|
579 |
+
return cerber_txt_field( $name, $value, $id, $size, $maxlength, '\d+', 'crb-digits' );
|
580 |
+
}
|
581 |
+
|
582 |
+
function cerber_txt_field( $name, $value = '', $id = '', $size = '', $maxlength = '', $pattern = '', $class = '' ) {
|
583 |
$atts = '';
|
584 |
+
if ( $id ) {
|
585 |
+
$atts .= ' id="' . $id . '" ';
|
586 |
+
}
|
587 |
+
if ( $class ) {
|
588 |
+
$atts .= ' class="' . $class . '" ';
|
589 |
+
}
|
590 |
if ( $size ) {
|
591 |
$atts .= ' size="' . $size . '" ';
|
592 |
}
|
597 |
$atts .= ' pattern="' . $pattern . '" ';
|
598 |
}
|
599 |
|
600 |
+
return '<input type="text" name="' . $name . '" value="' . $value . '" ' . $atts . ' />';
|
601 |
}
|
602 |
|
603 |
function cerber_nonce_field( $action = 'control', $echo = false ) {
|
719 |
return $new;
|
720 |
}, 10, 3 );
|
721 |
/*
|
722 |
+
Sanitizing/checking user input for anti-spam tab settings
|
723 |
*/
|
724 |
add_filter( 'pre_update_option_' . CERBER_OPT_A, function ( $new, $old, $option ) {
|
725 |
+
|
726 |
+
$new['botswhite'] = cerber_text2array( $new['botswhite'], "\n" );
|
|
|
727 |
|
728 |
if ( empty( $new['botsany'] ) && empty( $new['botscomm'] ) && empty( $new['botsreg'] ) ) {
|
729 |
update_site_option( 'cerber-antibot', '' );
|
1066 |
/**
|
1067 |
* Updates Cerber's settings in a new way
|
1068 |
*
|
1069 |
+
* @since 8.6
|
1070 |
*
|
1071 |
*/
|
1072 |
function cerber_settings_update() {
|
1077 |
}
|
1078 |
|
1079 |
// We do not process some specific cases - not a real settings form
|
1080 |
+
if ( defined( 'CRB_NX_SLAVE' ) && $group == CRB_NX_SLAVE ) {
|
1081 |
return;
|
1082 |
}
|
1083 |
|
1100 |
|
1101 |
$fields = array_fill_keys( $fields, '' );
|
1102 |
$post_fields = crb_get_post_fields( 'cerber-' . $group, array() );
|
1103 |
+
crb_trim_deep( $post_fields );
|
1104 |
+
$post_fields = stripslashes_deep( $post_fields );
|
1105 |
+
crb_sanitize_deep( $post_fields ); // removes all tags
|
1106 |
|
1107 |
$new_settings = array_merge( $fields, $post_fields );
|
1108 |
|
1130 |
'remote' => $remote
|
1131 |
) );
|
1132 |
|
1133 |
+
}
|
1134 |
+
|
1135 |
+
/**
|
1136 |
+
* Escaping attributes (values) for forms
|
1137 |
+
*
|
1138 |
+
* @param array|string $value
|
1139 |
+
*
|
1140 |
+
* @return array|string
|
1141 |
+
*/
|
1142 |
+
function crb_attr_escape( $value ) {
|
1143 |
+
if ( is_array( $value ) ) {
|
1144 |
+
array_walk_recursive( $value, function ( &$element ) {
|
1145 |
+
$element = crb_escape( $element );
|
1146 |
+
} );
|
1147 |
+
}
|
1148 |
+
else {
|
1149 |
+
$value = crb_escape( $value );
|
1150 |
+
}
|
1151 |
+
|
1152 |
+
return $value;
|
1153 |
+
}
|
1154 |
+
|
1155 |
+
/**
|
1156 |
+
* Helper
|
1157 |
+
*
|
1158 |
+
* @param string $val
|
1159 |
+
*
|
1160 |
+
* @return string Escaped string
|
1161 |
+
*/
|
1162 |
+
function crb_escape( $val ) {
|
1163 |
+
if ( ! $val
|
1164 |
+
|| is_numeric( $val ) ) {
|
1165 |
+
return $val;
|
1166 |
+
}
|
1167 |
+
|
1168 |
+
// the same way as in esc_attr();
|
1169 |
+
return _wp_specialchars( $val, ENT_QUOTES );
|
1170 |
}
|
assets/admin.css
CHANGED
@@ -44,6 +44,7 @@
|
|
44 |
|
45 |
#crb-admin input[type="text"],
|
46 |
#crb-admin input[type="number"],
|
|
|
47 |
#crb-admin select,
|
48 |
#crb-admin .select2-container {
|
49 |
margin: 0;
|
@@ -55,6 +56,12 @@
|
|
55 |
min-height: auto;
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
#crb-admin textarea,
|
59 |
#crb-admin .select2-selection {
|
60 |
border-radius: 0;
|
@@ -78,8 +85,10 @@
|
|
78 |
}
|
79 |
|
80 |
.crb-main {
|
81 |
-
width: auto;
|
82 |
-
overflow: hidden
|
|
|
|
|
83 |
padding-top: 1em;
|
84 |
}
|
85 |
|
@@ -138,6 +147,17 @@
|
|
138 |
color: #888;
|
139 |
}
|
140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
/* Select2 */
|
142 |
|
143 |
#crb-admin [class^='select2'] {
|
@@ -149,25 +169,35 @@
|
|
149 |
.crb-select2-multi {
|
150 |
margin-bottom: 0.5rem; /* workaround */
|
151 |
}
|
152 |
-
|
153 |
-
|
|
|
154 |
}
|
155 |
|
156 |
-
|
157 |
-
color: #777;
|
158 |
-
}*/
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
|
|
|
|
164 |
}
|
165 |
|
166 |
-
#crb-
|
167 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
display: none;
|
169 |
}
|
170 |
|
|
|
|
|
171 |
/* Dashboard */
|
172 |
|
173 |
#crb-kpi {
|
@@ -215,9 +245,14 @@
|
|
215 |
/* Aside bar */
|
216 |
|
217 |
#crb-aside {
|
218 |
-
float: right
|
219 |
-
|
220 |
-
|
|
|
|
|
|
|
|
|
|
|
221 |
}
|
222 |
#crb-aside .crb-box {
|
223 |
background-color: #fff;
|
@@ -268,13 +303,13 @@
|
|
268 |
content: "\f331";*/
|
269 |
font-family: "cerber-icon" !important;
|
270 |
content: '\10ffff';
|
271 |
-
font-size:
|
272 |
-
color:
|
273 |
opacity: 0.2;
|
274 |
z-index: 1;
|
275 |
position: absolute;
|
276 |
top: 45%;
|
277 |
-
left:
|
278 |
}
|
279 |
|
280 |
#crb-donate {
|
@@ -611,7 +646,8 @@ td.crb-traffic-details div{
|
|
611 |
|
612 |
.ip-info-label {
|
613 |
padding: 1px 6px 1px 6px;
|
614 |
-
margin-
|
|
|
615 |
}
|
616 |
|
617 |
/* Activity */
|
@@ -835,6 +871,7 @@ p.act-url{
|
|
835 |
}
|
836 |
|
837 |
/* Access Lists */
|
|
|
838 |
.acl-wrapper {
|
839 |
margin-bottom: 30px;
|
840 |
width: 100%;
|
@@ -848,7 +885,7 @@ p.act-url{
|
|
848 |
}*/
|
849 |
|
850 |
.acl-wrapper form table {
|
851 |
-
margin-top:
|
852 |
width: 100%;
|
853 |
border-collapse: collapse;
|
854 |
}
|
@@ -861,7 +898,8 @@ p.act-url{
|
|
861 |
.acl-wrapper form table td:nth-child(2) {
|
862 |
padding-left: 4px;
|
863 |
}
|
864 |
-
.acl-wrapper input[type="text"]{
|
|
|
865 |
width:100%;
|
866 |
}
|
867 |
|
@@ -991,7 +1029,8 @@ a.nav-tab:last-of-type{
|
|
991 |
text-align: center;
|
992 |
}
|
993 |
|
994 |
-
.crb-user-blocked td.column-username
|
|
|
995 |
color: red;
|
996 |
}
|
997 |
|
@@ -1437,7 +1476,7 @@ body.wp-cerber_page_cerber-integrity {
|
|
1437 |
|
1438 |
div.crb-extra-info {
|
1439 |
overflow: auto;
|
1440 |
-
padding:
|
1441 |
background-color: #f8f8f8;
|
1442 |
border: solid 1px #ddd;
|
1443 |
border-bottom: none;
|
@@ -1449,9 +1488,10 @@ div.crb-extra-info table{
|
|
1449 |
}
|
1450 |
div.crb-extra-info table td:nth-child(2){
|
1451 |
text-align: right;
|
|
|
1452 |
}
|
1453 |
div.crb-extra-info p{
|
1454 |
-
line-height:
|
1455 |
}
|
1456 |
/*div#ip-extra p:first-child {*/
|
1457 |
div.crb-extra-info span#ip-address,
|
@@ -1470,12 +1510,16 @@ div.crb-extra-info #acl-buttons{
|
|
1470 |
float:right;
|
1471 |
max-width: 30%;
|
1472 |
}
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
|
|
|
|
|
|
|
|
1479 |
|
1480 |
div#whois {
|
1481 |
border: solid 1px #ddd;
|
@@ -1513,7 +1557,7 @@ div#whois:hover {
|
|
1513 |
white-space: pre-wrap; /* css-3 */
|
1514 |
}
|
1515 |
|
1516 |
-
#user-extra-info div {
|
1517 |
float: left;
|
1518 |
margin-right: 3em;
|
1519 |
}
|
44 |
|
45 |
#crb-admin input[type="text"],
|
46 |
#crb-admin input[type="number"],
|
47 |
+
#crb-admin input[type="url"],
|
48 |
#crb-admin select,
|
49 |
#crb-admin .select2-container {
|
50 |
margin: 0;
|
56 |
min-height: auto;
|
57 |
}
|
58 |
|
59 |
+
#crb-admin input.crb-digits {
|
60 |
+
text-align: center;
|
61 |
+
/*font-family: Menlo, Consolas, Monaco, monospace;
|
62 |
+
font-size: 14px;*/
|
63 |
+
}
|
64 |
+
|
65 |
#crb-admin textarea,
|
66 |
#crb-admin .select2-selection {
|
67 |
border-radius: 0;
|
85 |
}
|
86 |
|
87 |
.crb-main {
|
88 |
+
/*width: auto;
|
89 |
+
overflow: hidden;*/
|
90 |
+
display: table-cell;
|
91 |
+
width: 80%;
|
92 |
padding-top: 1em;
|
93 |
}
|
94 |
|
147 |
color: #888;
|
148 |
}
|
149 |
|
150 |
+
.crb-settings .crb-label-above {
|
151 |
+
color: #333;
|
152 |
+
font-weight: bold;
|
153 |
+
padding-bottom: 0.7em;
|
154 |
+
}
|
155 |
+
|
156 |
+
#crb-form-user_shield th,
|
157 |
+
#crb-form-opt_shield th{
|
158 |
+
display: none;
|
159 |
+
}
|
160 |
+
|
161 |
/* Select2 */
|
162 |
|
163 |
#crb-admin [class^='select2'] {
|
169 |
.crb-select2-multi {
|
170 |
margin-bottom: 0.5rem; /* workaround */
|
171 |
}
|
172 |
+
|
173 |
+
#crb-admin .select2-container .select2-selection--single .select2-selection__rendered {
|
174 |
+
padding-right: 28px;
|
175 |
}
|
176 |
|
177 |
+
/* Select2 arrow icon */
|
|
|
|
|
178 |
|
179 |
+
#crb-admin .select2-container .select2-selection--single .select2-selection__arrow {
|
180 |
+
right: 1px;
|
181 |
+
height: 28px;
|
182 |
+
width: 28px;
|
183 |
+
background: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E") no-repeat right 5px top 55%;
|
184 |
+
background-size: 16px 16px;
|
185 |
}
|
186 |
|
187 |
+
#crb-admin .select2-container--default .select2-selection--single .select2-selection__arrow {
|
188 |
+
height: 26px;
|
189 |
+
position: absolute;
|
190 |
+
top: 1px;
|
191 |
+
right: 1px;
|
192 |
+
width: 20px;
|
193 |
+
}
|
194 |
+
|
195 |
+
#crb-admin .select2-container .select2-selection--single .select2-selection__arrow b {
|
196 |
display: none;
|
197 |
}
|
198 |
|
199 |
+
|
200 |
+
|
201 |
/* Dashboard */
|
202 |
|
203 |
#crb-kpi {
|
245 |
/* Aside bar */
|
246 |
|
247 |
#crb-aside {
|
248 |
+
/*float: right;*/
|
249 |
+
display: table-cell;
|
250 |
+
width: 20%;
|
251 |
+
padding-left: 1em;
|
252 |
+
padding-top: 1em;
|
253 |
+
max-width: 290px;
|
254 |
+
vertical-align: top;
|
255 |
+
/*margin: 1em 0 0 1em;*/
|
256 |
}
|
257 |
#crb-aside .crb-box {
|
258 |
background-color: #fff;
|
303 |
content: "\f331";*/
|
304 |
font-family: "cerber-icon" !important;
|
305 |
content: '\10ffff';
|
306 |
+
font-size: 200px;
|
307 |
+
color: #01735e;
|
308 |
opacity: 0.2;
|
309 |
z-index: 1;
|
310 |
position: absolute;
|
311 |
top: 45%;
|
312 |
+
left: 0;
|
313 |
}
|
314 |
|
315 |
#crb-donate {
|
646 |
|
647 |
.ip-info-label {
|
648 |
padding: 1px 6px 1px 6px;
|
649 |
+
margin-right: 4px;
|
650 |
+
white-space: nowrap;
|
651 |
}
|
652 |
|
653 |
/* Activity */
|
871 |
}
|
872 |
|
873 |
/* Access Lists */
|
874 |
+
|
875 |
.acl-wrapper {
|
876 |
margin-bottom: 30px;
|
877 |
width: 100%;
|
885 |
}*/
|
886 |
|
887 |
.acl-wrapper form table {
|
888 |
+
margin-top: 0.4em;
|
889 |
width: 100%;
|
890 |
border-collapse: collapse;
|
891 |
}
|
898 |
.acl-wrapper form table td:nth-child(2) {
|
899 |
padding-left: 4px;
|
900 |
}
|
901 |
+
#crb-admin .acl-wrapper input[type="text"]{
|
902 |
+
border: 2px solid #d6d6d6;
|
903 |
width:100%;
|
904 |
}
|
905 |
|
1029 |
text-align: center;
|
1030 |
}
|
1031 |
|
1032 |
+
.crb-user-blocked td.column-username,
|
1033 |
+
.crb-user-blocked .crb-user-name {
|
1034 |
color: red;
|
1035 |
}
|
1036 |
|
1476 |
|
1477 |
div.crb-extra-info {
|
1478 |
overflow: auto;
|
1479 |
+
padding: 15px 25px 5px 25px;
|
1480 |
background-color: #f8f8f8;
|
1481 |
border: solid 1px #ddd;
|
1482 |
border-bottom: none;
|
1488 |
}
|
1489 |
div.crb-extra-info table td:nth-child(2){
|
1490 |
text-align: right;
|
1491 |
+
vertical-align: top;
|
1492 |
}
|
1493 |
div.crb-extra-info p{
|
1494 |
+
line-height: 1;
|
1495 |
}
|
1496 |
/*div#ip-extra p:first-child {*/
|
1497 |
div.crb-extra-info span#ip-address,
|
1510 |
float:right;
|
1511 |
max-width: 30%;
|
1512 |
}
|
1513 |
+
|
1514 |
+
|
1515 |
+
#crb_the_summary > div {
|
1516 |
+
display: table-row;
|
1517 |
+
}
|
1518 |
+
|
1519 |
+
#crb_the_summary > div > div {
|
1520 |
+
display: table-cell;
|
1521 |
+
padding: 0 0.6em 0.8em 0;
|
1522 |
+
}
|
1523 |
|
1524 |
div#whois {
|
1525 |
border: solid 1px #ddd;
|
1557 |
white-space: pre-wrap; /* css-3 */
|
1558 |
}
|
1559 |
|
1560 |
+
#user-extra-info > div {
|
1561 |
float: left;
|
1562 |
margin-right: 3em;
|
1563 |
}
|
assets/scanner.js
CHANGED
@@ -36,7 +36,10 @@ jQuery(document).ready(function ($) {
|
|
36 |
var crb_the_file;
|
37 |
var crb_row_id = 0; // For local parent -> child relationship
|
38 |
|
39 |
-
|
|
|
|
|
|
|
40 |
|
41 |
crb_scan_controls.find(':button,a').click(function (event) {
|
42 |
var operation = $(event.target).data('control');
|
36 |
var crb_the_file;
|
37 |
var crb_row_id = 0; // For local parent -> child relationship
|
38 |
|
39 |
+
if (crb_admin_page === 'cerber-integrity'
|
40 |
+
&& (crb_admin_tab === '' || crb_admin_tab === 'scan_main')) {
|
41 |
+
cerber_scan_load_data();
|
42 |
+
}
|
43 |
|
44 |
crb_scan_controls.find(':button,a').click(function (event) {
|
45 |
var operation = $(event.target).data('control');
|
cerber-2fa.php
CHANGED
@@ -141,7 +141,7 @@ final class CRB_2FA {
|
|
141 |
}
|
142 |
}
|
143 |
if ( crb_array_get( $policies, '2fanewnet4' ) ) {
|
144 |
-
if (
|
145 |
return true;
|
146 |
}
|
147 |
}
|
141 |
}
|
142 |
}
|
143 |
if ( crb_array_get( $policies, '2fanewnet4' ) ) {
|
144 |
+
if ( cerber_get_subnet_ipv4( $last_login['ip'] ) != cerber_get_subnet_ipv4( cerber_get_remote_ip() ) ) {
|
145 |
return true;
|
146 |
}
|
147 |
}
|
cerber-load.php
CHANGED
@@ -800,11 +800,6 @@ function get_wp_cerber(){
|
|
800 |
return $the_wp_cerber;
|
801 |
}
|
802 |
|
803 |
-
/**
|
804 |
-
*
|
805 |
-
* Initialize Cerber Security
|
806 |
-
*
|
807 |
-
*/
|
808 |
add_action( 'plugins_loaded', function () {
|
809 |
|
810 |
cerber_error_control();
|
@@ -813,9 +808,13 @@ add_action( 'plugins_loaded', function () {
|
|
813 |
|
814 |
cerber_inspect_uploads(); // Uploads in the dashboard
|
815 |
|
816 |
-
cerber_init_cron();
|
817 |
|
818 |
-
|
|
|
|
|
|
|
|
|
819 |
|
820 |
}, 1000 );
|
821 |
|
@@ -1330,11 +1329,11 @@ function crb_update_session_data( $user_id, $sessions = null ) {
|
|
1330 |
}
|
1331 |
|
1332 |
foreach ( $new as $id ) {
|
1333 |
-
$data
|
1334 |
$session_id = get_wp_cerber()->getRequestID();
|
1335 |
$ip = $data['ip'];
|
1336 |
//$ip = cerber_get_remote_ip();
|
1337 |
-
$country
|
1338 |
cerber_db_query( 'INSERT INTO ' . $table . ' (user_id, ip, country, started, expires, session_id, wp_session_token) VALUES (' . $user_id . ',"' . $ip . '","' . $country . '","' . $data['login'] . '","' . $data['expiration'] . '","' . $session_id . '","' . $id . '")' );
|
1339 |
}
|
1340 |
|
@@ -2930,7 +2929,7 @@ function cerber_block_add( $ip_address = '', $reason_id = 1, $details = '', $dur
|
|
2930 |
}
|
2931 |
|
2932 |
if ( crb_get_settings( 'subnet' ) ) {
|
2933 |
-
$ip =
|
2934 |
$activity = 11;
|
2935 |
}
|
2936 |
else {
|
@@ -3029,7 +3028,7 @@ function cerber_get_block( $ip = '' ) {
|
|
3029 |
$where = ' WHERE ip = "' . $ip . '"';
|
3030 |
|
3031 |
if ( cerber_is_ipv4( $ip ) ) {
|
3032 |
-
$subnet =
|
3033 |
$where .= ' OR ip = "' . $subnet . '"';
|
3034 |
}
|
3035 |
|
@@ -3536,7 +3535,7 @@ function cerber_file_log( $user_login, $ip ) {
|
|
3536 |
/*
|
3537 |
Return wildcard - string like subnet Class C
|
3538 |
*/
|
3539 |
-
function
|
3540 |
return preg_replace( '/\.\d{1,3}$/', '.*', $ip );
|
3541 |
}
|
3542 |
|
@@ -3580,11 +3579,12 @@ function cerber_is_ip_or_net( $ip ) {
|
|
3580 |
}
|
3581 |
|
3582 |
/**
|
3583 |
-
* Tries to recognize
|
|
|
3584 |
*
|
3585 |
-
* @param string $string String to
|
3586 |
*
|
3587 |
-
* @return array|bool|string Return IP range as an array
|
3588 |
*/
|
3589 |
function cerber_parse_ip_range( $string ) {
|
3590 |
|
@@ -3618,7 +3618,16 @@ function cerber_parse_ip_range( $string ) {
|
|
3618 |
elseif ( cerber_is_ipv6( $begin_ip ) && cerber_is_ipv6( $end_ip ) ) {
|
3619 |
$ver6 = 1;
|
3620 |
list( $begin, $end, $v6range ) = crb_ipv6_prepare( $begin_ip, $end_ip );
|
3621 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3622 |
else {
|
3623 |
return false;
|
3624 |
}
|
@@ -3642,12 +3651,13 @@ function cerber_parse_ip_range( $string ) {
|
|
3642 |
* @return array|bool|string False if no wildcard found, otherwise result of cerber_parse_ip()
|
3643 |
*/
|
3644 |
function cerber_wildcard2range( $wildcard ) {
|
3645 |
-
if (
|
3646 |
return false;
|
3647 |
}
|
|
|
3648 |
if ( ! strpos( $wildcard, ':' ) ) {
|
3649 |
-
$begin = str_replace( '
|
3650 |
-
$end = str_replace( '
|
3651 |
if ( ! cerber_is_ipv4( $begin ) || ! cerber_is_ipv4( $end ) ) {
|
3652 |
return false;
|
3653 |
}
|
@@ -3698,15 +3708,27 @@ function cerber_cidr2range( $cidr = '' ) {
|
|
3698 |
}
|
3699 |
|
3700 |
/**
|
3701 |
-
*
|
|
|
3702 |
*
|
3703 |
-
*
|
3704 |
*
|
3705 |
-
* @
|
|
|
|
|
3706 |
*/
|
3707 |
function cerber_any2range( $string ) {
|
|
|
|
|
|
|
|
|
|
|
3708 |
$string = trim( $string );
|
3709 |
|
|
|
|
|
|
|
|
|
3710 |
// Do not change the order!
|
3711 |
$ret = cerber_wildcard2range( $string );
|
3712 |
if ( ! $ret ) {
|
@@ -3835,7 +3857,7 @@ function cerber_is_myip( $ip ) {
|
|
3835 |
if ( $ip == $remote_ip ) {
|
3836 |
return true;
|
3837 |
}
|
3838 |
-
if ( $ip ==
|
3839 |
return true;
|
3840 |
}
|
3841 |
|
@@ -4357,26 +4379,6 @@ add_filter( 'cron_schedules', function ( $schedules ) {
|
|
4357 |
return $schedules;
|
4358 |
} );
|
4359 |
|
4360 |
-
function cerber_init_cron(){
|
4361 |
-
$next_hour = intval( floor( ( time() + 3600 ) / 3600 ) * 3600 );
|
4362 |
-
|
4363 |
-
if ( ! wp_next_scheduled( 'cerber_bg_launcher' ) ) {
|
4364 |
-
wp_schedule_event( time(), 'crb_five', 'cerber_bg_launcher' );
|
4365 |
-
}
|
4366 |
-
|
4367 |
-
if ( ! wp_next_scheduled( 'cerber_hourly_1' ) ) {
|
4368 |
-
wp_schedule_event( $next_hour, 'hourly', 'cerber_hourly_1' );
|
4369 |
-
}
|
4370 |
-
|
4371 |
-
if ( ! wp_next_scheduled( 'cerber_hourly_2' ) ) {
|
4372 |
-
wp_schedule_event( $next_hour + 600 , 'hourly', 'cerber_hourly_2' );
|
4373 |
-
}
|
4374 |
-
|
4375 |
-
if ( ! wp_next_scheduled( 'cerber_daily' ) ) {
|
4376 |
-
wp_schedule_event( $next_hour + 1200, 'daily', 'cerber_daily' );
|
4377 |
-
}
|
4378 |
-
}
|
4379 |
-
|
4380 |
add_action( 'cerber_hourly_1', 'cerber_do_hourly' );
|
4381 |
function cerber_do_hourly( $force = false ) {
|
4382 |
|
@@ -4570,14 +4572,36 @@ function cerber_do_daily() {
|
|
4570 |
set_site_transient( $t, array( $start, time() ), 48 * 3600 );
|
4571 |
}
|
4572 |
|
|
|
|
|
|
|
|
|
4573 |
add_action( 'cerber_bg_launcher', function () {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4574 |
define( 'CRB_DOING_BG_TASK', 1 );
|
4575 |
-
|
4576 |
-
@
|
|
|
|
|
4577 |
if ( nexus_is_master() ) {
|
4578 |
nexus_schedule_refresh();
|
4579 |
}
|
|
|
4580 |
cerber_bg_task_launcher();
|
|
|
4581 |
} );
|
4582 |
|
4583 |
function cerber_bg_task_launcher( $filter = null ) {
|
@@ -5088,6 +5112,7 @@ register_activation_hook( cerber_plugin_file(), function () {
|
|
5088 |
}
|
5089 |
|
5090 |
$db_errors = cerber_create_db();
|
|
|
5091 |
if ( $db_errors ) {
|
5092 |
$e = '';
|
5093 |
foreach ( $db_errors as $db_error ) {
|
@@ -5101,10 +5126,24 @@ register_activation_hook( cerber_plugin_file(), function () {
|
|
5101 |
cerber_upgrade_all( true );
|
5102 |
|
5103 |
cerber_cookie_one();
|
5104 |
-
cerber_disable_citadel();
|
5105 |
|
5106 |
cerber_load_admin_code();
|
5107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5108 |
|
5109 |
cerber_htaccess_sync( 'main' );
|
5110 |
cerber_htaccess_sync( 'media' );
|
@@ -5196,10 +5235,17 @@ function cerber_upgrade_all( $force = false ) {
|
|
5196 |
global $cerber_doing_upgrade;
|
5197 |
$ver = get_site_option( '_cerber_up' );
|
5198 |
if ( $force || ! $ver || $ver['v'] != CERBER_VER ) {
|
5199 |
-
|
|
|
5200 |
@ini_set( 'display_errors', 0 );
|
|
|
|
|
|
|
|
|
|
|
5201 |
$cerber_doing_upgrade = true;
|
5202 |
@define( 'CRB_DOING_UPGRADE', 1 );
|
|
|
5203 |
crb_clear_admin_msg();
|
5204 |
cerber_create_db();
|
5205 |
cerber_upgrade_db();
|
@@ -5218,6 +5264,7 @@ function cerber_upgrade_all( $force = false ) {
|
|
5218 |
lab_get_key( true );
|
5219 |
$cerber_doing_upgrade = false;
|
5220 |
delete_site_transient( 'update_plugins' );
|
|
|
5221 |
@ini_set( 'display_errors', $d );
|
5222 |
}
|
5223 |
}
|
@@ -5594,28 +5641,34 @@ function cerber_acl_fixer() {
|
|
5594 |
}
|
5595 |
|
5596 |
foreach ( $ips as $ip ) {
|
5597 |
-
if ( cerber_is_ipv4( $ip ) ) {
|
5598 |
-
$range = cerber_any2range( $ip );
|
5599 |
-
if ( is_array( $range ) ) {
|
5600 |
-
$begin = $range['begin'];
|
5601 |
-
$end = $range['end'];
|
5602 |
-
}
|
5603 |
-
else {
|
5604 |
-
$begin = ip2long( $ip );
|
5605 |
-
$end = ip2long( $ip );
|
5606 |
-
}
|
5607 |
|
5608 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5609 |
}
|
5610 |
elseif ( cerber_is_ipv6( $ip ) ) {
|
5611 |
-
|
5612 |
-
|
5613 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5614 |
}
|
5615 |
else {
|
5616 |
continue;
|
5617 |
}
|
5618 |
|
|
|
|
|
5619 |
cerber_db_query( 'UPDATE ' . CERBER_ACL_TABLE . ' SET ' . $set );
|
5620 |
}
|
5621 |
}
|
800 |
return $the_wp_cerber;
|
801 |
}
|
802 |
|
|
|
|
|
|
|
|
|
|
|
803 |
add_action( 'plugins_loaded', function () {
|
804 |
|
805 |
cerber_error_control();
|
808 |
|
809 |
cerber_inspect_uploads(); // Uploads in the dashboard
|
810 |
|
811 |
+
//cerber_init_cron(); @since 8.6.1 moved to cerber_bg_launcher
|
812 |
|
813 |
+
if ( ! wp_next_scheduled( 'cerber_bg_launcher' ) ) {
|
814 |
+
wp_schedule_event( time(), 'crb_five', 'cerber_bg_launcher' );
|
815 |
+
}
|
816 |
+
|
817 |
+
__( '> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/', 'wp-cerber' );
|
818 |
|
819 |
}, 1000 );
|
820 |
|
1329 |
}
|
1330 |
|
1331 |
foreach ( $new as $id ) {
|
1332 |
+
$data = $sessions[ $id ];
|
1333 |
$session_id = get_wp_cerber()->getRequestID();
|
1334 |
$ip = $data['ip'];
|
1335 |
//$ip = cerber_get_remote_ip();
|
1336 |
+
$country = (string) lab_get_country( $ip );
|
1337 |
cerber_db_query( 'INSERT INTO ' . $table . ' (user_id, ip, country, started, expires, session_id, wp_session_token) VALUES (' . $user_id . ',"' . $ip . '","' . $country . '","' . $data['login'] . '","' . $data['expiration'] . '","' . $session_id . '","' . $id . '")' );
|
1338 |
}
|
1339 |
|
2929 |
}
|
2930 |
|
2931 |
if ( crb_get_settings( 'subnet' ) ) {
|
2932 |
+
$ip = cerber_get_subnet_ipv4( $ip_address );
|
2933 |
$activity = 11;
|
2934 |
}
|
2935 |
else {
|
3028 |
$where = ' WHERE ip = "' . $ip . '"';
|
3029 |
|
3030 |
if ( cerber_is_ipv4( $ip ) ) {
|
3031 |
+
$subnet = cerber_get_subnet_ipv4( $ip );
|
3032 |
$where .= ' OR ip = "' . $subnet . '"';
|
3033 |
}
|
3034 |
|
3535 |
/*
|
3536 |
Return wildcard - string like subnet Class C
|
3537 |
*/
|
3538 |
+
function cerber_get_subnet_ipv4( $ip ) {
|
3539 |
return preg_replace( '/\.\d{1,3}$/', '.*', $ip );
|
3540 |
}
|
3541 |
|
3579 |
}
|
3580 |
|
3581 |
/**
|
3582 |
+
* Tries to recognize a valid IP range (with a dash) in a given string.
|
3583 |
+
* Supports IPv4 & IPv6
|
3584 |
*
|
3585 |
+
* @param string $string String to detect for an IP range
|
3586 |
*
|
3587 |
+
* @return array|bool|string Return IP range as an array for a valid range, string in case of a single IP, false otherwise
|
3588 |
*/
|
3589 |
function cerber_parse_ip_range( $string ) {
|
3590 |
|
3618 |
elseif ( cerber_is_ipv6( $begin_ip ) && cerber_is_ipv6( $end_ip ) ) {
|
3619 |
$ver6 = 1;
|
3620 |
list( $begin, $end, $v6range ) = crb_ipv6_prepare( $begin_ip, $end_ip );
|
3621 |
+
|
3622 |
+
// @since 8.6.1 check for a valid IPv6 range: begin < end
|
3623 |
+
if ( $begin > $end ) {
|
3624 |
+
return false;
|
3625 |
+
}
|
3626 |
+
list( $begin1, $begin2, $end1, $end2 ) = explode( '#', $v6range, 4 );
|
3627 |
+
if ( crb_compare_numbers( $begin1, $begin2, $end1, $end2 ) ) {
|
3628 |
+
return false;
|
3629 |
+
}
|
3630 |
+
}
|
3631 |
else {
|
3632 |
return false;
|
3633 |
}
|
3651 |
* @return array|bool|string False if no wildcard found, otherwise result of cerber_parse_ip()
|
3652 |
*/
|
3653 |
function cerber_wildcard2range( $wildcard ) {
|
3654 |
+
if ( false === strpos( $wildcard, '*' ) ) {
|
3655 |
return false;
|
3656 |
}
|
3657 |
+
|
3658 |
if ( ! strpos( $wildcard, ':' ) ) {
|
3659 |
+
$begin = str_replace( '*', '0', $wildcard );
|
3660 |
+
$end = str_replace( '*', '255', $wildcard );
|
3661 |
if ( ! cerber_is_ipv4( $begin ) || ! cerber_is_ipv4( $end ) ) {
|
3662 |
return false;
|
3663 |
}
|
3708 |
}
|
3709 |
|
3710 |
/**
|
3711 |
+
* Tries to recognize if a given string contains an IP range/CIDR/wildcard
|
3712 |
+
* Supports IPv4 & IPv6
|
3713 |
*
|
3714 |
+
* If returns false, there is no IP in the string in any form
|
3715 |
*
|
3716 |
+
* @param $string string Anything
|
3717 |
+
*
|
3718 |
+
* @return array|string Return an array if an IP range recognized, string with IP in case of a single IP, false otherwise
|
3719 |
*/
|
3720 |
function cerber_any2range( $string ) {
|
3721 |
+
if ( ! $string
|
3722 |
+
|| ! is_string( $string ) ) {
|
3723 |
+
return false;
|
3724 |
+
}
|
3725 |
+
|
3726 |
$string = trim( $string );
|
3727 |
|
3728 |
+
if ( filter_var( $string, FILTER_VALIDATE_IP ) ) {
|
3729 |
+
return $string;
|
3730 |
+
}
|
3731 |
+
|
3732 |
// Do not change the order!
|
3733 |
$ret = cerber_wildcard2range( $string );
|
3734 |
if ( ! $ret ) {
|
3857 |
if ( $ip == $remote_ip ) {
|
3858 |
return true;
|
3859 |
}
|
3860 |
+
if ( $ip == cerber_get_subnet_ipv4( $remote_ip ) ) {
|
3861 |
return true;
|
3862 |
}
|
3863 |
|
4379 |
return $schedules;
|
4380 |
} );
|
4381 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4382 |
add_action( 'cerber_hourly_1', 'cerber_do_hourly' );
|
4383 |
function cerber_do_hourly( $force = false ) {
|
4384 |
|
4572 |
set_site_transient( $t, array( $start, time() ), 48 * 3600 );
|
4573 |
}
|
4574 |
|
4575 |
+
/**
|
4576 |
+
* Master CRON task scheduler
|
4577 |
+
*
|
4578 |
+
*/
|
4579 |
add_action( 'cerber_bg_launcher', function () {
|
4580 |
+
$next_hour = intval( floor( ( time() + 3600 ) / 3600 ) * 3600 );
|
4581 |
+
|
4582 |
+
if ( ! wp_next_scheduled( 'cerber_hourly_1' ) ) {
|
4583 |
+
wp_schedule_event( $next_hour, 'hourly', 'cerber_hourly_1' );
|
4584 |
+
}
|
4585 |
+
|
4586 |
+
if ( ! wp_next_scheduled( 'cerber_hourly_2' ) ) {
|
4587 |
+
wp_schedule_event( $next_hour + 600 , 'hourly', 'cerber_hourly_2' );
|
4588 |
+
}
|
4589 |
+
|
4590 |
+
if ( ! wp_next_scheduled( 'cerber_daily' ) ) {
|
4591 |
+
wp_schedule_event( $next_hour + 1200, 'daily', 'cerber_daily' );
|
4592 |
+
}
|
4593 |
+
|
4594 |
define( 'CRB_DOING_BG_TASK', 1 );
|
4595 |
+
|
4596 |
+
@ignore_user_abort( true );
|
4597 |
+
crb_raise_limits();
|
4598 |
+
|
4599 |
if ( nexus_is_master() ) {
|
4600 |
nexus_schedule_refresh();
|
4601 |
}
|
4602 |
+
|
4603 |
cerber_bg_task_launcher();
|
4604 |
+
|
4605 |
} );
|
4606 |
|
4607 |
function cerber_bg_task_launcher( $filter = null ) {
|
5112 |
}
|
5113 |
|
5114 |
$db_errors = cerber_create_db();
|
5115 |
+
|
5116 |
if ( $db_errors ) {
|
5117 |
$e = '';
|
5118 |
foreach ( $db_errors as $db_error ) {
|
5126 |
cerber_upgrade_all( true );
|
5127 |
|
5128 |
cerber_cookie_one();
|
|
|
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();
|
5135 |
+
$sub = cerber_get_subnet_ipv4( $ip );
|
5136 |
+
|
5137 |
+
if ( cerber_get_block( $ip ) ) {
|
5138 |
+
if ( ! cerber_block_delete( $ip ) ) {
|
5139 |
+
cerber_block_delete( $sub );
|
5140 |
+
}
|
5141 |
+
}
|
5142 |
+
|
5143 |
+
cerber_add_white( $sub, 'My Subnet' ); // Protection for non-experienced users
|
5144 |
+
|
5145 |
+
cerber_disable_citadel();
|
5146 |
+
}
|
5147 |
|
5148 |
cerber_htaccess_sync( 'main' );
|
5149 |
cerber_htaccess_sync( 'media' );
|
5235 |
global $cerber_doing_upgrade;
|
5236 |
$ver = get_site_option( '_cerber_up' );
|
5237 |
if ( $force || ! $ver || $ver['v'] != CERBER_VER ) {
|
5238 |
+
|
5239 |
+
$d = @ini_get( 'display_errors');
|
5240 |
@ini_set( 'display_errors', 0 );
|
5241 |
+
|
5242 |
+
@ignore_user_abort( true );
|
5243 |
+
|
5244 |
+
crb_raise_limits();
|
5245 |
+
|
5246 |
$cerber_doing_upgrade = true;
|
5247 |
@define( 'CRB_DOING_UPGRADE', 1 );
|
5248 |
+
|
5249 |
crb_clear_admin_msg();
|
5250 |
cerber_create_db();
|
5251 |
cerber_upgrade_db();
|
5264 |
lab_get_key( true );
|
5265 |
$cerber_doing_upgrade = false;
|
5266 |
delete_site_transient( 'update_plugins' );
|
5267 |
+
|
5268 |
@ini_set( 'display_errors', $d );
|
5269 |
}
|
5270 |
}
|
5641 |
}
|
5642 |
|
5643 |
foreach ( $ips as $ip ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5644 |
|
5645 |
+
// Code from cerber_acl_add()
|
5646 |
+
|
5647 |
+
$v6range = '';
|
5648 |
+
$ver6 = 0;
|
5649 |
+
|
5650 |
+
if ( cerber_is_ipv4( $ip ) ) {
|
5651 |
+
$begin = ip2long( $ip );
|
5652 |
+
$end = ip2long( $ip );
|
5653 |
}
|
5654 |
elseif ( cerber_is_ipv6( $ip ) ) {
|
5655 |
+
$ip = cerber_ipv6_short( $ip );
|
5656 |
+
list( $begin, $end, $v6range ) = crb_ipv6_prepare( $ip, $ip );
|
5657 |
+
$ver6 = 1;
|
5658 |
+
}
|
5659 |
+
elseif ( ( $range = cerber_any2range( $ip ) )
|
5660 |
+
&& is_array( $range ) ) {
|
5661 |
+
$ver6 = $range['IPV6'];
|
5662 |
+
$begin = $range['begin'];
|
5663 |
+
$end = $range['end'];
|
5664 |
+
$v6range = $range['IPV6range'];
|
5665 |
}
|
5666 |
else {
|
5667 |
continue;
|
5668 |
}
|
5669 |
|
5670 |
+
$set = 'ip_long_begin = ' . $begin . ', ip_long_end = ' . $end . ', ver6 = ' . $ver6 . ', v6range = "' . $v6range . '" WHERE ip = "' . $ip . '"';
|
5671 |
+
|
5672 |
cerber_db_query( 'UPDATE ' . CERBER_ACL_TABLE . ' SET ' . $set );
|
5673 |
}
|
5674 |
}
|
cerber-news.php
CHANGED
@@ -86,39 +86,17 @@ function cerber_push_the_news( $version ) {
|
|
86 |
$news['8.5.3'][] = 'Bug fixed: depending on the number of items in the access lists, the IP address 0.0.0.0 can be erroneously marked as whitelisted or blacklisted.';
|
87 |
$news['8.5.3'][] = 'Bug fixed in Cerber.Hub: if a WordPress plugin is installed on several slave websites and the plugin needs to be updated on some of the slave websites, the plugin is shown as needs to be updated on all the slave websites.';
|
88 |
|
89 |
-
$news['8.5.5'][] = 'IP Access Lists now support IPv6 networks, ranges, and wildcards. Add as many IPv6 entries to the access lists as you need. We\'ve developed an extraordinarily fast ACL engine to process them.';
|
90 |
-
$news['8.5.5'][] = 'The algorithm of handling consecutive IP address lockouts has been improved: the reason for an existing lockout is updated and its duration is recalculated in real-time now.';
|
91 |
-
$news['8.5.5'][] = 'Traffic inspection algorithms were optimized to reduce false positives and make algorithms more human-friendly.';
|
92 |
-
$news['8.5.5'][] = 'Improved compatibility with WooCommerce: the password reset and login forms are not blocked anymore if a user’s IP gets locked out due to using a non-existing username by mistake, using a prohibited username, or if a user has exceeded the number of allowed login attempts.';
|
93 |
-
$news['8.5.5'][] = 'Improved compatibility with WordPress scheduled cron tasks if a website runs on a server with PHP-FPM (FastCGI Process Manager)';
|
94 |
-
$news['8.5.5'][] = 'Very long URLs on the Live Traffic page are now displayed in full when you click the "Details" link in a row.';
|
95 |
-
$news['8.5.5'][] = 'The Cerber.Hub multi-site manager: the server column on the slave websites list page now contains a link to quickly filter out websites on the same server.';
|
96 |
-
$news['8.5.5'][] = 'The Cerber.Hub multi-site manager: now it remembers the filtered list of slave websites while you’re switching between them and the master.';
|
97 |
-
|
98 |
-
$news['8.5.6'][] = 'Now you can separately set the number of days of keeping log records in the database for authenticated (logged in) website users and non-authenticated (not logged in) visitors. These settings are configured for the activity log and the live traffic log separately.';
|
99 |
-
$news['8.5.6'][] = 'You can completely turn off the Citadel mode feature in the Main Settings now.';
|
100 |
-
$news['8.5.6'][] = 'The appearance of the Activity log has got small visual improvements.';
|
101 |
-
$news['8.5.6'][] = 'When you upload a ZIP archive on the integrity scanner page it processes nested ZIP archives now and writes errors to the diagnostic log if it\'s enabled.';
|
102 |
-
$news['8.5.6'][] = 'Fixed: The blacklisting buttons on the Activity tab do not work showing "Incorrect IP address or IP range".';
|
103 |
-
|
104 |
-
$news['8.5.8'][] = 'A personal data export and erase feature which can be used through the WordPress personal data export and erase tool. This feature helps your organization to be in compliance with data privacy laws such as GDPR in Europe or CCPA in California';
|
105 |
-
$news['8.5.8'][] = 'The performance of the algorithm that handles exporting rows from the Activity log and the Live Traffic log to a CSV file has been improved enabling export larger datasets';
|
106 |
-
$news['8.5.8'][] = 'When you block a user you can add an optional admin note now';
|
107 |
-
$news['8.5.8'][] = 'Fixed: If a user is blocked, it’s not possible to update the user message';
|
108 |
-
$news['8.5.8'][] = 'Fixed: Depending on the logging settings the "Details" links on the Live Traffic log are not displayed in some rows';
|
109 |
-
|
110 |
-
$news['8.5.9'][] = 'On the Live Traffic log, now you can search and filter our requests with software errors if they occurred.';
|
111 |
-
$news['8.5.9'][] = 'The code of WP Cerber has been updated and tested to fully support and be compatible with PHP 7.4.';
|
112 |
-
$news['8.5.9'][] = 'The layout of the list of slave websites on the Cerber.Hub\'s main page has been improved to display the list more accurately on narrow and mobile screens.';
|
113 |
-
$news['8.5.9'][] = 'If a slave website has the professional version of WP Cerber, it has a PRO sign in the "WP Cerber" column. The license expiration date is shown when you hover the mouse over the sign.';
|
114 |
-
$news['8.5.9'][] = 'Fixed: A bug with displaying long file names in the Security Scanner Quarantine that makes unavailable deleting or restoring quarantined files manually.';
|
115 |
-
$news['8.5.9'][] = 'Fixed: A bug that requires installing a valid license key on a Cerber.Hub master website to permit configuring settings on slave websites remotely, which is not intended behavior.';
|
116 |
-
|
117 |
$news['8.6'][] = 'An integration with the Cloudflare cloud-based firewall. It’s implemented as a special WP Cerber add-on.';
|
118 |
$news['8.6'][] = 'The malware scanner has got improvements to the monitoring of new and modified files feature. Now it can be set to Disable, Executable files, or All files.';
|
119 |
$news['8.6'][] = '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.';
|
120 |
$news['8.6'][] = 'The minimum supported PHP version is 5.6.';
|
121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
if ( ! empty( $news[ $version ] ) ) {
|
123 |
//$text = '<h3>What\'s new in WP Cerber '.$version.'</h3>';
|
124 |
|
86 |
$news['8.5.3'][] = 'Bug fixed: depending on the number of items in the access lists, the IP address 0.0.0.0 can be erroneously marked as whitelisted or blacklisted.';
|
87 |
$news['8.5.3'][] = 'Bug fixed in Cerber.Hub: if a WordPress plugin is installed on several slave websites and the plugin needs to be updated on some of the slave websites, the plugin is shown as needs to be updated on all the slave websites.';
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
$news['8.6'][] = 'An integration with the Cloudflare cloud-based firewall. It’s implemented as a special WP Cerber add-on.';
|
90 |
$news['8.6'][] = 'The malware scanner has got improvements to the monitoring of new and modified files feature. Now it can be set to Disable, Executable files, or All files.';
|
91 |
$news['8.6'][] = '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.';
|
92 |
$news['8.6'][] = 'The minimum supported PHP version is 5.6.';
|
93 |
|
94 |
+
$news['8.6.3'][] = 'New: Ability to load IP access list\'s entries in the CSV format (bulk load).';
|
95 |
+
$news['8.6.3'][] = 'Update: A new malware scanner setting allows you to permit the scanner to change permissions of folders and files when required.';
|
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>';
|
102 |
|
cerber-scanner.php
CHANGED
@@ -796,7 +796,7 @@ function cerber_apply_scan_policies() {
|
|
796 |
|
797 |
if ( $delete ) {
|
798 |
$update = true;
|
799 |
-
$result = cerber_quarantine_file(
|
800 |
if ( is_wp_error( $result ) ) {
|
801 |
cerber_log_scan_error( $result->get_error_message() );
|
802 |
$issue['data']['prced'] = CERBER_FDUN;
|
@@ -869,7 +869,7 @@ function cerber_recover_files( $package_type ) {
|
|
869 |
continue;
|
870 |
}
|
871 |
|
872 |
-
cerber_quarantine_file(
|
873 |
|
874 |
if ( ! @copy( $source_file, $file_name ) ) {
|
875 |
$err = error_get_last();
|
@@ -1330,12 +1330,10 @@ function cerber_push_issues( $section, $issues = array(), $container = '', $sec_
|
|
1330 |
// Can the file be deleted safely?
|
1331 |
|
1332 |
$allowed = 0;
|
1333 |
-
if ( $file['file_type'] != CERBER_FT_CONF
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
}
|
1338 |
-
}
|
1339 |
}
|
1340 |
|
1341 |
$data['fd_allowed'] = $allowed;
|
@@ -1851,7 +1849,7 @@ function cerber_verify_plugin( $plugin_folder, $plugin_data ) {
|
|
1851 |
|
1852 |
$hash_url = null;
|
1853 |
|
1854 |
-
if ( in_array( $plugin_folder, array( 'wp-cerber', 'wp-cerber-buddypress', 'wp-cerber-cloudflare-addon' ) ) ) {
|
1855 |
$hash_url = 'https://my.wpcerber.com/downloads/checksums/' . $plugin_folder . '/' . $plugin_data['Version'] . '.json';
|
1856 |
}
|
1857 |
|
@@ -3575,17 +3573,28 @@ function cerber_scan_directory( $root, $pattern = null, $function ) {
|
|
3575 |
|
3576 |
// Must be excluded
|
3577 |
if ( $exclude === null ) {
|
3578 |
-
$
|
3579 |
-
if ( ! $
|
3580 |
-
$
|
3581 |
}
|
|
|
3582 |
$d = cerber_get_the_folder();
|
3583 |
if ( is_dir( $d ) ) {
|
3584 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3585 |
}
|
3586 |
-
|
|
|
3587 |
return rtrim( $item, '/\\' );
|
3588 |
-
}, $exclude )
|
3589 |
}
|
3590 |
|
3591 |
if ( ! $pattern ) {
|
@@ -4242,6 +4251,8 @@ function cerber_need_for_hash( $zip_file = '', $delete = true, $expires = 0 ) {
|
|
4242 |
$tmp_folder1 = $folder . 'zip' . DIRECTORY_SEPARATOR;
|
4243 |
$tmp_folder2 = $folder . 'nested_zip' . DIRECTORY_SEPARATOR;
|
4244 |
|
|
|
|
|
4245 |
if ( ! $zip_file ) {
|
4246 |
if ( ! $files = glob( $folder . '*.zip' ) ) {
|
4247 |
return false;
|
@@ -4519,6 +4530,32 @@ function cerber_lock_the_folder( $folder ) {
|
|
4519 |
return false;
|
4520 |
}
|
4521 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4522 |
function cerber_unzip( $file_name, $folder ) {
|
4523 |
cerber_init_wp_filesystem();
|
4524 |
|
@@ -4898,7 +4935,7 @@ add_action( 'wp_ajax_cerber_scan_bulk_files', function () {
|
|
4898 |
|
4899 |
switch ( $operation ) {
|
4900 |
case 'delete_file':
|
4901 |
-
$result = cerber_quarantine_file(
|
4902 |
break;
|
4903 |
case 'ignore_add_file':
|
4904 |
$ignore[ $the_file->file_name_hash ] = array(
|
@@ -4949,21 +4986,28 @@ add_action( 'wp_ajax_cerber_scan_bulk_files', function () {
|
|
4949 |
/**
|
4950 |
* Move files to the quarantine folder
|
4951 |
*
|
4952 |
-
* @param $action string 'move' or 'copy'
|
4953 |
* @param string $file_name
|
4954 |
* @param integer $scan_id
|
|
|
4955 |
*
|
4956 |
* @return bool|WP_Error
|
4957 |
*/
|
4958 |
-
function cerber_quarantine_file( $
|
4959 |
static $folder;
|
4960 |
|
4961 |
$scan_id = absint( $scan_id );
|
|
|
4962 |
if ( ! is_file( $file_name ) || ! $scan_id ) {
|
4963 |
return false;
|
4964 |
}
|
4965 |
-
|
4966 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4967 |
}
|
4968 |
|
4969 |
if ( $folder === null ) {
|
@@ -5000,7 +5044,8 @@ function cerber_quarantine_file( $action, $file_name, $scan_id ) {
|
|
5000 |
fwrite( $f, 'Information for restoring files.' . PHP_EOL
|
5001 |
. 'Deletion date | Deleted file => Original file to copy to restore.' . PHP_EOL
|
5002 |
. '-----------------------------------------------------------------'
|
5003 |
-
|
|
|
5004 |
}
|
5005 |
else {
|
5006 |
if ( ! $f = fopen( $restore, 'a' ) ) {
|
@@ -5018,15 +5063,17 @@ function cerber_quarantine_file( $action, $file_name, $scan_id ) {
|
|
5018 |
}
|
5019 |
}
|
5020 |
|
5021 |
-
if ( $
|
5022 |
-
|
5023 |
-
|
|
|
|
|
5024 |
}
|
5025 |
-
|
5026 |
-
|
5027 |
-
if ( ! @copy( $file_name, $new_name ) ) {
|
5028 |
-
return new WP_Error( 'cerber-quar', 'Unable to copy file to the quarantine: ' . $file_name . '. Check the file folder permissions.' );
|
5029 |
}
|
|
|
|
|
5030 |
}
|
5031 |
|
5032 |
// Save restoring info
|
@@ -5036,41 +5083,74 @@ function cerber_quarantine_file( $action, $file_name, $scan_id ) {
|
|
5036 |
return true;
|
5037 |
}
|
5038 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5039 |
/**
|
5040 |
-
* Some files
|
5041 |
*
|
5042 |
* @param $file_name
|
5043 |
* @param bool $check_inclusion
|
5044 |
*
|
5045 |
-
* @return
|
5046 |
*/
|
5047 |
function cerber_can_be_deleted( $file_name, $check_inclusion = false ) {
|
5048 |
-
static $abspath;
|
5049 |
|
5050 |
if ( ! file_exists( $file_name ) || ! is_file( $file_name ) || is_link( $file_name ) ) {
|
5051 |
-
return
|
|
|
5052 |
}
|
5053 |
|
5054 |
if ( cerber_is_htaccess( $file_name ) || cerber_is_dropin( $file_name ) ) {
|
5055 |
-
return
|
|
|
5056 |
}
|
5057 |
|
5058 |
if ( $check_inclusion && in_array( $file_name, get_included_files() ) ) {
|
5059 |
-
return
|
|
|
5060 |
}
|
5061 |
|
5062 |
if ( basename( $file_name ) == 'wp-config.php' ) {
|
5063 |
-
|
5064 |
-
$abspath = cerber_get_abspath();
|
5065 |
-
}
|
5066 |
$file_name = cerber_normal_path( $file_name );
|
5067 |
|
5068 |
-
if ( $file_name == $abspath . 'wp-config.php' )
|
5069 |
-
|
|
|
|
|
|
|
5070 |
}
|
5071 |
-
if ( ! file_exists( $abspath . 'wp-config.php' ) && $file_name == dirname( $abspath ) . DIRECTORY_SEPARATOR . 'wp-config.php' ) {
|
5072 |
return false;
|
5073 |
-
}
|
5074 |
}
|
5075 |
|
5076 |
return true;
|
@@ -5148,24 +5228,6 @@ function cerber_is_cloud_request() {
|
|
5148 |
return $ret;
|
5149 |
}
|
5150 |
|
5151 |
-
|
5152 |
-
// TODO: !debug, remove from production!
|
5153 |
-
/*
|
5154 |
-
add_action( 'init', function () {
|
5155 |
-
if ( ! empty( $_GET['scan-report'] ) && is_user_logged_in() ) {
|
5156 |
-
$scan = cerber_get_scan();
|
5157 |
-
$report = cerber_scan_report( $scan );
|
5158 |
-
if ( ! $report ) {
|
5159 |
-
echo 'Nothing to report';
|
5160 |
-
}
|
5161 |
-
echo $report;
|
5162 |
-
print_r($scan);
|
5163 |
-
//cerber_send_email( 'scan', $report );
|
5164 |
-
die();
|
5165 |
-
}
|
5166 |
-
} );
|
5167 |
-
*/
|
5168 |
-
|
5169 |
/**
|
5170 |
* Creates a user report
|
5171 |
*
|
796 |
|
797 |
if ( $delete ) {
|
798 |
$update = true;
|
799 |
+
$result = cerber_quarantine_file( $file_name, $scan['id'] );
|
800 |
if ( is_wp_error( $result ) ) {
|
801 |
cerber_log_scan_error( $result->get_error_message() );
|
802 |
$issue['data']['prced'] = CERBER_FDUN;
|
869 |
continue;
|
870 |
}
|
871 |
|
872 |
+
cerber_quarantine_file( $file_name, $scan['id'], false );
|
873 |
|
874 |
if ( ! @copy( $source_file, $file_name ) ) {
|
875 |
$err = error_get_last();
|
1330 |
// Can the file be deleted safely?
|
1331 |
|
1332 |
$allowed = 0;
|
1333 |
+
if ( $file['file_type'] != CERBER_FT_CONF
|
1334 |
+
&& ! empty( $file['fd_allowed'] )
|
1335 |
+
&& true === cerber_can_be_deleted( $file['file_name'] ) ) {
|
1336 |
+
$allowed = 1;
|
|
|
|
|
1337 |
}
|
1338 |
|
1339 |
$data['fd_allowed'] = $allowed;
|
1849 |
|
1850 |
$hash_url = null;
|
1851 |
|
1852 |
+
if ( in_array( $plugin_folder, array( 'wp-cerber', 'wp-cerber-buddypress', 'wp-cerber-cloudflare-addon', 'jetflow' ) ) ) {
|
1853 |
$hash_url = 'https://my.wpcerber.com/downloads/checksums/' . $plugin_folder . '/' . $plugin_data['Version'] . '.json';
|
1854 |
}
|
1855 |
|
3573 |
|
3574 |
// Must be excluded
|
3575 |
if ( $exclude === null ) {
|
3576 |
+
$list = crb_get_settings( 'scan_exclude' );
|
3577 |
+
if ( ! $list || ! is_array( $list ) ) {
|
3578 |
+
$list = array();
|
3579 |
}
|
3580 |
+
|
3581 |
$d = cerber_get_the_folder();
|
3582 |
if ( is_dir( $d ) ) {
|
3583 |
+
$list[] = $d;
|
3584 |
+
}
|
3585 |
+
|
3586 |
+
$exclude = array();
|
3587 |
+
foreach ( $list as $dir ) {
|
3588 |
+
if ( ! is_dir( $dir ) ) {
|
3589 |
+
continue;
|
3590 |
+
}
|
3591 |
+
|
3592 |
+
$exclude[] = rtrim( $dir, '/\\' );
|
3593 |
}
|
3594 |
+
|
3595 |
+
/*$exclude = array_map( function ( $item ) {
|
3596 |
return rtrim( $item, '/\\' );
|
3597 |
+
}, $exclude );*/
|
3598 |
}
|
3599 |
|
3600 |
if ( ! $pattern ) {
|
4251 |
$tmp_folder1 = $folder . 'zip' . DIRECTORY_SEPARATOR;
|
4252 |
$tmp_folder2 = $folder . 'nested_zip' . DIRECTORY_SEPARATOR;
|
4253 |
|
4254 |
+
crb_raise_limits();
|
4255 |
+
|
4256 |
if ( ! $zip_file ) {
|
4257 |
if ( ! $files = glob( $folder . '*.zip' ) ) {
|
4258 |
return false;
|
4530 |
return false;
|
4531 |
}
|
4532 |
|
4533 |
+
/**
|
4534 |
+
* @param $file
|
4535 |
+
* @since 8.6.1
|
4536 |
+
*
|
4537 |
+
* @return bool
|
4538 |
+
*/
|
4539 |
+
function cerber_set_writable( $file ) {
|
4540 |
+
static $chmod_file, $chmod_dir;
|
4541 |
+
|
4542 |
+
if ( ! $chmod_file ) {
|
4543 |
+
$chmod_file = ( fileperms( ABSPATH . 'index.php' ) & 0777 | 0644 );
|
4544 |
+
}
|
4545 |
+
if ( ! $chmod_dir ) {
|
4546 |
+
$chmod_dir = ( fileperms( ABSPATH ) & 0777 | 0755 );
|
4547 |
+
}
|
4548 |
+
|
4549 |
+
if ( @is_file( $file ) ) {
|
4550 |
+
return @chmod( $file, $chmod_file );
|
4551 |
+
}
|
4552 |
+
elseif ( @is_dir( $file ) ) {
|
4553 |
+
return @chmod( $file, $chmod_dir );
|
4554 |
+
}
|
4555 |
+
|
4556 |
+
return false;
|
4557 |
+
}
|
4558 |
+
|
4559 |
function cerber_unzip( $file_name, $folder ) {
|
4560 |
cerber_init_wp_filesystem();
|
4561 |
|
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(
|
4986 |
/**
|
4987 |
* Move files to the quarantine folder
|
4988 |
*
|
|
|
4989 |
* @param string $file_name
|
4990 |
* @param integer $scan_id
|
4991 |
+
* @param bool $move true to delete the file in its original location @since 8.6.1
|
4992 |
*
|
4993 |
* @return bool|WP_Error
|
4994 |
*/
|
4995 |
+
function cerber_quarantine_file( $file_name, $scan_id, $move = true ) {
|
4996 |
static $folder;
|
4997 |
|
4998 |
$scan_id = absint( $scan_id );
|
4999 |
+
|
5000 |
if ( ! is_file( $file_name ) || ! $scan_id ) {
|
5001 |
return false;
|
5002 |
}
|
5003 |
+
|
5004 |
+
if ( $move ) {
|
5005 |
+
$can = cerber_can_be_deleted( $file_name, true );
|
5006 |
+
|
5007 |
+
if ( is_wp_error( $can ) ) {
|
5008 |
+
return $can;
|
5009 |
+
//return new WP_Error( 'cerber-del', "This file can't be deleted: " . $file_name );
|
5010 |
+
}
|
5011 |
}
|
5012 |
|
5013 |
if ( $folder === null ) {
|
5044 |
fwrite( $f, 'Information for restoring files.' . PHP_EOL
|
5045 |
. 'Deletion date | Deleted file => Original file to copy to restore.' . PHP_EOL
|
5046 |
. '-----------------------------------------------------------------'
|
5047 |
+
//. PHP_EOL . `` );
|
5048 |
+
. PHP_EOL );
|
5049 |
}
|
5050 |
else {
|
5051 |
if ( ! $f = fopen( $restore, 'a' ) ) {
|
5063 |
}
|
5064 |
}
|
5065 |
|
5066 |
+
if ( ! crb_move_copy( $file_name, $new_name, $move ) ) {
|
5067 |
+
$dir = dirname( $file_name );
|
5068 |
+
|
5069 |
+
if ( $move ) {
|
5070 |
+
$msg = 'Unable to move file to the quarantine: ' . $file_name . '. Check permissions (owner) of this folder: ' . $dir;
|
5071 |
}
|
5072 |
+
else {
|
5073 |
+
$msg = 'Unable to copy file to the quarantine: ' . $file_name . '. Check permissions (owner) of this folder: ' . $dir;
|
|
|
|
|
5074 |
}
|
5075 |
+
|
5076 |
+
return new WP_Error( 'cerber-quar-fail', $msg );
|
5077 |
}
|
5078 |
|
5079 |
// Save restoring info
|
5083 |
return true;
|
5084 |
}
|
5085 |
|
5086 |
+
// @since 8.6.1
|
5087 |
+
function crb_move_copy( $file_name, $new_name, $move = true ) {
|
5088 |
+
$abort = false;
|
5089 |
+
do {
|
5090 |
+
if ( $move ) {
|
5091 |
+
$ok = @rename( $file_name, $new_name );
|
5092 |
+
}
|
5093 |
+
else {
|
5094 |
+
$ok = @copy( $file_name, $new_name );
|
5095 |
+
}
|
5096 |
+
|
5097 |
+
if ( $ok ) {
|
5098 |
+
return true;
|
5099 |
+
}
|
5100 |
+
|
5101 |
+
if ( $abort ) {
|
5102 |
+
return false;
|
5103 |
+
}
|
5104 |
+
|
5105 |
+
if ( ! crb_get_settings( 'scan_chmod' ) ) {
|
5106 |
+
return false;
|
5107 |
+
}
|
5108 |
+
|
5109 |
+
cerber_set_writable( dirname( $file_name ) );
|
5110 |
+
cerber_set_writable( $file_name );
|
5111 |
+
$abort = true;
|
5112 |
+
|
5113 |
+
} while ( true );
|
5114 |
+
}
|
5115 |
+
|
5116 |
/**
|
5117 |
+
* Some files cannot be deleted
|
5118 |
*
|
5119 |
* @param $file_name
|
5120 |
* @param bool $check_inclusion
|
5121 |
*
|
5122 |
+
* @return true|WP_Error true if a file can be safely deleted
|
5123 |
*/
|
5124 |
function cerber_can_be_deleted( $file_name, $check_inclusion = false ) {
|
|
|
5125 |
|
5126 |
if ( ! file_exists( $file_name ) || ! is_file( $file_name ) || is_link( $file_name ) ) {
|
5127 |
+
return new WP_Error( 'cerber_no_file', 'This file cannot be deleted because it doesn\'t exist: ' . $file_name );
|
5128 |
+
//return false;
|
5129 |
}
|
5130 |
|
5131 |
if ( cerber_is_htaccess( $file_name ) || cerber_is_dropin( $file_name ) ) {
|
5132 |
+
return new WP_Error( 'cerber_file_not_allowed', 'This file is not allowed to be deleted: ' . $file_name );
|
5133 |
+
//return false;
|
5134 |
}
|
5135 |
|
5136 |
if ( $check_inclusion && in_array( $file_name, get_included_files() ) ) {
|
5137 |
+
return new WP_Error( 'cerber_file_active', 'This file cannot be deleted because it \'s loaded and in use: ' . $file_name );
|
5138 |
+
//return false;
|
5139 |
}
|
5140 |
|
5141 |
if ( basename( $file_name ) == 'wp-config.php' ) {
|
5142 |
+
$abspath = cerber_get_abspath();
|
|
|
|
|
5143 |
$file_name = cerber_normal_path( $file_name );
|
5144 |
|
5145 |
+
if ( ( $file_name == $abspath . 'wp-config.php' )
|
5146 |
+
|| ( ! file_exists( $abspath . 'wp-config.php' ) && $file_name == dirname( $abspath ) . DIRECTORY_SEPARATOR . 'wp-config.php' ) ) {
|
5147 |
+
|
5148 |
+
return new WP_Error( 'cerber_file_not_allowed', 'This file is not allowed to be deleted: ' . $file_name );
|
5149 |
+
//return false;
|
5150 |
}
|
5151 |
+
/*if ( ! file_exists( $abspath . 'wp-config.php' ) && $file_name == dirname( $abspath ) . DIRECTORY_SEPARATOR . 'wp-config.php' ) {
|
5152 |
return false;
|
5153 |
+
}*/
|
5154 |
}
|
5155 |
|
5156 |
return true;
|
5228 |
return $ret;
|
5229 |
}
|
5230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5231 |
/**
|
5232 |
* Creates a user report
|
5233 |
*
|
cerber-tools.php
CHANGED
@@ -30,53 +30,63 @@
|
|
30 |
|
31 |
*/
|
32 |
|
33 |
-
function cerber_show_imex(){
|
34 |
-
$form = '<h3>'.__('Export settings to the file','wp-cerber').'</h3>';
|
35 |
-
$form .= '<p>'.__('When you click the button below you will get a configuration file, which you can upload on another site.','wp-cerber').'</p>';
|
36 |
-
$form .= '<p>'.__('What do you want to export?','wp-cerber').'</p><form action="" method="get">';
|
37 |
-
$form .= '<input id="exportset" name="exportset" value="1" type="checkbox" checked> <label for="exportset">'.__('Settings','wp-cerber').'</label>';
|
38 |
-
$form .= '<p><input id="exportacl" name="exportacl" value="1" type="checkbox" checked> <label for="exportacl">'.__('Access Lists','wp-cerber').'</label>';
|
39 |
-
$form .= '<p><input type="submit" name="cerber_export" id="submit" class="button button-primary" value="'.__('Download file','wp-cerber').'"></form>';
|
40 |
-
|
41 |
-
$
|
42 |
-
|
43 |
-
$form .= '<
|
44 |
-
$form .= '<
|
|
|
|
|
45 |
$form .= '<p><input type="file" name="ifile" id="ifile" required="required">';
|
46 |
-
$form .= '<p>'.__('What do you want to import?','wp-cerber').'</p><p><input id="importset" name="importset" value="1" type="checkbox" checked> <label for="importset">'.__('Settings','wp-cerber').'</label>';
|
47 |
-
$form .= '<p><input id="importacl" name="importacl" value="1" type="checkbox" checked> <label for="importacl">'.__('Access Lists','wp-cerber').'</label>';
|
48 |
-
$form .= '<p><input type="submit" name="cerber_import" id="submit" class="button button-primary" value="'.__('Upload file','wp-cerber').'"></p></form>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
echo $form;
|
50 |
}
|
51 |
/*
|
52 |
Create export file
|
53 |
*/
|
54 |
-
add_action('admin_init','cerber_export');
|
55 |
-
function cerber_export(){
|
56 |
-
|
57 |
|
58 |
-
if ( !cerber_is_http_get() || ! isset( $_GET['cerber_export'] ) ) {
|
59 |
return;
|
60 |
}
|
61 |
if ( ! current_user_can( 'manage_options' ) ) {
|
62 |
wp_die( 'Error!' );
|
63 |
}
|
64 |
-
$p
|
65 |
-
$data = array('cerber_version' => $p['Version'],'home'=> cerber_get_home_url(),'date'=>date('d M Y H:i:s'));
|
66 |
-
if (!empty($_GET['exportset'])) {
|
67 |
-
|
68 |
$data ['geo-rules'] = cerber_get_geo_rules();
|
69 |
}
|
70 |
if ( ! empty( $_GET['exportacl'] ) ) {
|
71 |
//$data ['acl'] = cerber_acl_all( 'ip, tag, comments, acl_slice' );
|
72 |
$data ['acl'] = $wpdb->get_results( 'SELECT ip, tag, comments, acl_slice FROM ' . CERBER_ACL_TABLE, ARRAY_N );
|
73 |
}
|
74 |
-
$file = json_encode($data);
|
75 |
-
$file .= '==/'.strlen($file).'/'.crc32($file).'/EOF';
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
header("Content-Disposition: attachment; filename=wpcerber.config");
|
80 |
echo $file;
|
81 |
exit;
|
82 |
}
|
@@ -88,13 +98,80 @@ function cerber_export(){
|
|
88 |
add_action( 'admin_init', 'cerber_import' );
|
89 |
function cerber_import() {
|
90 |
global $wpdb, $wp_cerber;
|
|
|
91 |
if ( ! isset( $_POST['cerber_import'] ) || ! cerber_is_http_post() ) {
|
92 |
return;
|
93 |
}
|
|
|
94 |
check_admin_referer( 'crb_import', 'crb_field' );
|
|
|
95 |
if ( ! current_user_can( 'manage_options' ) ) {
|
96 |
-
wp_die( '
|
97 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
$ok = true;
|
99 |
if ( ! is_uploaded_file( $_FILES['ifile']['tmp_name'] ) ) {
|
100 |
cerber_admin_notice( __( 'No file was uploaded or file is corrupted', 'wp-cerber' ) );
|
@@ -757,10 +834,7 @@ function cerber_manage_diag_log( $v ) {
|
|
757 |
cerber_truncate_log( 0 );
|
758 |
}
|
759 |
elseif ( $v == 'download' ) {
|
760 |
-
|
761 |
-
header( "Content-type: application/force-download" );
|
762 |
-
header( "Content-Type: application/octet-stream" );
|
763 |
-
header( "Content-Disposition: attachment; filename=wpcerber.log" );
|
764 |
readfile( cerber_get_diag_log() );
|
765 |
exit;
|
766 |
}
|
30 |
|
31 |
*/
|
32 |
|
33 |
+
function cerber_show_imex() {
|
34 |
+
$form = '<h3>' . __( 'Export settings to the file', 'wp-cerber' ) . '</h3>';
|
35 |
+
$form .= '<p>' . __( 'When you click the button below you will get a configuration file, which you can upload on another site.', 'wp-cerber' ) . '</p>';
|
36 |
+
$form .= '<p>' . __( 'What do you want to export?', 'wp-cerber' ) . '</p><form action="" method="get">';
|
37 |
+
$form .= '<input id="exportset" name="exportset" value="1" type="checkbox" checked> <label for="exportset">' . __( 'Settings', 'wp-cerber' ) . '</label>';
|
38 |
+
$form .= '<p><input id="exportacl" name="exportacl" value="1" type="checkbox" checked> <label for="exportacl">' . __( 'Access Lists', 'wp-cerber' ) . '</label>';
|
39 |
+
$form .= '<p><input type="submit" name="cerber_export" id="submit" class="button button-primary" value="' . __( 'Download file', 'wp-cerber' ) . '"></form>';
|
40 |
+
|
41 |
+
$nf = wp_nonce_field( 'crb_import', 'crb_field' );
|
42 |
+
|
43 |
+
$form .= '<h3 style="margin-top:2em;">' . __( 'Import settings from the file', 'wp-cerber' ) . '</h3>';
|
44 |
+
$form .= '<p>' . __( 'When you click the button below, file will be uploaded and all existing settings will be overridden.', 'wp-cerber' ) . '</p>';
|
45 |
+
$form .= '<p>' . __( 'Select file to import.', 'wp-cerber' ) . ' ' . sprintf( __( 'Maximum upload file size: %s.' ), esc_html( size_format( wp_max_upload_size() ) ) );
|
46 |
+
$form .= '<form action="" method="post" enctype="multipart/form-data">' . $nf;
|
47 |
$form .= '<p><input type="file" name="ifile" id="ifile" required="required">';
|
48 |
+
$form .= '<p>' . __( 'What do you want to import?', 'wp-cerber' ) . '</p><p><input id="importset" name="importset" value="1" type="checkbox" checked> <label for="importset">' . __( 'Settings', 'wp-cerber' ) . '</label>';
|
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;
|
61 |
}
|
62 |
/*
|
63 |
Create export file
|
64 |
*/
|
65 |
+
add_action( 'admin_init', 'cerber_export' );
|
66 |
+
function cerber_export() {
|
67 |
+
global $wpdb;
|
68 |
|
69 |
+
if ( ! cerber_is_http_get() || ! isset( $_GET['cerber_export'] ) ) {
|
70 |
return;
|
71 |
}
|
72 |
if ( ! current_user_can( 'manage_options' ) ) {
|
73 |
wp_die( 'Error!' );
|
74 |
}
|
75 |
+
$p = cerber_plugin_data();
|
76 |
+
$data = array( 'cerber_version' => $p['Version'], 'home' => cerber_get_home_url(), 'date' => date( 'd M Y H:i:s' ) );
|
77 |
+
if ( ! empty( $_GET['exportset'] ) ) {
|
78 |
+
$data ['options'] = crb_get_settings();
|
79 |
$data ['geo-rules'] = cerber_get_geo_rules();
|
80 |
}
|
81 |
if ( ! empty( $_GET['exportacl'] ) ) {
|
82 |
//$data ['acl'] = cerber_acl_all( 'ip, tag, comments, acl_slice' );
|
83 |
$data ['acl'] = $wpdb->get_results( 'SELECT ip, tag, comments, acl_slice FROM ' . CERBER_ACL_TABLE, ARRAY_N );
|
84 |
}
|
85 |
+
$file = json_encode( $data );
|
86 |
+
$file .= '==/' . strlen( $file ) . '/' . crc32( $file ) . '/EOF';
|
87 |
+
|
88 |
+
crb_file_headers( 'wpcerber.config' );
|
89 |
+
|
|
|
90 |
echo $file;
|
91 |
exit;
|
92 |
}
|
98 |
add_action( 'admin_init', 'cerber_import' );
|
99 |
function cerber_import() {
|
100 |
global $wpdb, $wp_cerber;
|
101 |
+
|
102 |
if ( ! isset( $_POST['cerber_import'] ) || ! cerber_is_http_post() ) {
|
103 |
return;
|
104 |
}
|
105 |
+
|
106 |
check_admin_referer( 'crb_import', 'crb_field' );
|
107 |
+
|
108 |
if ( ! current_user_can( 'manage_options' ) ) {
|
109 |
+
wp_die( 'Import failed.' );
|
110 |
}
|
111 |
+
|
112 |
+
// Bulk load ACL
|
113 |
+
if ( isset( $_POST['acl_text'] ) ) {
|
114 |
+
if ( ! ( $text = crb_get_post_fields( 'import_acl_entries' ) )
|
115 |
+
|| ! ( $tag = crb_get_post_fields( 'target_acl', false, 'W|B' ) ) ) {
|
116 |
+
cerber_admin_notice( 'No data provided' );
|
117 |
+
|
118 |
+
return;
|
119 |
+
}
|
120 |
+
|
121 |
+
$text = sanitize_textarea_field( $text );
|
122 |
+
$list = explode( PHP_EOL, $text );
|
123 |
+
$count = 0;
|
124 |
+
|
125 |
+
foreach ( $list as $line ) {
|
126 |
+
if ( ! $line ) {
|
127 |
+
continue;
|
128 |
+
}
|
129 |
+
|
130 |
+
list( $ip, $comment ) = explode( ',', $line . ',', 3 );
|
131 |
+
$ip = preg_replace( CRB_IP_NET_RANGE, ' ', $ip );
|
132 |
+
$ip = preg_replace( '/\s+/', ' ', $ip );
|
133 |
+
|
134 |
+
if ( ! $ip ) {
|
135 |
+
continue;
|
136 |
+
}
|
137 |
+
|
138 |
+
if ( $tag == 'B' ) {
|
139 |
+
if ( ! cerber_can_be_listed( $ip ) ) {
|
140 |
+
cerber_admin_notice( 'Cannot be blacklisted: ' . $ip );
|
141 |
+
|
142 |
+
continue;
|
143 |
+
}
|
144 |
+
}
|
145 |
+
|
146 |
+
$comment = trim( strip_tags( stripslashes( $comment ) ) );
|
147 |
+
$result = cerber_acl_add( $ip, $tag, $comment );
|
148 |
+
|
149 |
+
if ( $result !== true ) {
|
150 |
+
$msg = 'SKIPPED: ' . $ip . ' ' . $comment;
|
151 |
+
if ( is_wp_error( $result ) ) {
|
152 |
+
$msg .= ' - ' . $result->get_error_message();
|
153 |
+
}
|
154 |
+
|
155 |
+
cerber_admin_notice( $msg );
|
156 |
+
}
|
157 |
+
else {
|
158 |
+
$count ++;
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
if ( $count ) {
|
163 |
+
$msg = $count . ' access list entries were loaded. <a href="' . cerber_admin_link( 'acl' ) . '">Manage access lists</a>.';
|
164 |
+
}
|
165 |
+
else {
|
166 |
+
$msg = 'No entries were loaded';
|
167 |
+
}
|
168 |
+
|
169 |
+
cerber_admin_message( $msg );
|
170 |
+
|
171 |
+
return;
|
172 |
+
}
|
173 |
+
|
174 |
+
// Import from a file
|
175 |
$ok = true;
|
176 |
if ( ! is_uploaded_file( $_FILES['ifile']['tmp_name'] ) ) {
|
177 |
cerber_admin_notice( __( 'No file was uploaded or file is corrupted', 'wp-cerber' ) );
|
834 |
cerber_truncate_log( 0 );
|
835 |
}
|
836 |
elseif ( $v == 'download' ) {
|
837 |
+
crb_file_headers( 'wpcerber.log' );
|
|
|
|
|
|
|
838 |
readfile( cerber_get_diag_log() );
|
839 |
exit;
|
840 |
}
|
cerber-users.php
CHANGED
@@ -354,6 +354,7 @@ function crb_admin_role_form( $role_id, $values ) {
|
|
354 |
}
|
355 |
|
356 |
function crb_admin_form_field( $field, $name, $value, $id = '' ) {
|
|
|
357 |
$label = crb_array_get( $field, 'label' );
|
358 |
if ( ! $id ) {
|
359 |
$id = 'crb-input-' . $name;
|
@@ -385,7 +386,7 @@ function crb_admin_form_field( $field, $name, $value, $id = '' ) {
|
|
385 |
$type = crb_array_get( $field, 'type', 'text' );
|
386 |
|
387 |
//return $pre . '<input type="' . $type . '" id="' . $id . '" name="' . $name . '" value="' . $value . '"' . $atts . ' class="' . $class . '" ' . $size . $maxlength . $atts . $data . ' />';
|
388 |
-
return '<input style="'
|
389 |
break;
|
390 |
}
|
391 |
}
|
354 |
}
|
355 |
|
356 |
function crb_admin_form_field( $field, $name, $value, $id = '' ) {
|
357 |
+
$value = crb_attr_escape( $value );
|
358 |
$label = crb_array_get( $field, 'label' );
|
359 |
if ( ! $id ) {
|
360 |
$id = 'crb-input-' . $name;
|
386 |
$type = crb_array_get( $field, 'type', 'text' );
|
387 |
|
388 |
//return $pre . '<input type="' . $type . '" id="' . $id . '" name="' . $name . '" value="' . $value . '"' . $atts . ' class="' . $class . '" ' . $size . $maxlength . $atts . $data . ' />';
|
389 |
+
return '<input style="' . $style . '" type="' . $type . '" id="' . $id . '" name="' . $name . '" value="' . $value . '" ' . $atts . ' />';
|
390 |
break;
|
391 |
}
|
392 |
}
|
changelog.txt
CHANGED
@@ -1,8 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= 8.6 =
|
2 |
* New: [An integration with the Cloudflare cloud-based firewall. It’s implemented as a special WP Cerber add-on.](https://wpcerber.com/cloudflare-add-on-wp-cerber/)
|
3 |
* Update: The malware scanner has got improvements to the monitoring of new and modified files feature.
|
4 |
* 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.
|
5 |
* Update: The minimum supported PHP version is 5.6.
|
|
|
6 |
|
7 |
= 8.5.9 =
|
8 |
* New: On the Live Traffic log, now you can search and filter our requests with software errors if they occurred.
|
@@ -31,14 +40,14 @@
|
|
31 |
* Fixed: PHP Notice: Trying to get property "ID" of non-object in cerber-load.php on line 1131
|
32 |
|
33 |
= 8.5.5 =
|
34 |
-
* IP Access Lists now support IPv6 networks, ranges, and wildcards. Add as many IPv6 entries to the access lists as you need. We've developed an extraordinarily fast ACL engine to process them.
|
35 |
-
* The algorithm of handling consecutive IP address lockouts has been improved: the reason for an existing lockout is updated and its duration is recalculated in real-time now.
|
36 |
-
* Traffic inspection algorithms were optimized to reduce false positives and make algorithms more human-friendly.
|
37 |
-
* Improved compatibility with WooCommerce: the password reset and login forms are not blocked anymore if a user’s IP gets locked out due to using a non-existing username by mistake, using a prohibited username, or if a user has exceeded the number of allowed login attempts.
|
38 |
-
* Improved compatibility with WordPress scheduled cron tasks if a website runs on a server with PHP-FPM (FastCGI Process Manager)
|
39 |
-
* Very long URLs on the Live Traffic page are now displayed in full when you click the "Details" link in a row.
|
40 |
-
* The [Cerber.Hub multi-site manager](https://wpcerber.com/manage-multiple-websites/): the server column on the slave websites list page now contains a link to quickly filter out websites on the same server.
|
41 |
-
* The [Cerber.Hub multi-site manager](https://wpcerber.com/manage-multiple-websites/): now it remembers the filtered list of slave websites while you’re switching between them and the master.
|
42 |
* Fixed: If the Custom login URL is enabled on a subfolder WordPress installation, the user redirection after logout generates the HTTP 404 error page.
|
43 |
* Fixed: Very long HTTP referrers and request URLs are displayed in a truncated form on the Live Traffic page due to CSS bug.
|
44 |
* Fixed: If the Data Shield security feature is active, the password reset page on WordPress 5.3 doesn’t work properly showing "Your password reset link appears to be invalid. Please request a new link below."
|
@@ -48,7 +57,7 @@
|
|
48 |
* New: The malware scanner and integrity checker window has got a new filter that enables you to filter out and navigate to specific issues quickly.
|
49 |
* New in Cerber.Hub: new columns and filters have been added to the list of slave websites. The new columns display server IP addresses, hostnames, and countries where servers are located.
|
50 |
* Fixed: depending on the number of items in the access lists, the IP address 0.0.0.0 can be erroneously marked as whitelisted or blacklisted.
|
51 |
-
* Fixed in Cerber.Hub: if a WordPress plugin is installed on several slave websites and the plugin needs to be updated on some of the slave websites, the plugin is shown as needs to be updated on all
|
52 |
* [Read more](https://wpcerber.com/wp-cerber-security-8-5-3/)
|
53 |
|
54 |
= 8.5 =
|
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.
|
4 |
+
* Fixed: The access list IPv4 wildcard *.*.*.* doesn't work (has no effect).
|
5 |
+
* Fixed: If the anti-spam query whitelist contains more than one entry, they do not work as expected.
|
6 |
+
* Fixed: Several settings fields are not properly escaped.
|
7 |
+
* [Read more](https://wpcerber.com/wp-cerber-security-8-6-3/)
|
8 |
+
|
9 |
= 8.6 =
|
10 |
* New: [An integration with the Cloudflare cloud-based firewall. It’s implemented as a special WP Cerber add-on.](https://wpcerber.com/cloudflare-add-on-wp-cerber/)
|
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.
|
14 |
+
* [Read more](https://wpcerber.com/wp-cerber-security-8-6/)
|
15 |
|
16 |
= 8.5.9 =
|
17 |
* New: On the Live Traffic log, now you can search and filter our requests with software errors if they occurred.
|
40 |
* Fixed: PHP Notice: Trying to get property "ID" of non-object in cerber-load.php on line 1131
|
41 |
|
42 |
= 8.5.5 =
|
43 |
+
* New: IP Access Lists now support IPv6 networks, ranges, and wildcards. Add as many IPv6 entries to the access lists as you need. We've developed an extraordinarily fast ACL engine to process them.
|
44 |
+
* Update: The algorithm of handling consecutive IP address lockouts has been improved: the reason for an existing lockout is updated and its duration is recalculated in real-time now.
|
45 |
+
* Update: Traffic inspection algorithms were optimized to reduce false positives and make algorithms more human-friendly.
|
46 |
+
* Update: Improved compatibility with WooCommerce: the password reset and login forms are not blocked anymore if a user’s IP gets locked out due to using a non-existing username by mistake, using a prohibited username, or if a user has exceeded the number of allowed login attempts.
|
47 |
+
* Update: Improved compatibility with WordPress scheduled cron tasks if a website runs on a server with PHP-FPM (FastCGI Process Manager)
|
48 |
+
* Update: Very long URLs on the Live Traffic page are now displayed in full when you click the "Details" link in a row.
|
49 |
+
* Update: The [Cerber.Hub multi-site manager](https://wpcerber.com/manage-multiple-websites/): the server column on the slave websites list page now contains a link to quickly filter out websites on the same server.
|
50 |
+
* Update: The [Cerber.Hub multi-site manager](https://wpcerber.com/manage-multiple-websites/): now it remembers the filtered list of slave websites while you’re switching between them and the master.
|
51 |
* Fixed: If the Custom login URL is enabled on a subfolder WordPress installation, the user redirection after logout generates the HTTP 404 error page.
|
52 |
* Fixed: Very long HTTP referrers and request URLs are displayed in a truncated form on the Live Traffic page due to CSS bug.
|
53 |
* Fixed: If the Data Shield security feature is active, the password reset page on WordPress 5.3 doesn’t work properly showing "Your password reset link appears to be invalid. Please request a new link below."
|
57 |
* New: The malware scanner and integrity checker window has got a new filter that enables you to filter out and navigate to specific issues quickly.
|
58 |
* New in Cerber.Hub: new columns and filters have been added to the list of slave websites. The new columns display server IP addresses, hostnames, and countries where servers are located.
|
59 |
* Fixed: depending on the number of items in the access lists, the IP address 0.0.0.0 can be erroneously marked as whitelisted or blacklisted.
|
60 |
+
* Fixed in Cerber.Hub: if a WordPress plugin is installed on several slave websites and the plugin needs to be updated on some of the slave websites, the plugin is shown as needs to be updated on all of them.
|
61 |
* [Read more](https://wpcerber.com/wp-cerber-security-8-5-3/)
|
62 |
|
63 |
= 8.5 =
|
common.php
CHANGED
@@ -777,6 +777,38 @@ function crb_array_diff_keys( &$arr1, &$arr2 ) {
|
|
777 |
return false;
|
778 |
}
|
779 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
780 |
/**
|
781 |
* Return true if a REST API URL has been requested
|
782 |
*
|
@@ -1922,8 +1954,12 @@ function cerber_is_crawler( $ua ) {
|
|
1922 |
return 0;
|
1923 |
}
|
1924 |
|
|
|
1925 |
function cerber_db_use_mysqli() {
|
1926 |
static $mysqli;
|
|
|
|
|
|
|
1927 |
if ( $mysqli === null ) {
|
1928 |
$db = cerber_get_db();
|
1929 |
$mysqli = $db->use_mysqli;
|
@@ -2262,14 +2298,8 @@ function cerber_get_set( $key, $id = null, $unserialize = true, $use_cache = nul
|
|
2262 |
$key = preg_replace( CRB_SANITIZE_KEY, '', $key );
|
2263 |
$cache_key = 'crb#' . $key . '#';
|
2264 |
|
2265 |
-
$
|
2266 |
-
|
2267 |
-
$and = ' AND the_id = ' . absint( $id );
|
2268 |
-
$cache_key .= absint( $id );
|
2269 |
-
}
|
2270 |
-
else {
|
2271 |
-
$cache_key .= '0';
|
2272 |
-
}
|
2273 |
|
2274 |
$ret = false;
|
2275 |
|
@@ -2282,7 +2312,7 @@ function cerber_get_set( $key, $id = null, $unserialize = true, $use_cache = nul
|
|
2282 |
}
|
2283 |
}
|
2284 |
|
2285 |
-
if ( $row = cerber_db_get_row( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SETS_TABLE . ' WHERE the_key = "' . $key . '" ' . $
|
2286 |
if ( $row['expires'] > 0 && $row['expires'] < time() ) {
|
2287 |
cerber_delete_set( $key, $id );
|
2288 |
if ( $use_cache ) {
|
@@ -2378,18 +2408,12 @@ function cerber_delete_set( $key, $id = null) {
|
|
2378 |
$key = preg_replace( CRB_SANITIZE_KEY, '', $key );
|
2379 |
$cache_key = 'crb#' . $key . '#';
|
2380 |
|
2381 |
-
$
|
2382 |
-
|
2383 |
-
$and = ' AND the_id = ' . absint( $id );
|
2384 |
-
$cache_key .= absint( $id );
|
2385 |
-
}
|
2386 |
-
else {
|
2387 |
-
$cache_key .= '0';
|
2388 |
-
}
|
2389 |
|
2390 |
cerber_cache_delete( $cache_key );
|
2391 |
|
2392 |
-
if ( cerber_db_query( 'DELETE FROM ' . cerber_get_db_prefix() . CERBER_SETS_TABLE . ' WHERE the_key = "' . $key . '"' . $
|
2393 |
return true;
|
2394 |
}
|
2395 |
|
@@ -2523,6 +2547,9 @@ function cerber_set_cookie( $name, $value, $expire = 0, $path = "", $domain = ""
|
|
2523 |
$path = cerber_get_cookie_path();
|
2524 |
}
|
2525 |
|
|
|
|
|
|
|
2526 |
setcookie( cerber_get_cookie_prefix() . $name, $value, $expire, $path, $domain, $secure, $httponly );
|
2527 |
}
|
2528 |
|
@@ -3132,10 +3159,18 @@ function cerber_empty_dir( $dir ) {
|
|
3132 |
* Tries to raise PHP limits
|
3133 |
*
|
3134 |
*/
|
3135 |
-
function crb_raise_limits() {
|
3136 |
-
|
3137 |
@ini_set( 'max_execution_time', 180 );
|
3138 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3139 |
}
|
3140 |
|
3141 |
function cerber_mask_email( $email ) {
|
@@ -3255,6 +3290,13 @@ function crb_insert_with_markers( $filename, $marker, $insertion ) {
|
|
3255 |
return (bool) $bytes;
|
3256 |
}
|
3257 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3258 |
// The key-value cache
|
3259 |
|
3260 |
final class CRB_Cache {
|
777 |
return false;
|
778 |
}
|
779 |
|
780 |
+
|
781 |
+
/**
|
782 |
+
* @param string|array $val
|
783 |
+
*
|
784 |
+
* for objects see map_deep();
|
785 |
+
*/
|
786 |
+
function crb_trim_deep( &$val ) {
|
787 |
+
if ( ! is_array( $val ) ) {
|
788 |
+
$val = trim( $val );
|
789 |
+
}
|
790 |
+
|
791 |
+
array_walk_recursive( $val, function ( &$v ) {
|
792 |
+
$v = trim( $v );
|
793 |
+
} );
|
794 |
+
}
|
795 |
+
|
796 |
+
/**
|
797 |
+
* @param string|array $val
|
798 |
+
*
|
799 |
+
* Note: _sanitize_text_fields removes HTML tags
|
800 |
+
*
|
801 |
+
*/
|
802 |
+
function crb_sanitize_deep( &$val ) {
|
803 |
+
if ( ! is_array( $val ) ) {
|
804 |
+
$val = _sanitize_text_fields( $val, true );
|
805 |
+
}
|
806 |
+
|
807 |
+
array_walk_recursive( $val, function ( &$v ) {
|
808 |
+
$v = _sanitize_text_fields( $v, true );
|
809 |
+
} );
|
810 |
+
}
|
811 |
+
|
812 |
/**
|
813 |
* Return true if a REST API URL has been requested
|
814 |
*
|
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;
|
2298 |
$key = preg_replace( CRB_SANITIZE_KEY, '', $key );
|
2299 |
$cache_key = 'crb#' . $key . '#';
|
2300 |
|
2301 |
+
$id = ( $id !== null ) ? absint( $id ) : 0;
|
2302 |
+
$cache_key .= $id;
|
|
|
|
|
|
|
|
|
|
|
|
|
2303 |
|
2304 |
$ret = false;
|
2305 |
|
2312 |
}
|
2313 |
}
|
2314 |
|
2315 |
+
if ( $row = cerber_db_get_row( 'SELECT * FROM ' . cerber_get_db_prefix() . CERBER_SETS_TABLE . ' WHERE the_key = "' . $key . '" AND the_id = ' . $id ) ) {
|
2316 |
if ( $row['expires'] > 0 && $row['expires'] < time() ) {
|
2317 |
cerber_delete_set( $key, $id );
|
2318 |
if ( $use_cache ) {
|
2408 |
$key = preg_replace( CRB_SANITIZE_KEY, '', $key );
|
2409 |
$cache_key = 'crb#' . $key . '#';
|
2410 |
|
2411 |
+
$id = ( $id !== null ) ? absint( $id ) : 0;
|
2412 |
+
$cache_key .= $id;
|
|
|
|
|
|
|
|
|
|
|
|
|
2413 |
|
2414 |
cerber_cache_delete( $cache_key );
|
2415 |
|
2416 |
+
if ( cerber_db_query( 'DELETE FROM ' . cerber_get_db_prefix() . CERBER_SETS_TABLE . ' WHERE the_key = "' . $key . '" AND the_id = ' . $id ) ) {
|
2417 |
return true;
|
2418 |
}
|
2419 |
|
2547 |
$path = cerber_get_cookie_path();
|
2548 |
}
|
2549 |
|
2550 |
+
$expire = absint( $expire );
|
2551 |
+
$expire = ( $expire > 43009401600 ) ? 43009401600 : $expire;
|
2552 |
+
|
2553 |
setcookie( cerber_get_cookie_prefix() . $name, $value, $expire, $path, $domain, $secure, $httponly );
|
2554 |
}
|
2555 |
|
3159 |
* Tries to raise PHP limits
|
3160 |
*
|
3161 |
*/
|
3162 |
+
function crb_raise_limits( $mem = null ) {
|
3163 |
+
|
3164 |
@ini_set( 'max_execution_time', 180 );
|
3165 |
+
|
3166 |
+
if ( function_exists( 'set_time_limit' )
|
3167 |
+
&& false === strpos( ini_get( 'disable_functions' ), 'set_time_limit' ) ) {
|
3168 |
+
@set_time_limit( 0 );
|
3169 |
+
}
|
3170 |
+
|
3171 |
+
if ( $mem ) {
|
3172 |
+
@ini_set( 'memory_limit', $mem );
|
3173 |
+
}
|
3174 |
}
|
3175 |
|
3176 |
function cerber_mask_email( $email ) {
|
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)
|
3296 |
+
header( "Content-Type: application/octet-stream" );
|
3297 |
+
header( "Content-Disposition: attachment; filename*=UTF-8''{$fname}" );
|
3298 |
+
}
|
3299 |
+
|
3300 |
// The key-value cache
|
3301 |
|
3302 |
final class CRB_Cache {
|
dashboard.php
CHANGED
@@ -126,7 +126,7 @@ function cerber_show_admin_page( $title, $tabs = array(), $active_tab = null, $r
|
|
126 |
|
127 |
cerber_show_tabs( $active_tab, $tabs );
|
128 |
|
129 |
-
|
130 |
|
131 |
echo '<div class="crb-main crb-tab-' . $active_tab . '">';
|
132 |
|
@@ -139,6 +139,10 @@ function cerber_show_admin_page( $title, $tabs = array(), $active_tab = null, $r
|
|
139 |
|
140 |
echo '</div>';
|
141 |
|
|
|
|
|
|
|
|
|
142 |
?>
|
143 |
</div>
|
144 |
<?php
|
@@ -247,7 +251,7 @@ function cerber_block_delete( $ip ) {
|
|
247 |
function cerber_acl_form(){
|
248 |
|
249 |
//echo '<h2>'.__('White IP Access List','wp-cerber').'</h2><p><span style="color:green;" class="dashicons-before dashicons-thumbs-up"></span> '.__('These IPs will never be locked out','wp-cerber').' - <a target="_blank" href="https://wpcerber.com/using-ip-access-lists-to-protect-wordpress/">Know more</a></p>'.
|
250 |
-
echo '<h2>'.__('White IP Access List','wp-cerber').'</h2><p
|
251 |
cerber_acl_get_table('W');
|
252 |
//echo '<h2>'.__('Black IP Access List','wp-cerber').'</h2><p><span style="color:red;" class="dashicons-before dashicons-thumbs-down"></span> '.__('Nobody can log in or register from these IPs','wp-cerber').' - <a target="_blank" href="https://wpcerber.com/using-ip-access-lists-to-protect-wordpress/">Know more</a></p>'.
|
253 |
echo '<h2>'.__('Black IP Access List','wp-cerber').'</h2>'.
|
@@ -265,17 +269,19 @@ function cerber_acl_form(){
|
|
265 |
|
266 |
<table class="crb-acl-hints">
|
267 |
<tr><td colspan="3">Use the following formats to add entries to the access lists</td></tr>
|
268 |
-
<tr><td>IPv4</td><td>Single
|
269 |
<tr><td>IPv4</td><td>Range specified with hyphen (dash)</td><td>192.168.1.45 - 192.168.22.165</td></tr>
|
270 |
-
<tr><td>IPv4</td><td>CIDR</td><td>192.168.128.0/
|
271 |
-
<tr><td>IPv4</td><td>Subnet Class C</td><td>192.168.77
|
272 |
-
<tr><td>IPv4</td><td>
|
273 |
-
<tr><td>IPv4</td><td>Subnet Class
|
274 |
-
<tr><td>IPv4</td><td>
|
275 |
-
<tr><td>
|
|
|
|
|
276 |
<tr><td>IPv6</td><td>Range specified with hyphen (dash)</td><td>2001:db8::ff00:41:0 - 2001:db8::ff00:41:12ff</td></tr>
|
277 |
-
<tr><td>IPv6</td><td>CIDR</td><td>2001:db8::/46</td></tr>
|
278 |
-
<tr><td>IPv6</td><td>
|
279 |
<tr><td>IPv6</td><td>Any IPv6 address</td><td>::/0</td></tr>
|
280 |
</table>
|
281 |
|
@@ -790,7 +796,7 @@ function crb_admin_get_tokenized_link() {
|
|
790 |
|
791 |
function cerber_export_activity( $params = array() ) {
|
792 |
|
793 |
-
crb_raise_limits();
|
794 |
|
795 |
$args = array( 'per_page' => 0 );
|
796 |
|
@@ -895,12 +901,13 @@ function cerber_export_activity( $params = array() ) {
|
|
895 |
|
896 |
function cerber_send_csv_header( $f_name, $total, $heading = array(), $info = array() ) {
|
897 |
|
898 |
-
$fname =
|
899 |
|
900 |
-
|
901 |
-
|
902 |
-
header( "Content-Type: application/octet-stream" );
|
903 |
-
header( "Content-Disposition: attachment; filename*=UTF-8''{$fname}" );
|
|
|
904 |
|
905 |
$info[] = '"Generated by:","WP Cerber Security ' . CERBER_VER . '"';
|
906 |
$info[] = '"Website:","' . get_option( 'blogname' ) . '"';
|
@@ -912,6 +919,7 @@ function cerber_send_csv_header( $f_name, $total, $heading = array(), $info = ar
|
|
912 |
foreach ( $heading as &$item ) {
|
913 |
$item = '"' . str_replace( '"', '""', trim( $item ) ) . '"';
|
914 |
}
|
|
|
915 |
echo implode( ',', $heading ) . "\r\n";
|
916 |
|
917 |
}
|
@@ -1161,7 +1169,7 @@ function cerber_show_activity( $args = array(), $echo = true ) {
|
|
1161 |
</div>
|
1162 |
|
1163 |
<div class="crb-act-controls">
|
1164 |
-
<a href="#" class="crb-opener" data-target="crb-more-activity-fields">More</a>
|
1165 |
</div>
|
1166 |
|
1167 |
</div>
|
@@ -1371,25 +1379,26 @@ function cerber_ip_extra_view( $ip, $context = 'activity' ) {
|
|
1371 |
return '';
|
1372 |
}
|
1373 |
|
1374 |
-
$
|
1375 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1376 |
|
1377 |
if ( $acl == 'W' ) {
|
1378 |
-
$
|
1379 |
}
|
1380 |
elseif ( $acl == 'B' ) {
|
1381 |
-
$
|
1382 |
}
|
1383 |
|
1384 |
if ( cerber_block_check( $ip ) ) {
|
1385 |
-
$
|
1386 |
-
}
|
1387 |
-
|
1388 |
-
if ( $context == 'activity' ) {
|
1389 |
-
$ip_info .= cerber_traffic_link( array( 'filter_ip' => $ip ) );
|
1390 |
-
}
|
1391 |
-
else {
|
1392 |
-
$ip_info .= ' <a class="crb-button-tiny" href="' . cerber_admin_link( 'activity', array( 'filter_ip' => $ip ) ) . '">' . __( 'Check for activities', 'wp-cerber' ) . '</a>';
|
1393 |
}
|
1394 |
|
1395 |
// Filter activity by ...
|
@@ -1406,6 +1415,7 @@ function cerber_ip_extra_view( $ip, $context = 'activity' ) {
|
|
1406 |
$abuse = '';
|
1407 |
$network = '';
|
1408 |
$network_info = '';
|
|
|
1409 |
|
1410 |
if ( crb_get_settings( 'ip_extra' ) ) {
|
1411 |
$ip_data = cerber_ip_whois_info( $ip );
|
@@ -1419,12 +1429,15 @@ function cerber_ip_extra_view( $ip, $context = 'activity' ) {
|
|
1419 |
$country = $ip_data['country'];
|
1420 |
}
|
1421 |
if ( ! empty( $ip_data['data']['abuse-mailbox'] ) ) {
|
1422 |
-
|
|
|
1423 |
}
|
1424 |
if ( ! empty( $ip_data['data']['network'] ) ) {
|
1425 |
-
$network
|
1426 |
-
$range
|
1427 |
-
|
|
|
|
|
1428 |
}
|
1429 |
}
|
1430 |
|
@@ -1450,11 +1463,15 @@ function cerber_ip_extra_view( $ip, $context = 'activity' ) {
|
|
1450 |
'</form>';
|
1451 |
}
|
1452 |
|
|
|
|
|
1453 |
$ret = '<div class="crb-extra-info">
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
|
|
|
|
1458 |
|
1459 |
return $ret . $whois;
|
1460 |
}
|
@@ -1493,7 +1510,10 @@ function cerber_user_extra_view( $user_id, $context = 'activity' ) {
|
|
1493 |
$ret .= '<div>' . $avatar . '</div>';
|
1494 |
}
|
1495 |
|
|
|
|
|
1496 |
// Registered
|
|
|
1497 |
$time = strtotime( cerber_db_get_var( "SELECT user_registered FROM {$wpdb->users} WHERE id = " . $user_id ) );
|
1498 |
if ( $time ) {
|
1499 |
$reg = cerber_auto_date( $time );
|
@@ -1504,21 +1524,23 @@ function cerber_user_extra_view( $user_id, $context = 'activity' ) {
|
|
1504 |
}
|
1505 |
}
|
1506 |
}
|
|
|
|
|
1507 |
}
|
1508 |
|
1509 |
-
|
|
|
1510 |
if ( $log = cerber_get_log( array( 200 ), array( 'id' => $user_id ) ) ) {
|
1511 |
-
$acted
|
1512 |
-
$activated =
|
1513 |
if ( $country = crb_country_html( null, $acted->ip ) ) {
|
1514 |
$activated .= ' ' . $country;
|
1515 |
}
|
1516 |
-
|
1517 |
-
|
1518 |
-
else {
|
1519 |
-
$activated = '';
|
1520 |
}
|
1521 |
|
|
|
1522 |
// Last seen
|
1523 |
$seen = '';
|
1524 |
$s1 = $wpdb->get_row( 'SELECT stamp,ip FROM ' . CERBER_TRAF_TABLE . ' WHERE user_id = ' . $user_id . ' ORDER BY stamp DESC LIMIT 1' );
|
@@ -1531,17 +1553,25 @@ function cerber_user_extra_view( $user_id, $context = 'activity' ) {
|
|
1531 |
|
1532 |
if ( $sn ) {
|
1533 |
$seen = cerber_auto_date( $sn->stamp );
|
1534 |
-
$seen = __( 'Last seen', 'wp-cerber' ) . ': ' . $seen;
|
1535 |
if ( $country = crb_country_html( null, $sn->ip ) ) {
|
1536 |
$seen .= ' ' . $country;
|
1537 |
}
|
1538 |
-
|
|
|
1539 |
}
|
1540 |
|
1541 |
-
$usn
|
1542 |
-
|
|
|
1543 |
|
1544 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1545 |
|
1546 |
if ( $context == 'activity' ) {
|
1547 |
$link = cerber_traffic_link( array( 'filter_user' => $user_id ) );
|
@@ -2410,34 +2440,6 @@ function cerber_show_aside( $page ) {
|
|
2410 |
$aside[] = '<a href="https://wpcerber.com/pro/" target="_blank"><img src="'.$crb_assets_url.'bn3ra.png" width="290" height="478"/></a>';
|
2411 |
|
2412 |
}
|
2413 |
-
/*
|
2414 |
-
if (!lab_lab() && !in_array($page,array('geo'))) {
|
2415 |
-
$aside[] = '<div class="crb-box" id = "crb-donate">
|
2416 |
-
<div class="crb-box-inner">
|
2417 |
-
<h3>' . __( 'Donate', 'wp-cerber' ) . '</h3>
|
2418 |
-
<p>Please consider making a donation to support the continued development and free support of this plugin. Thanks!</p>
|
2419 |
-
|
2420 |
-
<div style="text-align:center;">
|
2421 |
-
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
|
2422 |
-
<input type="hidden" name="cmd" value="_s-xclick">
|
2423 |
-
<input type="hidden" name="hosted_button_id" value="SR8RJXFU35EW8">
|
2424 |
-
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG_global.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
|
2425 |
-
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
|
2426 |
-
</form>
|
2427 |
-
</div>
|
2428 |
-
|
2429 |
-
</div>
|
2430 |
-
</div>';
|
2431 |
-
}
|
2432 |
-
*/
|
2433 |
-
/*$aside[] = '<div class="crb-box" id = "crb-jetflow">
|
2434 |
-
<div class="crb-box-inner">
|
2435 |
-
<h3>Automate WordPress</h3>
|
2436 |
-
<p>Create automation scenarios without coding knowledge with the jetFlow.io plugin. Customize your WordPress in no time. No programming knowledge needed anymore.</p>
|
2437 |
-
<p><span class="dashicons-before dashicons-layout"></span> <a href="http://jetflow.io/" target="_blank">Download the jetFlow.io plugin</a></p>
|
2438 |
-
</div>
|
2439 |
-
</div>
|
2440 |
-
';*/
|
2441 |
|
2442 |
$aside[] = '<div class="crb-box" id = "crb-blog">
|
2443 |
<div class="crb-box-inner">
|
@@ -2783,6 +2785,9 @@ function cerber_admin_head() {
|
|
2783 |
crb_ajax_loader = '<?php echo $crb_ajax_loader; ?>';
|
2784 |
crb_lab_available = <?php echo $crb_lab_available; ?>;
|
2785 |
|
|
|
|
|
|
|
2786 |
crb_scan_msg_steps = <?php echo json_encode( cerber_step_desc() ); ?>;
|
2787 |
crb_scan_msg_issues = <?php echo json_encode( cerber_get_issue_label() ); ?>;
|
2788 |
crb_scan_msg_risks = <?php echo json_encode( cerber_get_risk_label() ); ?>;
|
@@ -3515,7 +3520,7 @@ function crb_country_html($code = null, $ip = null){
|
|
3515 |
|
3516 |
function cerber_export_traffic( $params = array() ) {
|
3517 |
|
3518 |
-
crb_raise_limits();
|
3519 |
|
3520 |
$args = array(
|
3521 |
'per_page' => 0,
|
@@ -4838,16 +4843,18 @@ function cerber_show_tabs( $active, $tabs = array() ) {
|
|
4838 |
// Access Lists (ACL) ---------------------------------------------------------
|
4839 |
|
4840 |
/**
|
4841 |
-
* @param $ip
|
4842 |
-
* @param $tag
|
4843 |
-
* @param $comment
|
4844 |
-
* @param $acl_slice
|
4845 |
*
|
4846 |
* @return bool|WP_Error
|
4847 |
*/
|
4848 |
function cerber_acl_add( $ip, $tag, $comment = '', $acl_slice = 0 ) {
|
4849 |
global $wpdb;
|
4850 |
|
|
|
|
|
4851 |
$acl_slice = absint( $acl_slice );
|
4852 |
$v6range = '';
|
4853 |
$ver6 = 0;
|
@@ -4861,7 +4868,8 @@ function cerber_acl_add( $ip, $tag, $comment = '', $acl_slice = 0 ) {
|
|
4861 |
list( $begin, $end, $v6range ) = crb_ipv6_prepare( $ip, $ip );
|
4862 |
$ver6 = 1;
|
4863 |
}
|
4864 |
-
elseif ( $range = cerber_any2range( $ip ) )
|
|
|
4865 |
$ver6 = $range['IPV6'];
|
4866 |
$begin = $range['begin'];
|
4867 |
$end = $range['end'];
|
@@ -4887,7 +4895,7 @@ function cerber_acl_add( $ip, $tag, $comment = '', $acl_slice = 0 ) {
|
|
4887 |
), array( '%s', '%d', '%d', '%s', '%s', '%d', '%s', '%d' ) );
|
4888 |
|
4889 |
if ( ! $result ) {
|
4890 |
-
return new WP_Error( 'acl_db_error',
|
4891 |
}
|
4892 |
|
4893 |
crb_event_handler( 'ip_event', array(
|
126 |
|
127 |
cerber_show_tabs( $active_tab, $tabs );
|
128 |
|
129 |
+
echo '<div style="display: table; width:100%;">';
|
130 |
|
131 |
echo '<div class="crb-main crb-tab-' . $active_tab . '">';
|
132 |
|
139 |
|
140 |
echo '</div>';
|
141 |
|
142 |
+
cerber_show_aside( $active_tab );
|
143 |
+
|
144 |
+
echo '</div>';
|
145 |
+
|
146 |
?>
|
147 |
</div>
|
148 |
<?php
|
251 |
function cerber_acl_form(){
|
252 |
|
253 |
//echo '<h2>'.__('White IP Access List','wp-cerber').'</h2><p><span style="color:green;" class="dashicons-before dashicons-thumbs-up"></span> '.__('These IPs will never be locked out','wp-cerber').' - <a target="_blank" href="https://wpcerber.com/using-ip-access-lists-to-protect-wordpress/">Know more</a></p>'.
|
254 |
+
echo '<h2>' . __( 'White IP Access List', 'wp-cerber' ) . '</h2><p><a target="_blank" href="https://wpcerber.com/using-ip-access-lists-to-protect-wordpress/">How Access Lists work</a> | <a href="' . cerber_admin_link( 'imex' ) . '">Import entries</a></p>' .
|
255 |
cerber_acl_get_table('W');
|
256 |
//echo '<h2>'.__('Black IP Access List','wp-cerber').'</h2><p><span style="color:red;" class="dashicons-before dashicons-thumbs-down"></span> '.__('Nobody can log in or register from these IPs','wp-cerber').' - <a target="_blank" href="https://wpcerber.com/using-ip-access-lists-to-protect-wordpress/">Know more</a></p>'.
|
257 |
echo '<h2>'.__('Black IP Access List','wp-cerber').'</h2>'.
|
269 |
|
270 |
<table class="crb-acl-hints">
|
271 |
<tr><td colspan="3">Use the following formats to add entries to the access lists</td></tr>
|
272 |
+
<tr><td>IPv4</td><td>Single IPv4 address</td><td>192.168.5.22</td></tr>
|
273 |
<tr><td>IPv4</td><td>Range specified with hyphen (dash)</td><td>192.168.1.45 - 192.168.22.165</td></tr>
|
274 |
+
<tr><td>IPv4</td><td>Range specified with CIDR</td><td>192.168.128.0/20</td></tr>
|
275 |
+
<tr><td>IPv4</td><td>Subnet Class C specified with CIDR</td><td>192.168.77.0/24</td></tr>
|
276 |
+
<tr><td>IPv4</td><td>Any IPv4 address specified with CIDR</td><td>0.0.0.0/0</td></tr>
|
277 |
+
<tr><td>IPv4</td><td>Subnet Class C specified with wildcard</td><td>192.168.77.*</td></tr>
|
278 |
+
<tr><td>IPv4</td><td>Subnet Class B specified with wildcard</td><td>192.168.*.*</td></tr>
|
279 |
+
<tr><td>IPv4</td><td>Subnet Class A specified with wildcard</td><td>192.*.*.*</td></tr>
|
280 |
+
<tr><td>IPv4</td><td>Any IPv4 address specified with wildcard</td><td>*.*.*.*</td></tr>
|
281 |
+
<tr><td>IPv6</td><td>Single IPv6 address</td><td>2001:0db8:85a3:0000:0000:8a2e:0370:7334</td></tr>
|
282 |
<tr><td>IPv6</td><td>Range specified with hyphen (dash)</td><td>2001:db8::ff00:41:0 - 2001:db8::ff00:41:12ff</td></tr>
|
283 |
+
<tr><td>IPv6</td><td>Range specified with CIDR</td><td>2001:db8::/46</td></tr>
|
284 |
+
<tr><td>IPv6</td><td>Range specified with wildcard</td><td>2001:db8::ff00:41:*</td></tr>
|
285 |
<tr><td>IPv6</td><td>Any IPv6 address</td><td>::/0</td></tr>
|
286 |
</table>
|
287 |
|
796 |
|
797 |
function cerber_export_activity( $params = array() ) {
|
798 |
|
799 |
+
crb_raise_limits( 512 );
|
800 |
|
801 |
$args = array( 'per_page' => 0 );
|
802 |
|
901 |
|
902 |
function cerber_send_csv_header( $f_name, $total, $heading = array(), $info = array() ) {
|
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' ) . '"';
|
919 |
foreach ( $heading as &$item ) {
|
920 |
$item = '"' . str_replace( '"', '""', trim( $item ) ) . '"';
|
921 |
}
|
922 |
+
|
923 |
echo implode( ',', $heading ) . "\r\n";
|
924 |
|
925 |
}
|
1169 |
</div>
|
1170 |
|
1171 |
<div class="crb-act-controls">
|
1172 |
+
[ <a href="#" class="crb-opener" data-target="crb-more-activity-fields">More</a> ]
|
1173 |
</div>
|
1174 |
|
1175 |
</div>
|
1379 |
return '';
|
1380 |
}
|
1381 |
|
1382 |
+
$ip_navs = '';
|
1383 |
+
|
1384 |
+
if ( $context == 'activity' ) {
|
1385 |
+
$ip_navs .= cerber_traffic_link( array( 'filter_ip' => $ip ) );
|
1386 |
+
}
|
1387 |
+
else {
|
1388 |
+
$ip_navs .= ' <a class="crb-button-tiny" href="' . cerber_admin_link( 'activity', array( 'filter_ip' => $ip ) ) . '">' . __( 'Check for activities', 'wp-cerber' ) . '</a>';
|
1389 |
+
}
|
1390 |
+
|
1391 |
+
$acl = cerber_acl_check( $ip );
|
1392 |
|
1393 |
if ( $acl == 'W' ) {
|
1394 |
+
$ip_navs .= ' <span class="crb-color-green ip-info-label">' . __( 'White IP Access List', 'wp-cerber' ) . '</span> ';
|
1395 |
}
|
1396 |
elseif ( $acl == 'B' ) {
|
1397 |
+
$ip_navs .= ' <span class="crb-color-black ip-info-label">' . __( 'Black IP Access List', 'wp-cerber' ) . '</span> ';
|
1398 |
}
|
1399 |
|
1400 |
if ( cerber_block_check( $ip ) ) {
|
1401 |
+
$ip_navs .= ' <span class="color-blocked ip-info-label">' . __( 'Locked out', 'wp-cerber' ) . '</span> ';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1402 |
}
|
1403 |
|
1404 |
// Filter activity by ...
|
1415 |
$abuse = '';
|
1416 |
$network = '';
|
1417 |
$network_info = '';
|
1418 |
+
$network_navs = '';
|
1419 |
|
1420 |
if ( crb_get_settings( 'ip_extra' ) ) {
|
1421 |
$ip_data = cerber_ip_whois_info( $ip );
|
1429 |
$country = $ip_data['country'];
|
1430 |
}
|
1431 |
if ( ! empty( $ip_data['data']['abuse-mailbox'] ) ) {
|
1432 |
+
//$abuse = '<p>' . __( 'Abuse email:', 'wp-cerber' ) . ' <a href="mailto:' . $ip_data['data']['abuse-mailbox'] . '">' . $ip_data['data']['abuse-mailbox'] . '</a></p>';
|
1433 |
+
$abuse = __( 'Abuse email:', 'wp-cerber' ) . ' <a href="mailto:' . $ip_data['data']['abuse-mailbox'] . '">' . $ip_data['data']['abuse-mailbox'] . '</a>';
|
1434 |
}
|
1435 |
if ( ! empty( $ip_data['data']['network'] ) ) {
|
1436 |
+
$network = $ip_data['data']['network'];
|
1437 |
+
$range = cerber_any2range( $network );
|
1438 |
+
//$network_info = '<p>' . __( 'Network:', 'wp-cerber' ) . ' ' . $network . ' <a class="crb-button-tiny" href="' . cerber_admin_link( 'activity', array( 'filter_ip' => $range['range'] ) ) . '">' . __( 'Check for activities', 'wp-cerber' ) . '</a> ' . cerber_traffic_link( array( 'filter_ip' => $range['range'] ) );
|
1439 |
+
$network_info = __( 'Network:', 'wp-cerber' ) . ' ' . $network;
|
1440 |
+
$network_navs = '<a class="crb-button-tiny" href="' . cerber_admin_link( 'activity', array( 'filter_ip' => $range['range'] ) ) . '">' . __( 'Check for activities', 'wp-cerber' ) . '</a> ' . cerber_traffic_link( array( 'filter_ip' => $range['range'] ) );
|
1441 |
}
|
1442 |
}
|
1443 |
|
1463 |
'</form>';
|
1464 |
}
|
1465 |
|
1466 |
+
$ip_info = '<span id = "ip-address">' . $ip . '</span><span id = "ip-country">' . $country . '</span>';
|
1467 |
+
|
1468 |
$ret = '<div class="crb-extra-info">
|
1469 |
+
<table>
|
1470 |
+
<tr><td id="crb_the_summary">
|
1471 |
+
<div><div>' . $ip_info . '</div><div>' . $ip_navs . '</div></div>
|
1472 |
+
<div><div>' . $network_info . '</div><div>' . $network_navs . '</div></div><p>' . $abuse . '</p></td><td>' . $form . '</td></tr>
|
1473 |
+
</table>
|
1474 |
+
</div>';
|
1475 |
|
1476 |
return $ret . $whois;
|
1477 |
}
|
1510 |
$ret .= '<div>' . $avatar . '</div>';
|
1511 |
}
|
1512 |
|
1513 |
+
$user_info = array();
|
1514 |
+
|
1515 |
// Registered
|
1516 |
+
$reg = false;
|
1517 |
$time = strtotime( cerber_db_get_var( "SELECT user_registered FROM {$wpdb->users} WHERE id = " . $user_id ) );
|
1518 |
if ( $time ) {
|
1519 |
$reg = cerber_auto_date( $time );
|
1524 |
}
|
1525 |
}
|
1526 |
}
|
1527 |
+
|
1528 |
+
$user_info[] = array( __( 'Registered', 'wp-cerber' ), $reg );
|
1529 |
}
|
1530 |
|
1531 |
+
|
1532 |
+
// Activated - BuddyPress
|
1533 |
if ( $log = cerber_get_log( array( 200 ), array( 'id' => $user_id ) ) ) {
|
1534 |
+
$acted = $log[0];
|
1535 |
+
$activated = cerber_auto_date( $acted->stamp );
|
1536 |
if ( $country = crb_country_html( null, $acted->ip ) ) {
|
1537 |
$activated .= ' ' . $country;
|
1538 |
}
|
1539 |
+
|
1540 |
+
$user_info[] = array( __( 'Activated', 'wp-cerber' ), $activated );
|
|
|
|
|
1541 |
}
|
1542 |
|
1543 |
+
|
1544 |
// Last seen
|
1545 |
$seen = '';
|
1546 |
$s1 = $wpdb->get_row( 'SELECT stamp,ip FROM ' . CERBER_TRAF_TABLE . ' WHERE user_id = ' . $user_id . ' ORDER BY stamp DESC LIMIT 1' );
|
1553 |
|
1554 |
if ( $sn ) {
|
1555 |
$seen = cerber_auto_date( $sn->stamp );
|
|
|
1556 |
if ( $country = crb_country_html( null, $sn->ip ) ) {
|
1557 |
$seen .= ' ' . $country;
|
1558 |
}
|
1559 |
+
|
1560 |
+
$user_info[] = array( __( 'Last seen', 'wp-cerber' ), $seen );
|
1561 |
}
|
1562 |
|
1563 |
+
if ( $usn = cerber_db_get_var( 'SELECT count(user_id) FROM ' . cerber_get_db_prefix() . CERBER_USS_TABLE . ' WHERE user_id = ' . $user_id ) ) {
|
1564 |
+
$user_info[] = array( __( 'Active sessions', 'wp-cerber' ), '<a href="' . cerber_admin_link( 'sessions', array( 'filter_user' => $user_id ) ) . '">' . $usn . '</a>');
|
1565 |
+
}
|
1566 |
|
1567 |
+
//$ret .= '<div>' . $name . '<p>' . __( 'Registered', 'wp-cerber' ) . ': ' . $reg . '</p>' . $seen . $activated . $sessions . '</div>';
|
1568 |
+
|
1569 |
+
$summary = '';
|
1570 |
+
foreach ( $user_info as $row ) {
|
1571 |
+
$summary .= '<div><div>' . implode( '</div><div>', $row ) . '</div></div>';
|
1572 |
+
}
|
1573 |
+
|
1574 |
+
$ret .= '<div id="crb_the_summary">' . $name . $summary . '</div>';
|
1575 |
|
1576 |
if ( $context == 'activity' ) {
|
1577 |
$link = cerber_traffic_link( array( 'filter_user' => $user_id ) );
|
2440 |
$aside[] = '<a href="https://wpcerber.com/pro/" target="_blank"><img src="'.$crb_assets_url.'bn3ra.png" width="290" height="478"/></a>';
|
2441 |
|
2442 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2443 |
|
2444 |
$aside[] = '<div class="crb-box" id = "crb-blog">
|
2445 |
<div class="crb-box-inner">
|
2785 |
crb_ajax_loader = '<?php echo $crb_ajax_loader; ?>';
|
2786 |
crb_lab_available = <?php echo $crb_lab_available; ?>;
|
2787 |
|
2788 |
+
crb_admin_page = '<?php echo crb_admin_get_page(); ?>';
|
2789 |
+
crb_admin_tab = '<?php echo crb_admin_get_tab(); ?>';
|
2790 |
+
|
2791 |
crb_scan_msg_steps = <?php echo json_encode( cerber_step_desc() ); ?>;
|
2792 |
crb_scan_msg_issues = <?php echo json_encode( cerber_get_issue_label() ); ?>;
|
2793 |
crb_scan_msg_risks = <?php echo json_encode( cerber_get_risk_label() ); ?>;
|
3520 |
|
3521 |
function cerber_export_traffic( $params = array() ) {
|
3522 |
|
3523 |
+
crb_raise_limits( 512 );
|
3524 |
|
3525 |
$args = array(
|
3526 |
'per_page' => 0,
|
4843 |
// Access Lists (ACL) ---------------------------------------------------------
|
4844 |
|
4845 |
/**
|
4846 |
+
* @param string $ip
|
4847 |
+
* @param string $tag
|
4848 |
+
* @param string $comment
|
4849 |
+
* @param int $acl_slice
|
4850 |
*
|
4851 |
* @return bool|WP_Error
|
4852 |
*/
|
4853 |
function cerber_acl_add( $ip, $tag, $comment = '', $acl_slice = 0 ) {
|
4854 |
global $wpdb;
|
4855 |
|
4856 |
+
$ip = trim( $ip );
|
4857 |
+
|
4858 |
$acl_slice = absint( $acl_slice );
|
4859 |
$v6range = '';
|
4860 |
$ver6 = 0;
|
4868 |
list( $begin, $end, $v6range ) = crb_ipv6_prepare( $ip, $ip );
|
4869 |
$ver6 = 1;
|
4870 |
}
|
4871 |
+
elseif ( ( $range = cerber_any2range( $ip ) )
|
4872 |
+
&& is_array( $range ) ) {
|
4873 |
$ver6 = $range['IPV6'];
|
4874 |
$begin = $range['begin'];
|
4875 |
$end = $range['end'];
|
4895 |
), array( '%s', '%d', '%d', '%s', '%s', '%d', '%s', '%d' ) );
|
4896 |
|
4897 |
if ( ! $result ) {
|
4898 |
+
return new WP_Error( 'acl_db_error', $wpdb->last_error );
|
4899 |
}
|
4900 |
|
4901 |
crb_event_handler( 'ip_event', array(
|
languages/wp-cerber-nl_NL.mo
CHANGED
Binary file
|
languages/wp-cerber-nl_NL.po
CHANGED
@@ -3451,145 +3451,146 @@ msgstr "Cookies"
|
|
3451 |
|
3452 |
#: ../dashboard.php:71
|
3453 |
msgid "Cerber anti-spam settings"
|
3454 |
-
msgstr ""
|
3455 |
|
3456 |
#: ../dashboard.php:71 ../settings.php:1106
|
3457 |
msgid "Anti-spam"
|
3458 |
-
msgstr ""
|
3459 |
|
3460 |
#: ../dashboard.php:79 ../dashboard.php:79 ../cerber-addons.php:289
|
3461 |
msgid "Add-ons"
|
3462 |
-
msgstr ""
|
3463 |
|
3464 |
#: ../dashboard.php:4602
|
3465 |
msgid "Anti-spam and bot detection settings"
|
3466 |
-
msgstr ""
|
3467 |
|
3468 |
#: ../dashboard.php:4604
|
3469 |
msgid "Anti-spam engine"
|
3470 |
-
msgstr ""
|
3471 |
|
3472 |
#: ../common.php:1425
|
3473 |
msgid "Multiple erroneous requests"
|
3474 |
-
msgstr ""
|
3475 |
|
3476 |
#: ../admin/cerber-settings.php:347
|
3477 |
msgid "%s retries are allowed within %s minutes"
|
3478 |
-
msgstr ""
|
3479 |
|
3480 |
#: ../admin/cerber-settings.php:353
|
3481 |
msgid "%s registrations are allowed within %s minutes from one IP address"
|
3482 |
-
msgstr ""
|
3483 |
|
3484 |
#: ../admin/cerber-settings.php:376
|
3485 |
msgid "Enable after %s failed login attempts in the last %s minutes"
|
3486 |
-
msgstr ""
|
3487 |
|
3488 |
#: ../settings.php:142
|
3489 |
msgid "Limit"
|
3490 |
-
msgstr ""
|
3491 |
|
3492 |
#: ../settings.php:360
|
3493 |
msgid "Restrict or completely block access to the WordPress REST API according to your needs"
|
3494 |
-
msgstr ""
|
3495 |
|
3496 |
#: ../settings.php:575
|
3497 |
msgid "These features help your organization to be in compliance with personal data protection laws"
|
3498 |
-
msgstr ""
|
3499 |
|
3500 |
#: ../settings.php:633
|
3501 |
msgid "if empty, the website administrator email %s will be used"
|
3502 |
-
msgstr ""
|
3503 |
|
3504 |
#: ../settings.php:637
|
3505 |
msgid "notifications are allowed per hour (0 means unlimited)"
|
3506 |
-
msgstr ""
|
3507 |
|
3508 |
#: ../settings.php:649
|
3509 |
msgid "Get notified instantly with mobile and desktop notifications"
|
3510 |
-
msgstr ""
|
3511 |
|
3512 |
#: ../settings.php:664
|
3513 |
msgid "Weekly report is a summary of all activities and suspicious events occurred during the last seven days"
|
3514 |
-
msgstr ""
|
3515 |
|
3516 |
#: ../settings.php:677 ../settings.php:916
|
3517 |
msgid "if empty, the email addresses from the notification settings will be used"
|
3518 |
-
msgstr ""
|
3519 |
|
3520 |
#: ../settings.php:689
|
3521 |
msgid "Traffic Inspector is a context-aware web application firewall (WAF) that protects your website by recognizing and denying malicious HTTP requests"
|
3522 |
-
msgstr ""
|
|
|
3523 |
|
3524 |
#: ../settings.php:718
|
3525 |
msgid "Block IP addresses that send excessive requests for non-existing pages or scan website for security breaches"
|
3526 |
-
msgstr ""
|
3527 |
|
3528 |
#: ../settings.php:737
|
3529 |
msgid "Traffic Logging"
|
3530 |
-
msgstr ""
|
3531 |
|
3532 |
#: ../settings.php:738
|
3533 |
msgid "Enable optional traffic logging if you need to monitor suspicious and malicious activity or solve security issues"
|
3534 |
-
msgstr ""
|
3535 |
|
3536 |
#: ../settings.php:802
|
3537 |
msgid "The scanner monitors file changes, verifies the integrity of WordPress, plugins, and themes, and detects malware"
|
3538 |
-
msgstr ""
|
3539 |
|
3540 |
#: ../settings.php:824
|
3541 |
msgid "Specify directories to exclude from scanning. One directory per line."
|
3542 |
-
msgstr ""
|
3543 |
|
3544 |
#: ../settings.php:868
|
3545 |
msgid "The scanner automatically scans the website, removes malware and sends email reports with the results of a scan"
|
3546 |
-
msgstr ""
|
3547 |
|
3548 |
#: ../settings.php:885
|
3549 |
msgid "Configure what issues to include in the email report and the condition for sending reports"
|
3550 |
-
msgstr ""
|
3551 |
|
3552 |
#: ../settings.php:927
|
3553 |
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"
|
3554 |
-
msgstr ""
|
3555 |
|
3556 |
#: ../settings.php:993
|
3557 |
msgid "Cerber anti-spam engine"
|
3558 |
-
msgstr ""
|
3559 |
|
3560 |
#: ../settings.php:994
|
3561 |
msgid "Spam protection for comment, registration and contact forms on a website"
|
3562 |
-
msgstr ""
|
3563 |
|
3564 |
#: ../settings.php:1015
|
3565 |
msgid "Adjust anti-spam engine"
|
3566 |
-
msgstr ""
|
3567 |
|
3568 |
#: ../settings.php:1016
|
3569 |
msgid "These settings enable you to fine-tune the behavior of anti-spam algorithms and avoid false positives"
|
3570 |
-
msgstr ""
|
3571 |
|
3572 |
#: ../settings.php:1040
|
3573 |
msgid "How the plugin processes comments submitted through the standard comment form"
|
3574 |
-
msgstr ""
|
3575 |
|
3576 |
#: ../nexus/cerber-nexus-slave.php:451
|
3577 |
msgid "Settings updated"
|
3578 |
-
msgstr ""
|
3579 |
|
3580 |
#: ../dashboard.php:1151
|
3581 |
msgid "Request ID"
|
3582 |
-
msgstr ""
|
3583 |
|
3584 |
#: ../dashboard.php:1152
|
3585 |
msgid "Search in URL"
|
3586 |
-
msgstr ""
|
3587 |
|
3588 |
#: ../settings.php:831 ../settings.php:840
|
3589 |
msgid "Executable files"
|
3590 |
-
msgstr ""
|
3591 |
|
3592 |
#: ../settings.php:832 ../settings.php:841
|
3593 |
msgid "All files"
|
3594 |
-
msgstr ""
|
3595 |
|
3451 |
|
3452 |
#: ../dashboard.php:71
|
3453 |
msgid "Cerber anti-spam settings"
|
3454 |
+
msgstr "Cerber anti-spam-instellingen"
|
3455 |
|
3456 |
#: ../dashboard.php:71 ../settings.php:1106
|
3457 |
msgid "Anti-spam"
|
3458 |
+
msgstr "Anti-spam"
|
3459 |
|
3460 |
#: ../dashboard.php:79 ../dashboard.php:79 ../cerber-addons.php:289
|
3461 |
msgid "Add-ons"
|
3462 |
+
msgstr "Add-ons"
|
3463 |
|
3464 |
#: ../dashboard.php:4602
|
3465 |
msgid "Anti-spam and bot detection settings"
|
3466 |
+
msgstr "Anti-spam- en botdetectie-instellingen"
|
3467 |
|
3468 |
#: ../dashboard.php:4604
|
3469 |
msgid "Anti-spam engine"
|
3470 |
+
msgstr "Anti-spamroutine"
|
3471 |
|
3472 |
#: ../common.php:1425
|
3473 |
msgid "Multiple erroneous requests"
|
3474 |
+
msgstr "Meervoudige foutieve verzoeken"
|
3475 |
|
3476 |
#: ../admin/cerber-settings.php:347
|
3477 |
msgid "%s retries are allowed within %s minutes"
|
3478 |
+
msgstr "%s herkansingen in %s minuten toegestaan"
|
3479 |
|
3480 |
#: ../admin/cerber-settings.php:353
|
3481 |
msgid "%s registrations are allowed within %s minutes from one IP address"
|
3482 |
+
msgstr "%s registraties binnen %s minuten vanaf één IP-adres toegestaan"
|
3483 |
|
3484 |
#: ../admin/cerber-settings.php:376
|
3485 |
msgid "Enable after %s failed login attempts in the last %s minutes"
|
3486 |
+
msgstr "Aanzetten na %s gefaalde inlogpogingen in de afgelopen %s minuten"
|
3487 |
|
3488 |
#: ../settings.php:142
|
3489 |
msgid "Limit"
|
3490 |
+
msgstr "Limiet"
|
3491 |
|
3492 |
#: ../settings.php:360
|
3493 |
msgid "Restrict or completely block access to the WordPress REST API according to your needs"
|
3494 |
+
msgstr "Naar behoefte toegang tot de WordPress REST API beperken of blokkeren"
|
3495 |
|
3496 |
#: ../settings.php:575
|
3497 |
msgid "These features help your organization to be in compliance with personal data protection laws"
|
3498 |
+
msgstr "Deze functies helpen u de privacywetgeving na te leven"
|
3499 |
|
3500 |
#: ../settings.php:633
|
3501 |
msgid "if empty, the website administrator email %s will be used"
|
3502 |
+
msgstr "indien leeg, wordt de email %s van de sitebeheerder gebruikt"
|
3503 |
|
3504 |
#: ../settings.php:637
|
3505 |
msgid "notifications are allowed per hour (0 means unlimited)"
|
3506 |
+
msgstr "meldingen per uur toegestaan (0 = onbeperkt)"
|
3507 |
|
3508 |
#: ../settings.php:649
|
3509 |
msgid "Get notified instantly with mobile and desktop notifications"
|
3510 |
+
msgstr "Meteen op de hoogte met desktop- en mobiele meldingen"
|
3511 |
|
3512 |
#: ../settings.php:664
|
3513 |
msgid "Weekly report is a summary of all activities and suspicious events occurred during the last seven days"
|
3514 |
+
msgstr "Het weekrapport is een overzicht van activiteiten en verdachte gebeurtenissen van de afgelopen zeven dagen"
|
3515 |
|
3516 |
#: ../settings.php:677 ../settings.php:916
|
3517 |
msgid "if empty, the email addresses from the notification settings will be used"
|
3518 |
+
msgstr "indien leeg, worden de mailadressen voor meldingen gebruikt"
|
3519 |
|
3520 |
#: ../settings.php:689
|
3521 |
msgid "Traffic Inspector is a context-aware web application firewall (WAF) that protects your website by recognizing and denying malicious HTTP requests"
|
3522 |
+
msgstr "VerkeerInspectie beschermt als contextuele WebApplicatie Firewall (WAF) de website door kwaadaardige HTTP-verzoeken te herkennen en te weigeren\n"
|
3523 |
+
""
|
3524 |
|
3525 |
#: ../settings.php:718
|
3526 |
msgid "Block IP addresses that send excessive requests for non-existing pages or scan website for security breaches"
|
3527 |
+
msgstr "Blokkeer IP-adressen die extreem veel niet-bestaande pagina's opvragen of die scannen voor beveiligingslekken"
|
3528 |
|
3529 |
#: ../settings.php:737
|
3530 |
msgid "Traffic Logging"
|
3531 |
+
msgstr "Verkeer Loggen"
|
3532 |
|
3533 |
#: ../settings.php:738
|
3534 |
msgid "Enable optional traffic logging if you need to monitor suspicious and malicious activity or solve security issues"
|
3535 |
+
msgstr "Ga het verkeer loggen als je verdachte of kwaadaardige activiteiten wilt volgen, of beveiligingsproblemen wilt oplossen"
|
3536 |
|
3537 |
#: ../settings.php:802
|
3538 |
msgid "The scanner monitors file changes, verifies the integrity of WordPress, plugins, and themes, and detects malware"
|
3539 |
+
msgstr "De scanner ziet bestandswijzigingen, controleert de integriteit van WordPress, plugins en thema's, en detecteert malware"
|
3540 |
|
3541 |
#: ../settings.php:824
|
3542 |
msgid "Specify directories to exclude from scanning. One directory per line."
|
3543 |
+
msgstr "Stel de mappen in die niet gescand worden. Eén map per regel."
|
3544 |
|
3545 |
#: ../settings.php:868
|
3546 |
msgid "The scanner automatically scans the website, removes malware and sends email reports with the results of a scan"
|
3547 |
+
msgstr "De scanner scant de site automatisch, verwijdert malware en mailt de resultaten van de scan"
|
3548 |
|
3549 |
#: ../settings.php:885
|
3550 |
msgid "Configure what issues to include in the email report and the condition for sending reports"
|
3551 |
+
msgstr "Instellen wat deel moet uitmaken van de email-rapportage, en waarom deze verzonden wordt"
|
3552 |
|
3553 |
#: ../settings.php:927
|
3554 |
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"
|
3555 |
+
msgstr "Deze maatregelen worden automatisch toegepast na elke scan, afhankelijk van de scan-resultaten. Getroffen bestanden gaan naar quarantaine"
|
3556 |
|
3557 |
#: ../settings.php:993
|
3558 |
msgid "Cerber anti-spam engine"
|
3559 |
+
msgstr "Cerber anti-spam-routines"
|
3560 |
|
3561 |
#: ../settings.php:994
|
3562 |
msgid "Spam protection for comment, registration and contact forms on a website"
|
3563 |
+
msgstr "Spambescherming voor registratie-, opmerkingen- en contactformulieren op de site"
|
3564 |
|
3565 |
#: ../settings.php:1015
|
3566 |
msgid "Adjust anti-spam engine"
|
3567 |
+
msgstr "Anti-spam-routine instellen"
|
3568 |
|
3569 |
#: ../settings.php:1016
|
3570 |
msgid "These settings enable you to fine-tune the behavior of anti-spam algorithms and avoid false positives"
|
3571 |
+
msgstr "Met deze instellingen stel je de anti-spam algoritmes precies in, en voorkom je valse meldingen"
|
3572 |
|
3573 |
#: ../settings.php:1040
|
3574 |
msgid "How the plugin processes comments submitted through the standard comment form"
|
3575 |
+
msgstr "Hoe de plugin opmerkingen verwerkt die binnenkomen via het opmerkingenformulier"
|
3576 |
|
3577 |
#: ../nexus/cerber-nexus-slave.php:451
|
3578 |
msgid "Settings updated"
|
3579 |
+
msgstr "Instellingen aangepast"
|
3580 |
|
3581 |
#: ../dashboard.php:1151
|
3582 |
msgid "Request ID"
|
3583 |
+
msgstr "ID van verzoek"
|
3584 |
|
3585 |
#: ../dashboard.php:1152
|
3586 |
msgid "Search in URL"
|
3587 |
+
msgstr "Zoek in URL"
|
3588 |
|
3589 |
#: ../settings.php:831 ../settings.php:840
|
3590 |
msgid "Executable files"
|
3591 |
+
msgstr "Uitvoerbare bestanden"
|
3592 |
|
3593 |
#: ../settings.php:832 ../settings.php:841
|
3594 |
msgid "All files"
|
3595 |
+
msgstr "Alle bestanden"
|
3596 |
|
languages/wp-cerber-sv_SE.mo
CHANGED
Binary file
|
languages/wp-cerber-sv_SE.po
CHANGED
@@ -3504,7 +3504,7 @@ msgstr "Bli aviserad omedelbart med aviseringar på mobil och stationär dator"
|
|
3504 |
|
3505 |
#: ../settings.php:664
|
3506 |
msgid "Weekly report is a summary of all activities and suspicious events occurred during the last seven days"
|
3507 |
-
msgstr ""
|
3508 |
|
3509 |
#: ../settings.php:677 ../settings.php:916
|
3510 |
msgid "if empty, the email addresses from the notification settings will be used"
|
@@ -3576,7 +3576,7 @@ msgstr ""
|
|
3576 |
|
3577 |
#: ../dashboard.php:1152
|
3578 |
msgid "Search in URL"
|
3579 |
-
msgstr ""
|
3580 |
|
3581 |
#: ../settings.php:831 ../settings.php:840
|
3582 |
msgid "Executable files"
|
@@ -3584,5 +3584,5 @@ msgstr ""
|
|
3584 |
|
3585 |
#: ../settings.php:832 ../settings.php:841
|
3586 |
msgid "All files"
|
3587 |
-
msgstr ""
|
3588 |
|
3504 |
|
3505 |
#: ../settings.php:664
|
3506 |
msgid "Weekly report is a summary of all activities and suspicious events occurred during the last seven days"
|
3507 |
+
msgstr "Veckorapport är en sammanfattning av alla aktiviteter och misstänkta händelser inträffade under de senaste sju dagarna"
|
3508 |
|
3509 |
#: ../settings.php:677 ../settings.php:916
|
3510 |
msgid "if empty, the email addresses from the notification settings will be used"
|
3576 |
|
3577 |
#: ../dashboard.php:1152
|
3578 |
msgid "Search in URL"
|
3579 |
+
msgstr "Sök i URL"
|
3580 |
|
3581 |
#: ../settings.php:831 ../settings.php:840
|
3582 |
msgid "Executable files"
|
3584 |
|
3585 |
#: ../settings.php:832 ../settings.php:841
|
3586 |
msgid "All files"
|
3587 |
+
msgstr "Alla filer"
|
3588 |
|
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,762 +85,766 @@ msgstr ""
|
|
85 |
msgid "Cerber tools"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: ../dashboard.php:82 ../dashboard.php:
|
89 |
msgid "Tools"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: ../dashboard.php:
|
93 |
msgid "Remove"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: ../dashboard.php:
|
97 |
msgid "IP"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: ../dashboard.php:
|
101 |
msgid "Hostname"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: ../dashboard.php:
|
105 |
msgid "Country"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: ../dashboard.php:
|
109 |
msgid "Expires"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: ../dashboard.php:
|
113 |
msgid "Reason"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: ../dashboard.php:
|
117 |
-
#: /cerber-scanner.php:
|
118 |
msgid "Action"
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: ../dashboard.php:
|
122 |
#, php-format
|
123 |
msgid "Showing last %d records from %d"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: ../dashboard.php:
|
127 |
msgid "Hint"
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: ../dashboard.php:
|
131 |
msgid "To view activity, click on the IP"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: ../dashboard.php:
|
135 |
msgid "No lockouts at the moment. The sky is clear."
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: ../dashboard.php:
|
139 |
-
#: php:
|
140 |
msgid "White IP Access List"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: ../dashboard.php:
|
144 |
-
#: php:
|
145 |
msgid "Black IP Access List"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: ../dashboard.php:
|
149 |
msgid "Your IP"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: ../dashboard.php:
|
153 |
-
#: php:
|
154 |
msgid "Check for activities"
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: ../dashboard.php:
|
158 |
msgid "List is empty"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: ../dashboard.php:
|
162 |
msgid "IP address, range, wildcard, or CIDR"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: ../dashboard.php:
|
166 |
msgid "Add Entry"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: ../dashboard.php:
|
170 |
msgid "Optional comment for this entry"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: ../dashboard.php:
|
174 |
msgid "You cannot add your IP address or network"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: ../dashboard.php:
|
178 |
#, php-format
|
179 |
msgid "IP address %s has been added to Black IP Access List"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: ../dashboard.php:
|
183 |
#, php-format
|
184 |
msgid "IP address %s has been added to White IP Access List"
|
185 |
msgstr ""
|
186 |
|
187 |
-
#: ../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 |
-
#: users.php:
|
216 |
msgid "IP Address"
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: ../dashboard.php:
|
220 |
-
#: php:
|
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:374 ../settings.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 "Activated"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: ../dashboard.php:
|
331 |
msgid "Last seen"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: ../dashboard.php:
|
335 |
-
msgid "
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: ../dashboard.php:
|
339 |
msgid "Comments"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: ../dashboard.php:
|
343 |
msgid "Last login"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: ../dashboard.php:
|
347 |
msgid "Failed login attempts"
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: ../dashboard.php:
|
351 |
-
#: php:
|
352 |
msgid "Never"
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: ../dashboard.php:
|
356 |
msgid "You"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: ../dashboard.php:
|
360 |
msgid "Cerber Quick View"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: ../dashboard.php:
|
364 |
msgid "active"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: ../dashboard.php:
|
368 |
msgid "deactivate"
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: ../dashboard.php:
|
372 |
msgid "not active"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: ../dashboard.php:
|
376 |
msgid "disabled"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: ../dashboard.php:
|
380 |
msgid "failed attempts"
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: ../dashboard.php:
|
384 |
msgid "in 24 hours"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: ../dashboard.php:
|
388 |
msgid "view all"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: ../dashboard.php:
|
392 |
msgid "lockouts"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: ../dashboard.php:
|
396 |
msgid "Lockouts at the moment"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: ../dashboard.php:
|
400 |
msgid "Last lockout"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: ../dashboard.php:
|
404 |
msgid "user"
|
405 |
msgid_plural "users"
|
406 |
msgstr[0] ""
|
407 |
msgstr[1] ""
|
408 |
|
409 |
-
#: ../dashboard.php:
|
410 |
msgid "entry"
|
411 |
msgid_plural "entries"
|
412 |
msgstr[0] ""
|
413 |
msgstr[1] ""
|
414 |
|
415 |
-
#: ../dashboard.php:
|
416 |
msgid "Citadel mode"
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: ../dashboard.php:
|
420 |
msgid "enabled"
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: ../dashboard.php:
|
424 |
msgid "no connection"
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: ../dashboard.php:
|
428 |
msgctxt "Example: Last malware scan: 23 Jan 2018"
|
429 |
msgid "Last malware scan"
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: ../dashboard.php:
|
433 |
-
#: users.php:
|
434 |
-
#: /settings.php:
|
435 |
msgid "Disabled"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: ../dashboard.php:
|
439 |
msgid "Quick Scan"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: ../dashboard.php:
|
443 |
msgid "Full Scan"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: ../dashboard.php:
|
447 |
-
#: load.php:
|
448 |
msgid "Activity"
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: ../dashboard.php:
|
452 |
msgid "Traffic"
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: ../dashboard.php:
|
456 |
msgid "Integrity"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: ../dashboard.php:
|
460 |
msgid "A new version is available"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: ../dashboard.php:
|
464 |
msgid "My site is behind a reverse proxy"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: ../dashboard.php:
|
468 |
msgid "in the last 24 hours"
|
469 |
msgstr ""
|
470 |
|
471 |
-
#: ../dashboard.php:
|
472 |
msgid "Recently locked out IP addresses"
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: ../dashboard.php:
|
476 |
msgid "Confused about some settings?"
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: ../dashboard.php:
|
480 |
msgid "You can easily load default recommended settings using button below"
|
481 |
msgstr ""
|
482 |
|
483 |
-
#: ../dashboard.php:
|
484 |
msgid "Load default settings"
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: ../dashboard.php:
|
488 |
-
#: /cerber-scanner.php:
|
489 |
msgid "Are you sure?"
|
490 |
msgstr ""
|
491 |
|
492 |
-
#: ../dashboard.php:
|
493 |
msgid "doesn't affect Custom login URL and Access Lists"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: ../dashboard.php:
|
497 |
msgid "Getting Started Guide"
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: ../dashboard.php:
|
501 |
msgid "Attention! Citadel mode is now active. Nobody is able to log in."
|
502 |
msgstr ""
|
503 |
|
504 |
-
#: ../dashboard.php:
|
505 |
msgid "Deactivate"
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: ../dashboard.php:
|
509 |
msgid "View Activity"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: ../dashboard.php:
|
513 |
msgid "Settings saved"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: ../dashboard.php:
|
517 |
msgid "Create Alert"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: ../dashboard.php:
|
521 |
msgid "Delete Alert"
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: ../dashboard.php:
|
525 |
msgid "The alert has been created"
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: ../dashboard.php:
|
529 |
msgid "The alert has been deleted"
|
530 |
msgstr ""
|
531 |
|
532 |
-
#: ../dashboard.php:
|
533 |
msgid "Main settings"
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: ../dashboard.php:
|
537 |
msgid "Are you sure you want to delete selected files?"
|
538 |
msgstr ""
|
539 |
|
540 |
-
#: ../dashboard.php:
|
541 |
msgid "These files have been moved to the quarantine"
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: ../dashboard.php:
|
545 |
msgid "Do you want to add selected files to the ignore list?"
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: ../dashboard.php:
|
549 |
msgid "These files have been added to the ignore list"
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: ../dashboard.php:
|
553 |
msgid "Some errors occurred"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: ../dashboard.php:
|
557 |
msgid "All files have been processed"
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: ../dashboard.php:
|
561 |
msgid "Save Changes"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: ../dashboard.php:
|
565 |
msgid "Role-based rules are configured"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: ../dashboard.php:
|
569 |
msgid "Start typing here to find a country"
|
570 |
msgstr ""
|
571 |
|
572 |
-
#: ../dashboard.php:
|
573 |
msgid "Save all rules"
|
574 |
msgstr ""
|
575 |
|
576 |
-
#: ../dashboard.php:
|
577 |
#, php-format
|
578 |
msgid "Permitted for one country"
|
579 |
msgid_plural "Permitted for %d countries"
|
580 |
msgstr[0] ""
|
581 |
msgstr[1] ""
|
582 |
|
583 |
-
#: ../dashboard.php:
|
584 |
#, php-format
|
585 |
msgid "Not permitted for one country"
|
586 |
msgid_plural "Not permitted for %d countries"
|
587 |
msgstr[0] ""
|
588 |
msgstr[1] ""
|
589 |
|
590 |
-
#: ../dashboard.php:
|
591 |
msgid "No rule"
|
592 |
msgstr ""
|
593 |
|
594 |
-
#: ../dashboard.php:
|
595 |
msgid "Any country is permitted"
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: ../dashboard.php:
|
599 |
msgid "Click on a country name to add it to the list of selected countries"
|
600 |
msgstr ""
|
601 |
|
602 |
-
#: ../dashboard.php:
|
603 |
#, php-format
|
604 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
605 |
msgid "Selected countries are permitted to %s, other countries are not permitted to"
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: ../dashboard.php:
|
609 |
#, php-format
|
610 |
msgctxt "to is a marker of infinitive, e.g. \"to use it\""
|
611 |
msgid "Selected countries are not permitted to %s, other countries are permitted to"
|
612 |
msgstr ""
|
613 |
|
614 |
-
#: ../dashboard.php:
|
615 |
msgid "Log in to the website"
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: ../dashboard.php:
|
619 |
msgid "All Users"
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: ../dashboard.php:
|
623 |
msgid "Register on the website"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: ../dashboard.php:
|
627 |
msgid "Submit forms"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: ../dashboard.php:
|
631 |
msgid "Post comments"
|
632 |
msgstr ""
|
633 |
|
634 |
-
#: ../dashboard.php:
|
635 |
msgid "Use XML-RPC"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: ../dashboard.php:
|
639 |
msgid "Use REST API"
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: ../dashboard.php:
|
643 |
msgid "Security rules have been updated"
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: ../dashboard.php:
|
647 |
msgid "IP address"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: ../dashboard.php:
|
651 |
msgid "Page generation time"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: ../dashboard.php:
|
655 |
msgid "Request"
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: ../dashboard.php:
|
659 |
msgid "Host Info"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#: ../dashboard.php:
|
663 |
msgid "User Agent"
|
664 |
msgstr ""
|
665 |
|
666 |
-
#: ../dashboard.php:
|
667 |
msgid "No requests have been logged."
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: ../dashboard.php:
|
671 |
msgid "All requests"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: ../dashboard.php:
|
675 |
msgid "Errors"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: ../dashboard.php:
|
679 |
msgid "Form submissions"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: ../dashboard.php:
|
683 |
msgid "Page Not Found"
|
684 |
msgstr ""
|
685 |
|
686 |
-
#: ../dashboard.php:
|
687 |
msgid "Longer than"
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: ../dashboard.php:
|
691 |
msgid "Advanced Search"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: ../dashboard.php:
|
695 |
msgid "Refresh"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#: ../dashboard.php:
|
699 |
msgid "Sessions"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: ../dashboard.php:
|
703 |
msgid "Lockouts"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: ../dashboard.php:
|
707 |
msgid "Main Settings"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: ../dashboard.php:
|
711 |
msgid "Access Lists"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: ../dashboard.php:
|
715 |
msgid "Hardening"
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: ../dashboard.php:
|
719 |
msgid "Notifications"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: ../dashboard.php:
|
723 |
msgid "Anti-spam and bot detection settings"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: ../dashboard.php:
|
727 |
msgid "Anti-spam engine"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: ../dashboard.php:
|
731 |
msgid "Live Traffic"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: ../dashboard.php:
|
735 |
-
#: tools.php:
|
736 |
msgid "Settings"
|
737 |
msgstr ""
|
738 |
|
739 |
-
#: ../dashboard.php:
|
740 |
msgid "Data Shield Policies"
|
741 |
msgstr ""
|
742 |
|
743 |
-
#: ../dashboard.php:
|
744 |
msgid "Accounts & Roles"
|
745 |
msgstr ""
|
746 |
|
747 |
-
#: ../dashboard.php:
|
748 |
msgid "Site Settings"
|
749 |
msgstr ""
|
750 |
|
751 |
-
#: ../dashboard.php:
|
752 |
msgid "Role-based"
|
753 |
msgstr ""
|
754 |
|
755 |
-
#: ../dashboard.php:
|
756 |
msgid "Global"
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: ../dashboard.php:
|
760 |
msgid "Countries"
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: ../dashboard.php:
|
764 |
msgid "Security Scanner"
|
765 |
msgstr ""
|
766 |
|
767 |
-
#: ../dashboard.php:
|
768 |
msgid "Scheduling"
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: ../dashboard.php:
|
772 |
msgid "Cleaning up"
|
773 |
msgstr ""
|
774 |
|
775 |
-
#: ../dashboard.php:
|
776 |
msgid "Ignore List"
|
777 |
msgstr ""
|
778 |
|
779 |
-
#: ../dashboard.php:
|
780 |
msgid "Quarantine"
|
781 |
msgstr ""
|
782 |
|
783 |
-
#: ../dashboard.php:
|
784 |
msgid "Export & Import"
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: ../dashboard.php:
|
788 |
msgid "Diagnostic"
|
789 |
msgstr ""
|
790 |
|
791 |
-
#: ../dashboard.php:
|
792 |
msgid "Log"
|
793 |
msgstr ""
|
794 |
|
795 |
-
#: ../dashboard.php:
|
796 |
msgid "Changelog"
|
797 |
msgstr ""
|
798 |
|
799 |
-
#: ../dashboard.php:
|
800 |
msgid "License"
|
801 |
msgstr ""
|
802 |
|
803 |
-
#: ../dashboard.php:
|
804 |
msgid "Help"
|
805 |
msgstr ""
|
806 |
|
807 |
-
#: ../dashboard.php:
|
808 |
msgid "Incorrect IP address or IP range"
|
809 |
msgstr ""
|
810 |
|
811 |
-
#: ../dashboard.php:
|
812 |
msgid "The IP address you are trying to add is already in the list"
|
813 |
msgstr ""
|
814 |
|
815 |
-
#: ../dashboard.php:
|
816 |
msgid "These features are available in a professional version of the plugin."
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: ../dashboard.php:
|
820 |
msgid "Know more about all advantages at"
|
821 |
msgstr ""
|
822 |
|
823 |
-
#: ../dashboard.php:
|
824 |
msgid "Log In"
|
825 |
msgstr ""
|
826 |
|
827 |
-
#: ../dashboard.php:
|
828 |
msgid "Log Out"
|
829 |
msgstr ""
|
830 |
|
831 |
-
#: ../dashboard.php:
|
832 |
msgid "Register"
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: ../dashboard.php:
|
836 |
msgid "WooCommerce Log In"
|
837 |
msgstr ""
|
838 |
|
839 |
-
#: ../dashboard.php:
|
840 |
msgid "WooCommerce Log Out"
|
841 |
msgstr ""
|
842 |
|
843 |
-
#: ../dashboard.php:
|
844 |
msgid "Add to menu"
|
845 |
msgstr ""
|
846 |
|
@@ -890,321 +894,321 @@ msgid "Lockouts occurred"
|
|
890 |
msgstr ""
|
891 |
|
892 |
#: ../common.php:343 ../common.php:421 ../common.php:426 ../common.php:432 ..
|
893 |
-
#: /common.php:437 ../admin/cerber-settings.php:
|
894 |
-
#:
|
895 |
-
#: 661 ../cerber-load.php:668 ../cerber-load.php:
|
896 |
-
#: /cerber-load.php:
|
897 |
-
#: /cerber-load.php:
|
898 |
-
#: /cerber-load.php:
|
899 |
-
#:
|
900 |
msgid "ERROR:"
|
901 |
msgstr ""
|
902 |
|
903 |
-
#: ../common.php:
|
904 |
msgid "User created"
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: ../common.php:
|
908 |
msgid "User registered"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: ../common.php:
|
912 |
msgid "Logged in"
|
913 |
msgstr ""
|
914 |
|
915 |
-
#: ../common.php:
|
916 |
msgid "Logged out"
|
917 |
msgstr ""
|
918 |
|
919 |
-
#: ../common.php:
|
920 |
msgid "Login failed"
|
921 |
msgstr ""
|
922 |
|
923 |
-
#: ../common.php:
|
924 |
msgid "IP subnet blocked"
|
925 |
msgstr ""
|
926 |
|
927 |
-
#: ../common.php:
|
928 |
msgid "Citadel activated!"
|
929 |
msgstr ""
|
930 |
|
931 |
-
#: ../common.php:
|
932 |
msgid "Spam comment denied"
|
933 |
msgstr ""
|
934 |
|
935 |
-
#: ../common.php:
|
936 |
msgid "Spam form submission denied"
|
937 |
msgstr ""
|
938 |
|
939 |
-
#: ../common.php:
|
940 |
msgid "Form submission denied"
|
941 |
msgstr ""
|
942 |
|
943 |
-
#: ../common.php:
|
944 |
msgid "Comment denied"
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: ../common.php:
|
948 |
msgid "Password changed"
|
949 |
msgstr ""
|
950 |
|
951 |
-
#: ../common.php:
|
952 |
msgid "Password reset requested"
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: ../common.php:
|
956 |
msgid "reCAPTCHA verification failed"
|
957 |
msgstr ""
|
958 |
|
959 |
-
#: ../common.php:
|
960 |
msgid "reCAPTCHA settings are incorrect"
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: ../common.php:
|
964 |
msgid "Request to the Google reCAPTCHA service failed"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: ../common.php:
|
968 |
msgid "Attempt to access prohibited URL"
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: ../common.php:
|
972 |
msgid "Attempt to log in with non-existing username"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: ../common.php:
|
976 |
msgid "Attempt to log in with prohibited username"
|
977 |
msgstr ""
|
978 |
|
979 |
-
#: ../common.php:
|
980 |
msgid "Attempt to log in denied"
|
981 |
msgstr ""
|
982 |
|
983 |
-
#: ../common.php:
|
984 |
msgid "Attempt to register denied"
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: ../common.php:
|
988 |
msgid "Probing for vulnerable PHP code"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: ../common.php:
|
992 |
msgid "Attempt to upload malicious file denied"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: ../common.php:
|
996 |
msgid "File upload denied"
|
997 |
msgstr ""
|
998 |
|
999 |
-
#: ../common.php:
|
1000 |
msgid "Request to REST API denied"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
-
#: ../common.php:
|
1004 |
msgid "XML-RPC request denied"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: ../common.php:
|
1008 |
msgid "User creation denied"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: ../common.php:
|
1012 |
msgid "User row update denied"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
-
#: ../common.php:
|
1016 |
msgid "Role update denied"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
-
#: ../common.php:
|
1020 |
msgid "Setting update denied"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
-
#: ../common.php:
|
1024 |
msgid "User metadata update denied"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
-
#: ../common.php:
|
1028 |
msgid "Malicious request denied"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
-
#: ../common.php:
|
1032 |
msgid "User activated"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: ../common.php:
|
1036 |
msgid "Invalid master credentials"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
-
#: ../common.php:
|
1040 |
msgid "Bot detected"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: ../common.php:
|
1044 |
msgid "Citadel mode is active"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: ../common.php:
|
1048 |
msgid "IP address is locked out"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: ../common.php:
|
1052 |
msgid "IP blacklisted"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: ../common.php:
|
1056 |
msgid "Malicious activity detected"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: ../common.php:
|
1060 |
msgid "Blocked by country rule"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: ../common.php:
|
1064 |
msgid "Limit reached"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: ../common.php:
|
1068 |
msgid "Multiple suspicious activities"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: ../common.php:
|
1072 |
msgid "Denied"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
-
#: ../common.php:
|
1076 |
msgid "Suspicious number of fields"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: ../common.php:
|
1080 |
msgid "Suspicious number of nested values"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: ../common.php:
|
1084 |
msgid "Malicious code detected"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: ../common.php:
|
1088 |
msgid "Suspicious SQL code detected"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: ../common.php:
|
1092 |
msgid "Suspicious JavaScript code detected"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: ../common.php:
|
1096 |
msgid "Blocked by administrator"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: ../common.php:
|
1100 |
msgid "Site policy enforcement"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: ../common.php:
|
1104 |
msgid "2FA code verified"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: ../common.php:
|
1108 |
msgid "Initiated by the user"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: ../common.php:
|
1112 |
msgid "Email address is not permitted"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: ../common.php:
|
1116 |
msgid "Permission denied"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: ../common.php:
|
1120 |
msgid "Invalid user"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: ../common.php:
|
1124 |
msgid "Incorrect password"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: ../common.php:
|
1128 |
msgid "Limit on login attempts is reached"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: ../common.php:
|
1132 |
msgid "Attempt to access"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: ../common.php:
|
1136 |
msgid "Limit on failed reCAPTCHA verifications is reached"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: ../common.php:
|
1140 |
msgid "Bot activity is detected"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: ../common.php:
|
1144 |
msgid "Multiple suspicious activities were detected"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: ../common.php:
|
1148 |
msgid "Attempt to upload a file with malicious code"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: ../common.php:
|
1152 |
msgid "Multiple erroneous requests"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: ../common.php:
|
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:
|
1161 |
#, php-format
|
1162 |
msgid "%s sec"
|
1163 |
msgid_plural "%s secs"
|
1164 |
msgstr[0] ""
|
1165 |
msgstr[1] ""
|
1166 |
|
1167 |
-
#: ../common.php:
|
1168 |
#, php-format
|
1169 |
msgid "%s ago"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
-
#: ../common.php:
|
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:
|
1179 |
msgid "Bytes"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
-
#: ../common.php:
|
1183 |
#, php-format
|
1184 |
msgid "A new version of %s is available. Please install it."
|
1185 |
msgstr ""
|
1186 |
|
1187 |
-
#: ../common.php:
|
1188 |
msgid "Not specified"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
-
#: ../common.php:
|
1192 |
msgid "Unable to create the directory"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
-
#: ../common.php:
|
1196 |
msgid "Destination folder access denied"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
-
#: ../common.php:
|
1200 |
msgid "File not found"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
-
#: ../common.php:
|
1204 |
msgid "Unable to copy the file"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
-
#: ../common.php:
|
1208 |
msgid "Unable to delete the file"
|
1209 |
msgstr ""
|
1210 |
|
@@ -1219,104 +1223,104 @@ msgstr ""
|
|
1219 |
msgid "Awesome!"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
-
#: ../admin/cerber-settings.php:94 ../admin/cerber-settings.php:
|
1223 |
#: php:828
|
1224 |
msgid "Know more"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: ../admin/cerber-settings.php:
|
1228 |
#, php-format
|
1229 |
msgid "%s retries are allowed within %s minutes"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: ../admin/cerber-settings.php:
|
1233 |
#, php-format
|
1234 |
msgid "%s registrations are allowed within %s minutes from one IP address"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
-
#: ../admin/cerber-settings.php:
|
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:
|
1243 |
msgid "Notify admin if the number of active lockouts above"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
-
#: ../admin/cerber-settings.php:
|
1247 |
msgid "Click to send test"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
-
#: ../admin/cerber-settings.php:
|
1251 |
#, php-format
|
1252 |
msgid "Enable after %s failed login attempts in the last %s minutes"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
-
#: ../admin/cerber-settings.php:
|
1256 |
msgid "Select one or more roles"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
-
#: ../admin/cerber-settings.php:
|
1260 |
msgid "Sunday"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
-
#: ../admin/cerber-settings.php:
|
1264 |
msgid "Monday"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
-
#: ../admin/cerber-settings.php:
|
1268 |
msgid "Tuesday"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
-
#: ../admin/cerber-settings.php:
|
1272 |
msgid "Wednesday"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
-
#: ../admin/cerber-settings.php:
|
1276 |
msgid "Thursday"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
-
#: ../admin/cerber-settings.php:
|
1280 |
msgid "Friday"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
-
#: ../admin/cerber-settings.php:
|
1284 |
msgid "Saturday"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
-
#: ../admin/cerber-settings.php:
|
1288 |
msgctxt "preposition of time like: at 11:00"
|
1289 |
msgid "at"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
-
#: ../admin/cerber-settings.php:
|
1293 |
msgid "Click to send now"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
-
#: ../admin/cerber-settings.php:
|
1297 |
msgid "Plugin initialization mode has not been changed"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#: ../admin/cerber-settings.php:
|
1301 |
msgid "Attention! You have changed the login URL! The new login URL is"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#: ../admin/cerber-settings.php:
|
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:
|
1311 |
-
#: /admin/cerber-settings.php:
|
1312 |
msgid "<strong>ERROR</strong>: please enter a valid email address."
|
1313 |
msgstr ""
|
1314 |
|
1315 |
-
#: ../admin/cerber-settings.php:
|
1316 |
msgid "The schedule has been updated"
|
1317 |
msgstr ""
|
1318 |
|
1319 |
-
#: ../admin/cerber-settings.php:
|
1320 |
msgid "Unable to update the schedule"
|
1321 |
msgstr ""
|
1322 |
|
@@ -1368,224 +1372,224 @@ msgid ""
|
|
1368 |
"block below."
|
1369 |
msgstr ""
|
1370 |
|
1371 |
-
#: ../cerber-load.php:
|
1372 |
msgid ""
|
1373 |
"> > > Translator of WP Cerber? To get the PRO license for free, drop your "
|
1374 |
"contacts here: https://wpcerber.com/contact/"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: ../cerber-load.php:
|
1378 |
#, php-format
|
1379 |
msgid ""
|
1380 |
"<strong>ERROR</strong>: The password you entered for the username %s is "
|
1381 |
"incorrect."
|
1382 |
msgstr ""
|
1383 |
|
1384 |
-
#: ../cerber-load.php:
|
1385 |
-
#: /cerber-load.php:
|
1386 |
msgid "You are not allowed to register."
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: ../cerber-load.php:
|
1390 |
msgid "Username is not allowed. Please choose another one."
|
1391 |
msgstr ""
|
1392 |
|
1393 |
-
#: ../cerber-load.php:
|
1394 |
msgid "Email address is not permitted."
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: ../cerber-load.php:
|
1398 |
msgid "Please choose another one."
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: ../cerber-load.php:
|
1402 |
msgid "Sorry, human verification failed."
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
#: ../cerber-load.php:
|
1406 |
msgid "We're sorry, you are not allowed to proceed"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
-
#: ../cerber-load.php:
|
1410 |
msgid "WP Cerber notify"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
-
#: ../cerber-load.php:
|
1414 |
msgid "Citadel mode is activated"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
-
#: ../cerber-load.php:
|
1418 |
#, php-format
|
1419 |
msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
|
1420 |
msgstr ""
|
1421 |
|
1422 |
-
#: ../cerber-load.php:
|
1423 |
#, php-format
|
1424 |
msgid "Last failed attempt was at %s from IP %s with user login: %s."
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#: ../cerber-load.php:
|
1428 |
msgid "View activity in dashboard"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
-
#: ../cerber-load.php:
|
1432 |
msgid "unspecified"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#: ../cerber-load.php:
|
1436 |
msgid "Number of lockouts is increasing"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#: ../cerber-load.php:
|
1440 |
msgid "Number of active lockouts"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#: ../cerber-load.php:
|
1444 |
#, php-format
|
1445 |
msgid "Last lockout was added: %s for IP %s"
|
1446 |
msgstr ""
|
1447 |
|
1448 |
-
#: ../cerber-load.php:
|
1449 |
msgid "View activity for this IP"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
-
#: ../cerber-load.php:
|
1453 |
msgid "View lockouts in dashboard"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#: ../cerber-load.php:
|
1457 |
msgid "A new version of WP Cerber is available to install"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
-
#: ../cerber-load.php:
|
1461 |
msgid "Hi!"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
-
#: ../cerber-load.php:
|
1465 |
#: 44
|
1466 |
msgid "Website"
|
1467 |
msgstr ""
|
1468 |
|
1469 |
-
#: ../cerber-load.php:
|
1470 |
msgid "The WP Cerber security plugin has been deactivated"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
-
#: ../cerber-load.php:
|
1474 |
msgid "Not logged in"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
-
#: ../cerber-load.php:
|
1478 |
msgid "By user"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
-
#: ../cerber-load.php:
|
1482 |
msgid "From IP address"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: ../cerber-load.php:
|
1486 |
msgid "From country"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: ../cerber-load.php:
|
1490 |
msgid "The WP Cerber security plugin is now active"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: ../cerber-load.php:
|
1494 |
msgid "WP Cerber is now active and has started protecting your site"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
-
#: ../cerber-load.php:
|
1498 |
msgid "New Custom login URL"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: ../cerber-load.php:
|
1502 |
msgid "A new activity has been recorded"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
-
#: ../cerber-load.php:
|
1506 |
msgid "Weekly report"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
-
#: ../cerber-load.php:
|
1510 |
msgid "To change reporting settings visit"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: ../cerber-load.php:
|
1514 |
msgid "Scanner Report"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
-
#: ../cerber-load.php:
|
1518 |
msgid "Your login page:"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
-
#: ../cerber-load.php:
|
1522 |
msgid "Your license is valid until"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
-
#: ../cerber-load.php:
|
1526 |
msgid "This message was sent by"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
-
#: ../cerber-load.php:
|
1530 |
#, php-format
|
1531 |
msgid "Your last sign-in was %s from %s"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: ../cerber-load.php:
|
1535 |
msgid "Weekly Report"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: ../cerber-load.php:
|
1539 |
msgid "Activity details"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: ../cerber-load.php:
|
1543 |
msgid "Attempts to log in with non-existing usernames"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#: ../cerber-load.php:
|
1547 |
msgid "User"
|
1548 |
msgstr ""
|
1549 |
|
1550 |
-
#: ../cerber-load.php:
|
1551 |
msgid "Username used"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#: ../cerber-load.php:
|
1555 |
msgid "Search string"
|
1556 |
msgstr ""
|
1557 |
|
1558 |
-
#: ../cerber-load.php:
|
1559 |
msgid "To delete the alert, click here"
|
1560 |
msgstr ""
|
1561 |
|
1562 |
-
#: ../cerber-load.php:
|
1563 |
#, php-format
|
1564 |
msgid "The WP Cerber requires PHP %s or higher. You are running"
|
1565 |
msgstr ""
|
1566 |
|
1567 |
-
#: ../cerber-load.php:
|
1568 |
#, php-format
|
1569 |
msgid "The WP Cerber requires WordPress %s or higher. You are running"
|
1570 |
msgstr ""
|
1571 |
|
1572 |
-
#: ../cerber-load.php:
|
1573 |
msgid "Can't activate WP Cerber due to a database error."
|
1574 |
msgstr ""
|
1575 |
|
1576 |
-
#: ../cerber-load.php:
|
1577 |
msgid "Your IP address is added to the"
|
1578 |
msgstr ""
|
1579 |
|
1580 |
-
#: ../cerber-load.php:
|
1581 |
msgid "Import settings"
|
1582 |
msgstr ""
|
1583 |
|
1584 |
-
#: ../cerber-load.php:
|
1585 |
msgid "Enable slave mode"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
-
#: ../cerber-users.php:10 ../cerber-users.php:
|
1589 |
msgid "Two-Factor Authentication"
|
1590 |
msgstr ""
|
1591 |
|
@@ -1593,7 +1597,7 @@ msgstr ""
|
|
1593 |
msgid "Determined by user role policies"
|
1594 |
msgstr ""
|
1595 |
|
1596 |
-
#: ../cerber-users.php:19 ../cerber-users.php:
|
1597 |
msgid "Always enabled"
|
1598 |
msgstr ""
|
1599 |
|
@@ -1643,122 +1647,122 @@ msgstr ""
|
|
1643 |
msgid "Save All Changes"
|
1644 |
msgstr ""
|
1645 |
|
1646 |
-
#: ../cerber-users.php:
|
1647 |
msgid "Block access to WordPress Dashboard"
|
1648 |
msgstr ""
|
1649 |
|
1650 |
-
#: ../cerber-users.php:
|
1651 |
msgid "Hide Toolbar when viewing site"
|
1652 |
msgstr ""
|
1653 |
|
1654 |
-
#: ../cerber-users.php:
|
1655 |
msgid "Redirection rules"
|
1656 |
msgstr ""
|
1657 |
|
1658 |
-
#: ../cerber-users.php:
|
1659 |
msgid "Redirect user after login"
|
1660 |
msgstr ""
|
1661 |
|
1662 |
-
#: ../cerber-users.php:
|
1663 |
msgid "Redirect user after logout"
|
1664 |
msgstr ""
|
1665 |
|
1666 |
-
#: ../cerber-users.php:
|
1667 |
msgid "User session expiration time"
|
1668 |
msgstr ""
|
1669 |
|
1670 |
-
#: ../cerber-users.php:
|
1671 |
msgid "Two-factor authentication"
|
1672 |
msgstr ""
|
1673 |
|
1674 |
-
#: ../cerber-users.php:
|
1675 |
msgid "Advanced mode"
|
1676 |
msgstr ""
|
1677 |
|
1678 |
-
#: ../cerber-users.php:
|
1679 |
msgid "Enforce two-factor authentication if any of the following conditions is true"
|
1680 |
msgstr ""
|
1681 |
|
1682 |
-
#: ../cerber-users.php:
|
1683 |
msgid "Login from a different country"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
-
#: ../cerber-users.php:
|
1687 |
msgid "Login from a different network Class C"
|
1688 |
msgstr ""
|
1689 |
|
1690 |
-
#: ../cerber-users.php:
|
1691 |
msgid "Login from a different IP address"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
-
#: ../cerber-users.php:
|
1695 |
msgid "Using a different browser or device"
|
1696 |
msgstr ""
|
1697 |
|
1698 |
-
#: ../cerber-users.php:
|
1699 |
msgid "Enforce two-factor authentication with fixed intervals"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
-
#: ../cerber-users.php:
|
1703 |
msgid "Regular time intervals (days)"
|
1704 |
msgstr ""
|
1705 |
|
1706 |
-
#: ../cerber-users.php:
|
1707 |
msgid "days interval"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
-
#: ../cerber-users.php:
|
1711 |
msgid "Fixed number of logins"
|
1712 |
msgstr ""
|
1713 |
|
1714 |
-
#: ../cerber-users.php:
|
1715 |
msgid "number of logins"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
-
#: ../cerber-users.php:
|
1719 |
msgid "Policies have been updated"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
-
#: ../cerber-users.php:
|
1723 |
#, php-format
|
1724 |
msgid "Session has been terminated"
|
1725 |
msgid_plural "%s sessions have been terminated"
|
1726 |
msgstr[0] ""
|
1727 |
msgstr[1] ""
|
1728 |
|
1729 |
-
#: ../cerber-users.php:
|
1730 |
msgid "WP Cerber Personal Data Eraser"
|
1731 |
msgstr ""
|
1732 |
|
1733 |
-
#: ../cerber-users.php:
|
1734 |
msgid "Created"
|
1735 |
msgstr ""
|
1736 |
|
1737 |
-
#: ../cerber-users.php:
|
1738 |
msgid "Terminate session"
|
1739 |
msgstr ""
|
1740 |
|
1741 |
-
#: ../cerber-users.php:
|
1742 |
msgid "Block user"
|
1743 |
msgstr ""
|
1744 |
|
1745 |
-
#: ../cerber-users.php:
|
1746 |
msgid "Search results for:"
|
1747 |
msgstr ""
|
1748 |
|
1749 |
-
#: ../cerber-users.php:
|
1750 |
msgid "Profile"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
-
#: ../cerber-users.php:
|
1754 |
msgid "All Logins"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
-
#: ../cerber-users.php:
|
1758 |
msgid "User Activity"
|
1759 |
msgstr ""
|
1760 |
|
1761 |
-
#: ../cerber-users.php:
|
1762 |
msgid "Terminate"
|
1763 |
msgstr ""
|
1764 |
|
@@ -1816,11 +1820,11 @@ msgstr ""
|
|
1816 |
msgid "Limit"
|
1817 |
msgstr ""
|
1818 |
|
1819 |
-
#: ../settings.php:
|
1820 |
msgid "Lockout duration"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
-
#: ../settings.php:
|
1824 |
msgid "minutes"
|
1825 |
msgstr ""
|
1826 |
|
@@ -1828,7 +1832,7 @@ msgstr ""
|
|
1828 |
msgid "Aggressive lockout"
|
1829 |
msgstr ""
|
1830 |
|
1831 |
-
#: ../settings.php:155 ../settings.php:501 ../settings.php:
|
1832 |
msgid "Use White IP Access List"
|
1833 |
msgstr ""
|
1834 |
|
@@ -1946,7 +1950,7 @@ msgstr ""
|
|
1946 |
msgid "Threshold"
|
1947 |
msgstr ""
|
1948 |
|
1949 |
-
#: ../settings.php:248 ../cerber-scanner.php:
|
1950 |
msgid "Duration"
|
1951 |
msgstr ""
|
1952 |
|
@@ -1959,11 +1963,11 @@ msgid "Keep log records of not logged in visitors for"
|
|
1959 |
msgstr ""
|
1960 |
|
1961 |
#: ../settings.php:270 ../settings.php:276 ../settings.php:789 ../settings.php:
|
1962 |
-
#:
|
1963 |
msgid "days"
|
1964 |
msgstr ""
|
1965 |
|
1966 |
-
#: ../settings.php:275 ../settings.php:
|
1967 |
msgid "Keep log records of logged in users for"
|
1968 |
msgstr ""
|
1969 |
|
@@ -2170,7 +2174,7 @@ msgstr ""
|
|
2170 |
msgid "Do not apply these policy to the IP addresses in the White IP Access List"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
-
#: ../settings.php:512 ../settings.php:
|
2174 |
msgid "Only registered and logged in users are allowed to view this website"
|
2175 |
msgstr ""
|
2176 |
|
@@ -2220,7 +2224,7 @@ msgid ""
|
|
2220 |
msgstr ""
|
2221 |
|
2222 |
#: ../settings.php:558
|
2223 |
-
msgid "
|
2224 |
msgstr ""
|
2225 |
|
2226 |
#: ../settings.php:564
|
@@ -2285,11 +2289,11 @@ msgstr ""
|
|
2285 |
msgid "Lockout notifications"
|
2286 |
msgstr ""
|
2287 |
|
2288 |
-
#: ../settings.php:628 ../settings.php:
|
2289 |
msgid "Email Address"
|
2290 |
msgstr ""
|
2291 |
|
2292 |
-
#: ../settings.php:629 ../settings.php:
|
2293 |
msgid "Use comma to specify multiple values"
|
2294 |
msgstr ""
|
2295 |
|
@@ -2306,582 +2310,586 @@ msgstr ""
|
|
2306 |
msgid "notifications are allowed per hour (0 means unlimited)"
|
2307 |
msgstr ""
|
2308 |
|
2309 |
-
#: ../settings.php:
|
2310 |
msgid "New version is available"
|
2311 |
msgstr ""
|
2312 |
|
2313 |
-
#: ../settings.php:
|
2314 |
msgid "Push notifications"
|
2315 |
msgstr ""
|
2316 |
|
2317 |
-
#: ../settings.php:
|
2318 |
msgid "Get notified instantly with mobile and desktop notifications"
|
2319 |
msgstr ""
|
2320 |
|
2321 |
-
#: ../settings.php:
|
2322 |
msgid "Pushbullet access token"
|
2323 |
msgstr ""
|
2324 |
|
2325 |
-
#: ../settings.php:
|
2326 |
msgid "Pushbullet device"
|
2327 |
msgstr ""
|
2328 |
|
2329 |
-
#: ../settings.php:
|
2330 |
msgid "Weekly reports"
|
2331 |
msgstr ""
|
2332 |
|
2333 |
-
#: ../settings.php:
|
2334 |
msgid ""
|
2335 |
"Weekly report is a summary of all activities and suspicious events occurred "
|
2336 |
"during the last seven days"
|
2337 |
msgstr ""
|
2338 |
|
2339 |
-
#: ../settings.php:
|
2340 |
msgid "Enable reporting"
|
2341 |
msgstr ""
|
2342 |
|
2343 |
-
#: ../settings.php:
|
2344 |
msgid "Send reports on"
|
2345 |
msgstr ""
|
2346 |
|
2347 |
-
#: ../settings.php:
|
2348 |
msgid "if empty, the email addresses from the notification settings will be used"
|
2349 |
msgstr ""
|
2350 |
|
2351 |
-
#: ../settings.php:
|
2352 |
msgid "Traffic Inspection"
|
2353 |
msgstr ""
|
2354 |
|
2355 |
-
#: ../settings.php:
|
2356 |
msgid ""
|
2357 |
"Traffic Inspector is a context-aware web application firewall (WAF) that "
|
2358 |
"protects your website by recognizing and denying malicious HTTP requests"
|
2359 |
msgstr ""
|
2360 |
|
2361 |
-
#: ../settings.php:
|
2362 |
msgid "Enable traffic inspection"
|
2363 |
msgstr ""
|
2364 |
|
2365 |
-
#: ../settings.php:
|
2366 |
msgid "Maximum compatibility"
|
2367 |
msgstr ""
|
2368 |
|
2369 |
-
#: ../settings.php:
|
2370 |
msgid "Maximum security"
|
2371 |
msgstr ""
|
2372 |
|
2373 |
-
#: ../settings.php:
|
2374 |
msgid "Request whitelist"
|
2375 |
msgstr ""
|
2376 |
|
2377 |
-
#: ../settings.php:
|
2378 |
msgid ""
|
2379 |
"Enter a request URI to exclude the request from inspection. One item per "
|
2380 |
"line."
|
2381 |
msgstr ""
|
2382 |
|
2383 |
-
#: ../settings.php:
|
2384 |
msgid "To specify a REGEX pattern, enclose a whole line in two braces."
|
2385 |
msgstr ""
|
2386 |
|
2387 |
-
#: ../settings.php:
|
2388 |
msgid "Erroneous Request Shielding"
|
2389 |
msgstr ""
|
2390 |
|
2391 |
-
#: ../settings.php:
|
2392 |
msgid ""
|
2393 |
"Block IP addresses that send excessive requests for non-existing pages or "
|
2394 |
"scan website for security breaches"
|
2395 |
msgstr ""
|
2396 |
|
2397 |
-
#: ../settings.php:
|
2398 |
msgid "Enable error shielding"
|
2399 |
msgstr ""
|
2400 |
|
2401 |
-
#: ../settings.php:
|
2402 |
msgid "Ignore logged in users"
|
2403 |
msgstr ""
|
2404 |
|
2405 |
-
#: ../settings.php:
|
2406 |
msgid "Traffic Logging"
|
2407 |
msgstr ""
|
2408 |
|
2409 |
-
#: ../settings.php:
|
2410 |
msgid ""
|
2411 |
"Enable optional traffic logging if you need to monitor suspicious and "
|
2412 |
"malicious activity or solve security issues"
|
2413 |
msgstr ""
|
2414 |
|
2415 |
-
#: ../settings.php:
|
2416 |
msgid "Logging mode"
|
2417 |
msgstr ""
|
2418 |
|
2419 |
-
#: ../settings.php:
|
2420 |
msgid "Logging disabled"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
-
#: ../settings.php:
|
2424 |
msgid "Smart"
|
2425 |
msgstr ""
|
2426 |
|
2427 |
-
#: ../settings.php:
|
2428 |
msgid "All traffic"
|
2429 |
msgstr ""
|
2430 |
|
2431 |
-
#: ../settings.php:
|
2432 |
msgid "Ignore crawlers"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
-
#: ../settings.php:
|
2436 |
msgid "Save request fields"
|
2437 |
msgstr ""
|
2438 |
|
2439 |
-
#: ../settings.php:
|
2440 |
msgid "Mask these form fields"
|
2441 |
msgstr ""
|
2442 |
|
2443 |
-
#: ../settings.php:
|
2444 |
msgid "Save request headers"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
-
#: ../settings.php:
|
2448 |
msgid "Save $_SERVER"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
-
#: ../settings.php:
|
2452 |
msgid "Save request cookies"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
-
#: ../settings.php:
|
2456 |
msgid "Save software errors"
|
2457 |
msgstr ""
|
2458 |
|
2459 |
-
#: ../settings.php:
|
2460 |
msgid "Page generation time threshold"
|
2461 |
msgstr ""
|
2462 |
|
2463 |
-
#: ../settings.php:
|
2464 |
msgid "milliseconds"
|
2465 |
msgstr ""
|
2466 |
|
2467 |
-
#: ../settings.php:
|
2468 |
msgid "Scanner settings"
|
2469 |
msgstr ""
|
2470 |
|
2471 |
-
#: ../settings.php:
|
2472 |
msgid ""
|
2473 |
"The scanner monitors file changes, verifies the integrity of WordPress, "
|
2474 |
"plugins, and themes, and detects malware"
|
2475 |
msgstr ""
|
2476 |
|
2477 |
-
#: ../settings.php:
|
2478 |
msgid "Custom signatures"
|
2479 |
msgstr ""
|
2480 |
|
2481 |
-
#: ../settings.php:
|
2482 |
msgid ""
|
2483 |
"Specify custom PHP code signatures. One item per line. To specify a REGEX "
|
2484 |
"pattern, enclose a whole line in two braces."
|
2485 |
msgstr ""
|
2486 |
|
2487 |
-
#: ../settings.php:
|
2488 |
msgid "Unwanted file extensions"
|
2489 |
msgstr ""
|
2490 |
|
2491 |
-
#: ../settings.php:
|
2492 |
msgid ""
|
2493 |
"Specify file extensions to search for. Full scan only. Use comma to separate "
|
2494 |
"items."
|
2495 |
msgstr ""
|
2496 |
|
2497 |
-
#: ../settings.php:
|
2498 |
msgid "Directories to exclude"
|
2499 |
msgstr ""
|
2500 |
|
2501 |
-
#: ../settings.php:
|
2502 |
msgid "Specify directories to exclude from scanning. One directory per line."
|
2503 |
msgstr ""
|
2504 |
|
2505 |
-
#: ../settings.php:
|
2506 |
msgid "Monitor new files"
|
2507 |
msgstr ""
|
2508 |
|
2509 |
-
#: ../settings.php:
|
2510 |
msgid "Executable files"
|
2511 |
msgstr ""
|
2512 |
|
2513 |
-
#: ../settings.php:
|
2514 |
msgid "All files"
|
2515 |
msgstr ""
|
2516 |
|
2517 |
-
#: ../settings.php:
|
2518 |
msgid "Monitor modified files"
|
2519 |
msgstr ""
|
2520 |
|
2521 |
-
#: ../settings.php:
|
|
|
|
|
|
|
|
|
2522 |
msgid "Scan temporary directory"
|
2523 |
msgstr ""
|
2524 |
|
2525 |
-
#: ../settings.php:
|
2526 |
msgid "Scan session directory"
|
2527 |
msgstr ""
|
2528 |
|
2529 |
-
#: ../settings.php:
|
2530 |
msgid "Enable diagnostic logging"
|
2531 |
msgstr ""
|
2532 |
|
2533 |
-
#: ../settings.php:
|
2534 |
msgid "Delete quarantined files after"
|
2535 |
msgstr ""
|
2536 |
|
2537 |
-
#: ../settings.php:
|
2538 |
msgid "Automated recurring scan schedule"
|
2539 |
msgstr ""
|
2540 |
|
2541 |
-
#: ../settings.php:
|
2542 |
msgid ""
|
2543 |
"The scanner automatically scans the website, removes malware and sends email "
|
2544 |
"reports with the results of a scan"
|
2545 |
msgstr ""
|
2546 |
|
2547 |
-
#: ../settings.php:
|
2548 |
msgid "Launch Quick Scan"
|
2549 |
msgstr ""
|
2550 |
|
2551 |
-
#: ../settings.php:
|
2552 |
msgid "Launch Full Scan"
|
2553 |
msgstr ""
|
2554 |
|
2555 |
-
#: ../settings.php:
|
2556 |
msgid "Scan results reporting"
|
2557 |
msgstr ""
|
2558 |
|
2559 |
-
#: ../settings.php:
|
2560 |
msgid ""
|
2561 |
"Configure what issues to include in the email report and the condition for "
|
2562 |
"sending reports"
|
2563 |
msgstr ""
|
2564 |
|
2565 |
-
#: ../settings.php:
|
2566 |
msgid "Report an issue if any of the following is true"
|
2567 |
msgstr ""
|
2568 |
|
2569 |
-
#: ../settings.php:
|
2570 |
msgid "Low severity"
|
2571 |
msgstr ""
|
2572 |
|
2573 |
-
#: ../settings.php:
|
2574 |
msgid "Medium severity"
|
2575 |
msgstr ""
|
2576 |
|
2577 |
-
#: ../settings.php:
|
2578 |
msgid "High severity"
|
2579 |
msgstr ""
|
2580 |
|
2581 |
-
#: ../settings.php:
|
2582 |
msgid "Send email report"
|
2583 |
msgstr ""
|
2584 |
|
2585 |
-
#: ../settings.php:
|
2586 |
msgid "After every scan"
|
2587 |
msgstr ""
|
2588 |
|
2589 |
-
#: ../settings.php:
|
2590 |
msgid "If any changes in scan results occurred"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
-
#: ../settings.php:
|
2594 |
msgid "If new issues found"
|
2595 |
msgstr ""
|
2596 |
|
2597 |
-
#: ../settings.php:
|
2598 |
msgid "Include file sizes"
|
2599 |
msgstr ""
|
2600 |
|
2601 |
-
#: ../settings.php:
|
2602 |
msgid "Include scan errors"
|
2603 |
msgstr ""
|
2604 |
|
2605 |
-
#: ../settings.php:
|
2606 |
msgid "Automatic cleanup of malware and suspicious files"
|
2607 |
msgstr ""
|
2608 |
|
2609 |
-
#: ../settings.php:
|
2610 |
msgid ""
|
2611 |
"These policies are automatically enforced at the end of every scheduled scan "
|
2612 |
"based on its results. All affected files are moved to the quarantine"
|
2613 |
msgstr ""
|
2614 |
|
2615 |
-
#: ../settings.php:
|
2616 |
msgid "Delete unattended files"
|
2617 |
msgstr ""
|
2618 |
|
2619 |
-
#: ../settings.php:
|
2620 |
msgid "Files in the uploads folder"
|
2621 |
msgstr ""
|
2622 |
|
2623 |
-
#: ../settings.php:
|
2624 |
msgid "Files with unwanted extensions"
|
2625 |
msgstr ""
|
2626 |
|
2627 |
-
#: ../settings.php:
|
2628 |
msgid "Automatic recovery of modified and infected files"
|
2629 |
msgstr ""
|
2630 |
|
2631 |
-
#: ../settings.php:
|
2632 |
msgid "Recover WordPress files"
|
2633 |
msgstr ""
|
2634 |
|
2635 |
-
#: ../settings.php:
|
2636 |
msgid "Recover plugins files"
|
2637 |
msgstr ""
|
2638 |
|
2639 |
-
#: ../settings.php:
|
2640 |
msgid "Exclusions"
|
2641 |
msgstr ""
|
2642 |
|
2643 |
-
#: ../settings.php:
|
2644 |
msgid "These files will never be deleted during automatic cleanup."
|
2645 |
msgstr ""
|
2646 |
|
2647 |
-
#: ../settings.php:
|
2648 |
msgid "Files in the temporary directory"
|
2649 |
msgstr ""
|
2650 |
|
2651 |
-
#: ../settings.php:
|
2652 |
msgid "Files in the sessions directory"
|
2653 |
msgstr ""
|
2654 |
|
2655 |
-
#: ../settings.php:
|
2656 |
msgid "Files in these directories"
|
2657 |
msgstr ""
|
2658 |
|
2659 |
-
#: ../settings.php:
|
2660 |
msgid "Use absolute paths. One item per line."
|
2661 |
msgstr ""
|
2662 |
|
2663 |
-
#: ../settings.php:
|
2664 |
msgid "Files with these extensions"
|
2665 |
msgstr ""
|
2666 |
|
2667 |
-
#: ../settings.php:
|
2668 |
msgid "Use comma to separate items."
|
2669 |
msgstr ""
|
2670 |
|
2671 |
-
#: ../settings.php:
|
2672 |
msgid "Cerber anti-spam engine"
|
2673 |
msgstr ""
|
2674 |
|
2675 |
-
#: ../settings.php:
|
2676 |
msgid "Spam protection for comment, registration and contact forms on a website"
|
2677 |
msgstr ""
|
2678 |
|
2679 |
-
#: ../settings.php:
|
2680 |
msgid "Comment form"
|
2681 |
msgstr ""
|
2682 |
|
2683 |
-
#: ../settings.php:
|
2684 |
msgid "Protect comment form with bot detection engine"
|
2685 |
msgstr ""
|
2686 |
|
2687 |
-
#: ../settings.php:
|
2688 |
msgid "Registration form"
|
2689 |
msgstr ""
|
2690 |
|
2691 |
-
#: ../settings.php:
|
2692 |
msgid "Protect registration form with bot detection engine"
|
2693 |
msgstr ""
|
2694 |
|
2695 |
-
#: ../settings.php:
|
2696 |
msgid "Other forms"
|
2697 |
msgstr ""
|
2698 |
|
2699 |
-
#: ../settings.php:
|
2700 |
msgid "Protect all forms on the website with bot detection engine"
|
2701 |
msgstr ""
|
2702 |
|
2703 |
-
#: ../settings.php:
|
2704 |
msgid "Adjust anti-spam engine"
|
2705 |
msgstr ""
|
2706 |
|
2707 |
-
#: ../settings.php:
|
2708 |
msgid ""
|
2709 |
"These settings enable you to fine-tune the behavior of anti-spam algorithms "
|
2710 |
"and avoid false positives"
|
2711 |
msgstr ""
|
2712 |
|
2713 |
-
#: ../settings.php:
|
2714 |
msgid "Safe mode"
|
2715 |
msgstr ""
|
2716 |
|
2717 |
-
#: ../settings.php:
|
2718 |
msgid "Use less restrictive policies (allow AJAX)"
|
2719 |
msgstr ""
|
2720 |
|
2721 |
-
#: ../settings.php:
|
2722 |
msgid "Disable bot detection engine for logged in users"
|
2723 |
msgstr ""
|
2724 |
|
2725 |
-
#: ../settings.php:
|
2726 |
msgid "Query whitelist"
|
2727 |
msgstr ""
|
2728 |
|
2729 |
-
#: ../settings.php:
|
2730 |
msgid ""
|
2731 |
"Enter a part of query string or query path to exclude a request from "
|
2732 |
"inspection by the engine. One item per line."
|
2733 |
msgstr ""
|
2734 |
|
2735 |
-
#: ../settings.php:
|
2736 |
msgid "Comment processing"
|
2737 |
msgstr ""
|
2738 |
|
2739 |
-
#: ../settings.php:
|
2740 |
msgid "How the plugin processes comments submitted through the standard comment form"
|
2741 |
msgstr ""
|
2742 |
|
2743 |
-
#: ../settings.php:
|
2744 |
msgid "If a spam comment detected"
|
2745 |
msgstr ""
|
2746 |
|
2747 |
-
#: ../settings.php:
|
2748 |
msgid "Deny it completely"
|
2749 |
msgstr ""
|
2750 |
|
2751 |
-
#: ../settings.php:
|
2752 |
msgid "Mark it as spam"
|
2753 |
msgstr ""
|
2754 |
|
2755 |
-
#: ../settings.php:
|
2756 |
msgid "Trash spam comments"
|
2757 |
msgstr ""
|
2758 |
|
2759 |
-
#: ../settings.php:
|
2760 |
msgid "Move spam comments to trash after"
|
2761 |
msgstr ""
|
2762 |
|
2763 |
-
#: ../settings.php:
|
2764 |
msgid "reCAPTCHA settings"
|
2765 |
msgstr ""
|
2766 |
|
2767 |
-
#: ../settings.php:
|
2768 |
msgid ""
|
2769 |
"Before you can start using reCAPTCHA, you have to obtain Site key and Secret "
|
2770 |
"key on the Google website"
|
2771 |
msgstr ""
|
2772 |
|
2773 |
-
#: ../settings.php:
|
2774 |
msgid "Site key"
|
2775 |
msgstr ""
|
2776 |
|
2777 |
-
#: ../settings.php:
|
2778 |
msgid "Secret key"
|
2779 |
msgstr ""
|
2780 |
|
2781 |
-
#: ../settings.php:
|
2782 |
msgid "Invisible reCAPTCHA"
|
2783 |
msgstr ""
|
2784 |
|
2785 |
-
#: ../settings.php:
|
2786 |
msgid "Enable invisible reCAPTCHA"
|
2787 |
msgstr ""
|
2788 |
|
2789 |
-
#: ../settings.php:
|
2790 |
msgid ""
|
2791 |
"(do not enable it unless you get and enter the Site and Secret keys for the "
|
2792 |
"invisible version)"
|
2793 |
msgstr ""
|
2794 |
|
2795 |
-
#: ../settings.php:
|
2796 |
msgid "Enable reCAPTCHA for WordPress registration form"
|
2797 |
msgstr ""
|
2798 |
|
2799 |
-
#: ../settings.php:
|
2800 |
msgid "Enable reCAPTCHA for WooCommerce registration form"
|
2801 |
msgstr ""
|
2802 |
|
2803 |
-
#: ../settings.php:
|
2804 |
msgid "Lost password form"
|
2805 |
msgstr ""
|
2806 |
|
2807 |
-
#: ../settings.php:
|
2808 |
msgid "Enable reCAPTCHA for WordPress lost password form"
|
2809 |
msgstr ""
|
2810 |
|
2811 |
-
#: ../settings.php:
|
2812 |
msgid "Enable reCAPTCHA for WooCommerce lost password form"
|
2813 |
msgstr ""
|
2814 |
|
2815 |
-
#: ../settings.php:
|
2816 |
msgid "Login form"
|
2817 |
msgstr ""
|
2818 |
|
2819 |
-
#: ../settings.php:
|
2820 |
msgid "Enable reCAPTCHA for WordPress login form"
|
2821 |
msgstr ""
|
2822 |
|
2823 |
-
#: ../settings.php:
|
2824 |
msgid "Enable reCAPTCHA for WooCommerce login form"
|
2825 |
msgstr ""
|
2826 |
|
2827 |
-
#: ../settings.php:
|
2828 |
msgid "Enable reCAPTCHA for WordPress comment form"
|
2829 |
msgstr ""
|
2830 |
|
2831 |
-
#: ../settings.php:
|
2832 |
msgid "Disable reCAPTCHA for logged in users"
|
2833 |
msgstr ""
|
2834 |
|
2835 |
-
#: ../settings.php:
|
2836 |
msgid "Limit attempts"
|
2837 |
msgstr ""
|
2838 |
|
2839 |
-
#: ../settings.php:
|
2840 |
#, php-format
|
2841 |
msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
|
2842 |
msgstr ""
|
2843 |
|
2844 |
-
#: ../settings.php:
|
2845 |
msgid "Master settings"
|
2846 |
msgstr ""
|
2847 |
|
2848 |
-
#: ../settings.php:
|
2849 |
msgid "Return to the website list"
|
2850 |
msgstr ""
|
2851 |
|
2852 |
-
#: ../settings.php:
|
2853 |
msgid "Show \"Switched to\" notification"
|
2854 |
msgstr ""
|
2855 |
|
2856 |
-
#: ../settings.php:
|
2857 |
msgid "Add @ site to the page title"
|
2858 |
msgstr ""
|
2859 |
|
2860 |
-
#: ../settings.php:
|
2861 |
msgid "Use master language"
|
2862 |
msgstr ""
|
2863 |
|
2864 |
-
#: ../settings.php:
|
2865 |
msgid "Limit access by IP address"
|
2866 |
msgstr ""
|
2867 |
|
2868 |
-
#: ../settings.php:
|
2869 |
msgid "Access to this website"
|
2870 |
msgstr ""
|
2871 |
|
2872 |
-
#: ../settings.php:
|
2873 |
msgid "Full access mode"
|
2874 |
msgstr ""
|
2875 |
|
2876 |
-
#: ../settings.php:
|
2877 |
msgid "Read-only mode"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
-
#: ../settings.php:
|
2881 |
msgid "The full access mode requires the PRO version of WP Cerber"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
-
#: ../settings.php:
|
2885 |
msgid "Any activity"
|
2886 |
msgstr ""
|
2887 |
|
@@ -2998,50 +3006,54 @@ msgstr ""
|
|
2998 |
msgid "Download file"
|
2999 |
msgstr ""
|
3000 |
|
3001 |
-
#: ../cerber-tools.php:
|
3002 |
msgid "Import settings from the file"
|
3003 |
msgstr ""
|
3004 |
|
3005 |
-
#: ../cerber-tools.php:
|
3006 |
msgid ""
|
3007 |
"When you click the button below, file will be uploaded and all existing "
|
3008 |
"settings will be overridden."
|
3009 |
msgstr ""
|
3010 |
|
3011 |
-
#: ../cerber-tools.php:
|
3012 |
msgid "Select file to import."
|
3013 |
msgstr ""
|
3014 |
|
3015 |
-
#: ../cerber-tools.php:
|
3016 |
#, php-format
|
3017 |
msgid "Maximum upload file size: %s."
|
3018 |
msgstr ""
|
3019 |
|
3020 |
-
#: ../cerber-tools.php:
|
3021 |
msgid "What do you want to import?"
|
3022 |
msgstr ""
|
3023 |
|
3024 |
-
#: ../cerber-tools.php:
|
3025 |
msgid "Upload file"
|
3026 |
msgstr ""
|
3027 |
|
3028 |
-
#: ../cerber-tools.php:
|
|
|
|
|
|
|
|
|
3029 |
msgid "No file was uploaded or file is corrupted"
|
3030 |
msgstr ""
|
3031 |
|
3032 |
-
#: ../cerber-tools.php:
|
3033 |
msgid "A database error occurred while importing access list entries"
|
3034 |
msgstr ""
|
3035 |
|
3036 |
-
#: ../cerber-tools.php:
|
3037 |
msgid "Settings has imported successfully from"
|
3038 |
msgstr ""
|
3039 |
|
3040 |
-
#: ../cerber-tools.php:
|
3041 |
msgid "Error while parsing file"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
-
#: ../cerber-tools.php:
|
3045 |
msgid "Unsubscribe"
|
3046 |
msgstr ""
|
3047 |
|
@@ -3113,7 +3125,7 @@ msgstr ""
|
|
3113 |
msgid "Switch to"
|
3114 |
msgstr ""
|
3115 |
|
3116 |
-
#: ../nexus/cerber-slave-list.php:337 ../cerber-scanner.php:
|
3117 |
msgid "Vulnerabilities"
|
3118 |
msgstr ""
|
3119 |
|
@@ -3252,7 +3264,7 @@ msgstr ""
|
|
3252 |
msgid "Active plugins and updates on"
|
3253 |
msgstr ""
|
3254 |
|
3255 |
-
#: ../nexus/cerber-nexus-slave.php:
|
3256 |
msgid "Settings updated"
|
3257 |
msgstr ""
|
3258 |
|
@@ -3353,124 +3365,124 @@ msgstr ""
|
|
3353 |
msgid "Ignore"
|
3354 |
msgstr ""
|
3355 |
|
3356 |
-
#: ../cerber-scanner.php:
|
3357 |
msgid "Verified"
|
3358 |
msgstr ""
|
3359 |
|
3360 |
-
#: ../cerber-scanner.php:
|
3361 |
msgid "Vulnerability found"
|
3362 |
msgstr ""
|
3363 |
|
3364 |
-
#: ../cerber-scanner.php:
|
3365 |
msgid "Integrity data not found"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
-
#: ../cerber-scanner.php:
|
3369 |
msgid "Unable to check the integrity of the plugin due to a network error"
|
3370 |
msgstr ""
|
3371 |
|
3372 |
-
#: ../cerber-scanner.php:
|
3373 |
msgid "Unable to check the integrity of WordPress files due to a network error"
|
3374 |
msgstr ""
|
3375 |
|
3376 |
-
#: ../cerber-scanner.php:
|
3377 |
msgid "Unable to check the integrity of the theme due to a network error"
|
3378 |
msgstr ""
|
3379 |
|
3380 |
-
#: ../cerber-scanner.php:
|
3381 |
msgid "Unable to check the integrity due to a DB error"
|
3382 |
msgstr ""
|
3383 |
|
3384 |
-
#: ../cerber-scanner.php:
|
3385 |
msgid "Local file doesn't exist"
|
3386 |
msgstr ""
|
3387 |
|
3388 |
-
#: ../cerber-scanner.php:
|
3389 |
msgid "Unable to process file"
|
3390 |
msgstr ""
|
3391 |
|
3392 |
-
#: ../cerber-scanner.php:
|
3393 |
msgid "Unable to open file"
|
3394 |
msgstr ""
|
3395 |
|
3396 |
-
#: ../cerber-scanner.php:
|
3397 |
msgid "Checksum mismatch"
|
3398 |
msgstr ""
|
3399 |
|
3400 |
-
#: ../cerber-scanner.php:
|
3401 |
msgid "Suspicious code found"
|
3402 |
msgstr ""
|
3403 |
|
3404 |
-
#: ../cerber-scanner.php:
|
3405 |
msgid "Malicious code found"
|
3406 |
msgstr ""
|
3407 |
|
3408 |
-
#: ../cerber-scanner.php:
|
3409 |
msgid "Unattended suspicious file"
|
3410 |
msgstr ""
|
3411 |
|
3412 |
-
#: ../cerber-scanner.php:
|
3413 |
msgid "Executable code found"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
-
#: ../cerber-scanner.php:
|
3417 |
msgid "Suspicious directives found"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
-
#: ../cerber-scanner.php:
|
3421 |
msgid "Unwanted file extension"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
-
#: ../cerber-scanner.php:
|
3425 |
msgid "Content has been modified"
|
3426 |
msgstr ""
|
3427 |
|
3428 |
-
#: ../cerber-scanner.php:
|
3429 |
msgid "New file"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
-
#: ../cerber-scanner.php:
|
3433 |
msgid "Unable to delete"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
-
#: ../cerber-scanner.php:
|
3437 |
msgid "File deleted"
|
3438 |
msgstr ""
|
3439 |
|
3440 |
-
#: ../cerber-scanner.php:
|
3441 |
msgid "File recovered"
|
3442 |
msgstr ""
|
3443 |
|
3444 |
-
#: ../cerber-scanner.php:
|
3445 |
msgid "Every hour"
|
3446 |
msgstr ""
|
3447 |
|
3448 |
-
#: ../cerber-scanner.php:
|
3449 |
msgid "Every 3 hours"
|
3450 |
msgstr ""
|
3451 |
|
3452 |
-
#: ../cerber-scanner.php:
|
3453 |
msgid "Every 6 hours"
|
3454 |
msgstr ""
|
3455 |
|
3456 |
-
#: ../cerber-scanner.php:
|
3457 |
msgid "Custom signature found"
|
3458 |
msgstr ""
|
3459 |
|
3460 |
-
#: ../cerber-scanner.php:
|
3461 |
msgid ""
|
3462 |
"This file contains executable code and may contain obfuscated malware. If "
|
3463 |
"this file is a part of a theme or a plugin, it must be located in the theme "
|
3464 |
"or the plugin folder. No exception, no excuses."
|
3465 |
msgstr ""
|
3466 |
|
3467 |
-
#: ../cerber-scanner.php:
|
3468 |
msgid ""
|
3469 |
"The scanner recognizes this file as \"ownerless\" or \"not bundled\" because it "
|
3470 |
"does not belong to any known part of the website and should not be here."
|
3471 |
msgstr ""
|
3472 |
|
3473 |
-
#: ../cerber-scanner.php:
|
3474 |
#, php-format
|
3475 |
msgid ""
|
3476 |
"It may remain after upgrading to a newer version of %s. It also may be a "
|
@@ -3478,15 +3490,15 @@ msgid ""
|
|
3478 |
"made (bespoke) plugin or theme."
|
3479 |
msgstr ""
|
3480 |
|
3481 |
-
#: ../cerber-scanner.php:
|
3482 |
msgid "Suspicious code instruction found"
|
3483 |
msgstr ""
|
3484 |
|
3485 |
-
#: ../cerber-scanner.php:
|
3486 |
msgid "Suspicious code signatures found"
|
3487 |
msgstr ""
|
3488 |
|
3489 |
-
#: ../cerber-scanner.php:
|
3490 |
msgid ""
|
3491 |
"The contents of the file have been changed and do not match what exists in "
|
3492 |
"the official WordPress repository or a reference file you have uploaded "
|
@@ -3494,246 +3506,246 @@ msgid ""
|
|
3494 |
"has been tampered with."
|
3495 |
msgstr ""
|
3496 |
|
3497 |
-
#: ../cerber-scanner.php:
|
3498 |
#, php-format
|
3499 |
msgid ""
|
3500 |
"To solve this issue you have to reinstall %s or update it to the latest "
|
3501 |
"version."
|
3502 |
msgstr ""
|
3503 |
|
3504 |
-
#: ../cerber-scanner.php:
|
3505 |
msgid "Please upload a reference ZIP archive"
|
3506 |
msgstr ""
|
3507 |
|
3508 |
-
#: ../cerber-scanner.php:
|
3509 |
msgid "Resolve issue"
|
3510 |
msgstr ""
|
3511 |
|
3512 |
-
#: ../cerber-scanner.php:
|
3513 |
msgid "Preparing for the scan"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
-
#: ../cerber-scanner.php:
|
3517 |
msgid "Scanning folders for files"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
-
#: ../cerber-scanner.php:
|
3521 |
msgid "Scanning the upload folder for files"
|
3522 |
msgstr ""
|
3523 |
|
3524 |
-
#: ../cerber-scanner.php:
|
3525 |
msgid "Scanning the temp folder for files"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
-
#: ../cerber-scanner.php:
|
3529 |
msgid "Scanning the session folder for files"
|
3530 |
msgstr ""
|
3531 |
|
3532 |
-
#: ../cerber-scanner.php:
|
3533 |
msgid "Parsing the list of files"
|
3534 |
msgstr ""
|
3535 |
|
3536 |
-
#: ../cerber-scanner.php:
|
3537 |
msgid "Checking for new and modified files"
|
3538 |
msgstr ""
|
3539 |
|
3540 |
-
#: ../cerber-scanner.php:
|
3541 |
msgid "Verifying the integrity of WordPress"
|
3542 |
msgstr ""
|
3543 |
|
3544 |
-
#: ../cerber-scanner.php:
|
3545 |
msgid "Recovering WordPress files"
|
3546 |
msgstr ""
|
3547 |
|
3548 |
-
#: ../cerber-scanner.php:
|
3549 |
msgid "Verifying the integrity of the plugins"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
-
#: ../cerber-scanner.php:
|
3553 |
msgid "Recovering plugins files"
|
3554 |
msgstr ""
|
3555 |
|
3556 |
-
#: ../cerber-scanner.php:
|
3557 |
msgid "Verifying the integrity of the themes"
|
3558 |
msgstr ""
|
3559 |
|
3560 |
-
#: ../cerber-scanner.php:
|
3561 |
msgid "Searching for malicious code"
|
3562 |
msgstr ""
|
3563 |
|
3564 |
-
#: ../cerber-scanner.php:
|
3565 |
msgid "Finalizing the scan"
|
3566 |
msgstr ""
|
3567 |
|
3568 |
-
#: ../cerber-scanner.php:
|
3569 |
msgid "Started"
|
3570 |
msgstr ""
|
3571 |
|
3572 |
-
#: ../cerber-scanner.php:
|
3573 |
msgid "Finished"
|
3574 |
msgstr ""
|
3575 |
|
3576 |
-
#: ../cerber-scanner.php:
|
3577 |
msgid "Performance"
|
3578 |
msgstr ""
|
3579 |
|
3580 |
-
#: ../cerber-scanner.php:
|
3581 |
msgid "New files"
|
3582 |
msgstr ""
|
3583 |
|
3584 |
-
#: ../cerber-scanner.php:
|
3585 |
msgid "Changed files"
|
3586 |
msgstr ""
|
3587 |
|
3588 |
-
#: ../cerber-scanner.php:
|
3589 |
msgid "Unwanted extensions"
|
3590 |
msgstr ""
|
3591 |
|
3592 |
-
#: ../cerber-scanner.php:
|
3593 |
msgid "Unattended files"
|
3594 |
msgstr ""
|
3595 |
|
3596 |
-
#: ../cerber-scanner.php:
|
3597 |
msgid "Scanned"
|
3598 |
msgstr ""
|
3599 |
|
3600 |
-
#: ../cerber-scanner.php:
|
3601 |
msgid "Files to scan"
|
3602 |
msgstr ""
|
3603 |
|
3604 |
-
#: ../cerber-scanner.php:
|
3605 |
msgid "Critical issues"
|
3606 |
msgstr ""
|
3607 |
|
3608 |
-
#: ../cerber-scanner.php:
|
3609 |
msgid "Issues total"
|
3610 |
msgstr ""
|
3611 |
|
3612 |
-
#: ../cerber-scanner.php:
|
3613 |
msgid "We have not found any integrity data to verify"
|
3614 |
msgstr ""
|
3615 |
|
3616 |
-
#: ../cerber-scanner.php:
|
3617 |
msgid ""
|
3618 |
"You have to upload a ZIP archive from which you've installed it. This "
|
3619 |
"enables the security scanner to verify the integrity of the code and detect "
|
3620 |
"malware."
|
3621 |
msgstr ""
|
3622 |
|
3623 |
-
#: ../cerber-scanner.php:
|
3624 |
msgid ""
|
3625 |
"File access error. Possibly scan results are outdated. Please run Quick or "
|
3626 |
"Full Scan."
|
3627 |
msgstr ""
|
3628 |
|
3629 |
-
#: ../cerber-scanner.php:
|
3630 |
msgid "Full Scan Report"
|
3631 |
msgstr ""
|
3632 |
|
3633 |
-
#: ../cerber-scanner.php:
|
3634 |
msgid "Quick Scan Report"
|
3635 |
msgstr ""
|
3636 |
|
3637 |
-
#: ../cerber-scanner.php:
|
3638 |
msgid "Files scanned"
|
3639 |
msgstr ""
|
3640 |
|
3641 |
-
#: ../cerber-scanner.php:
|
3642 |
msgid "Deleted"
|
3643 |
msgstr ""
|
3644 |
|
3645 |
-
#: ../cerber-scanner.php:
|
3646 |
msgid "Recovered"
|
3647 |
msgstr ""
|
3648 |
|
3649 |
-
#: ../cerber-scanner.php:
|
3650 |
msgid "Automatically moved to quarantine"
|
3651 |
msgstr ""
|
3652 |
|
3653 |
-
#: ../cerber-scanner.php:
|
3654 |
msgid "Automatically deleted"
|
3655 |
msgstr ""
|
3656 |
|
3657 |
-
#: ../cerber-scanner.php:
|
3658 |
msgid "Automatically recovered"
|
3659 |
msgstr ""
|
3660 |
|
3661 |
-
#: ../cerber-scanner.php:
|
3662 |
msgid "To view full report visit"
|
3663 |
msgstr ""
|
3664 |
|
3665 |
-
#: ../cerber-scanner.php:
|
3666 |
msgid "There are no files in the quarantine at the moment."
|
3667 |
msgstr ""
|
3668 |
|
3669 |
-
#: ../cerber-scanner.php:
|
3670 |
msgid "No files match the specified filter."
|
3671 |
msgstr ""
|
3672 |
|
3673 |
-
#: ../cerber-scanner.php:
|
3674 |
msgid "Click here to see the full list of files"
|
3675 |
msgstr ""
|
3676 |
|
3677 |
-
#: ../cerber-scanner.php:
|
3678 |
msgid "Delete permanently"
|
3679 |
msgstr ""
|
3680 |
|
3681 |
-
#: ../cerber-scanner.php:
|
3682 |
msgid "Restore"
|
3683 |
msgstr ""
|
3684 |
|
3685 |
-
#: ../cerber-scanner.php:
|
3686 |
msgid "Moved to quarantine"
|
3687 |
msgstr ""
|
3688 |
|
3689 |
-
#: ../cerber-scanner.php:
|
3690 |
msgid "Automatic deletion"
|
3691 |
msgstr ""
|
3692 |
|
3693 |
-
#: ../cerber-scanner.php:
|
3694 |
msgid "Size"
|
3695 |
msgstr ""
|
3696 |
|
3697 |
-
#: ../cerber-scanner.php:
|
3698 |
msgid "File"
|
3699 |
msgstr ""
|
3700 |
|
3701 |
-
#: ../cerber-scanner.php:
|
3702 |
msgid "All scans"
|
3703 |
msgstr ""
|
3704 |
|
3705 |
-
#: ../cerber-scanner.php:
|
3706 |
msgid "The file has been deleted permanently."
|
3707 |
msgstr ""
|
3708 |
|
3709 |
-
#: ../cerber-scanner.php:
|
3710 |
msgid "The file has been restored to its original location."
|
3711 |
msgstr ""
|
3712 |
|
3713 |
-
#: ../cerber-scanner.php:
|
3714 |
msgid "Apply"
|
3715 |
msgstr ""
|
3716 |
|
3717 |
-
#: ../cerber-scanner.php:
|
3718 |
msgid "Remove from the list"
|
3719 |
msgstr ""
|
3720 |
|
3721 |
-
#: ../cerber-scanner.php:
|
3722 |
msgid "User Insights"
|
3723 |
msgstr ""
|
3724 |
|
3725 |
-
#: ../cerber-scanner.php:
|
3726 |
msgid "Traffic Insights"
|
3727 |
msgstr ""
|
3728 |
|
3729 |
-
#: ../cerber-scanner.php:
|
3730 |
msgid "Activity Insights"
|
3731 |
msgstr ""
|
3732 |
|
3733 |
-
#: ../cerber-scanner.php:
|
3734 |
msgid "The list is empty."
|
3735 |
msgstr ""
|
3736 |
|
3737 |
-
#: ../cerber-scanner.php:
|
3738 |
msgid "Added"
|
3739 |
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: Tue Apr 28 2020 11:47:21 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:1808 ../dashboard.php:2711 ../dashboard.
|
32 |
+
#: php:4589
|
33 |
msgid "Dashboard"
|
34 |
msgstr ""
|
35 |
|
37 |
msgid "Cerber Traffic Inspector"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: ../dashboard.php:56 ../dashboard.php:1771 ../dashboard.php:4655
|
41 |
msgid "Traffic Inspector"
|
42 |
msgstr ""
|
43 |
|
53 |
msgid "Cerber Security Rules"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: ../dashboard.php:61 ../dashboard.php:4701
|
57 |
msgid "Security Rules"
|
58 |
msgstr ""
|
59 |
|
61 |
msgid "Cerber User Security"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: ../dashboard.php:64 ../dashboard.php:4681
|
65 |
msgid "User Policies"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: ../dashboard.php:67 ../dashboard.php:4716
|
69 |
msgid "Site Integrity"
|
70 |
msgstr ""
|
71 |
|
73 |
msgid "Cerber anti-spam settings"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: ../dashboard.php:71 ../settings.php:1110
|
77 |
msgid "Anti-spam"
|
78 |
msgstr ""
|
79 |
|
85 |
msgid "Cerber tools"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: ../dashboard.php:82 ../dashboard.php:4751
|
89 |
msgid "Tools"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: ../dashboard.php:190 ../dashboard.php:308
|
93 |
msgid "Remove"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: ../dashboard.php:195 ../cerber-load.php:4856
|
97 |
msgid "IP"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: ../dashboard.php:196 ../dashboard.php:1088
|
101 |
msgid "Hostname"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: ../dashboard.php:197 ../dashboard.php:1089
|
105 |
msgid "Country"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: ../dashboard.php:198 ../cerber-users.php:973
|
109 |
msgid "Expires"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: ../dashboard.php:199 ../cerber-load.php:4151
|
113 |
msgid "Reason"
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: ../dashboard.php:200 ../cerber-users.php:976 ../cerber-scanner.php:5830 ..
|
117 |
+
#: /cerber-scanner.php:5978
|
118 |
msgid "Action"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: ../dashboard.php:216
|
122 |
#, php-format
|
123 |
msgid "Showing last %d records from %d"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: ../dashboard.php:218
|
127 |
msgid "Hint"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: ../dashboard.php:218
|
131 |
msgid "To view activity, click on the IP"
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: ../dashboard.php:222
|
135 |
msgid "No lockouts at the moment. The sky is clear."
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: ../dashboard.php:254 ../dashboard.php:1349 ../dashboard.php:1394 ../dashboard.
|
139 |
+
#: php:1766 ../dashboard.php:3787 ../cerber-load.php:5158 ../cerber-tools.php:55
|
140 |
msgid "White IP Access List"
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: ../dashboard.php:257 ../dashboard.php:1352 ../dashboard.php:1397 ../dashboard.
|
144 |
+
#: php:1767 ../dashboard.php:3790 ../cerber-tools.php:56
|
145 |
msgid "Black IP Access List"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: ../dashboard.php:264
|
149 |
msgid "Your IP"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: ../dashboard.php:304 ../dashboard.php:1388 ../dashboard.php:1440 ../dashboard.
|
153 |
+
#: php:1580
|
154 |
msgid "Check for activities"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: ../dashboard.php:314
|
158 |
msgid "List is empty"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: ../dashboard.php:320
|
162 |
msgid "IP address, range, wildcard, or CIDR"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: ../dashboard.php:321
|
166 |
msgid "Add Entry"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: ../dashboard.php:322
|
170 |
msgid "Optional comment for this entry"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: ../dashboard.php:344
|
174 |
msgid "You cannot add your IP address or network"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: ../dashboard.php:348
|
178 |
#, php-format
|
179 |
msgid "IP address %s has been added to Black IP Access List"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: ../dashboard.php:351
|
183 |
#, php-format
|
184 |
msgid "IP address %s has been added to White IP Access List"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: ../dashboard.php:433 ../dashboard.php:3695 ../whois.php:222 ../whois.php:253 ..
|
188 |
+
#: /common.php:1470 ../common.php:1854 ../common.php:1919 ../nexus/cerber-slave-
|
189 |
#: list.php:330
|
190 |
msgid "Unknown"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: ../dashboard.php:506
|
194 |
msgid "unknown"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: ../dashboard.php:569
|
198 |
#, php-format
|
199 |
msgid "Lockout for %s was removed"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: ../dashboard.php:577
|
203 |
msgid "Email has been sent to"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: ../dashboard.php:580
|
207 |
msgid "Unable to send email to"
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: ../dashboard.php:635
|
211 |
msgid "Default settings have been loaded"
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: ../dashboard.php:839 ../dashboard.php:1087 ../dashboard.php:4009 ../cerber-
|
215 |
+
#: users.php:974
|
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:841 ../dashboard.php:1091
|
225 |
msgid "Event"
|
226 |
msgstr ""
|
227 |
|
228 |
+
#: ../dashboard.php:842
|
229 |
msgid "Additional Details"
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: ../dashboard.php:843 ../dashboard.php:1092 ../dashboard.php:4012
|
233 |
msgid "Local User"
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: ../dashboard.php:844
|
237 |
msgid "User login"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: ../dashboard.php:845 ../dashboard.php:3588
|
241 |
msgid "User ID"
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: ../dashboard.php:846 ../dashboard.php:1093
|
245 |
msgid "Username"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: ../dashboard.php:939 ../dashboard.php:2371
|
249 |
msgid "View all"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: ../dashboard.php:950
|
253 |
msgid "New users"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: ../dashboard.php:956 ../dashboard.php:4038
|
257 |
msgid "Suspicious activity"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: ../dashboard.php:958 ../common.php:1333
|
261 |
msgid "IP blocked"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: ../dashboard.php:960 ../dashboard.php:1764 ../dashboard.php:4040 ../settings.
|
265 |
+
#: php:374 ../settings.php:1029
|
266 |
msgid "Logged in users"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: ../dashboard.php:961 ../dashboard.php:4041
|
270 |
msgid "Not logged in visitors"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: ../dashboard.php:963
|
274 |
msgid "My activity"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: ../dashboard.php:1115 ../dashboard.php:4072
|
278 |
msgid "Export"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: ../dashboard.php:1120
|
282 |
msgid "No activity has been logged."
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: ../dashboard.php:1155
|
286 |
msgid "Filter by registered user"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: ../dashboard.php:1156
|
290 |
msgid "Search for IP or username"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: ../dashboard.php:1159
|
294 |
msgid "Request ID"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: ../dashboard.php:1160
|
298 |
msgid "Search in URL"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: ../dashboard.php:1167
|
302 |
msgid "Filter"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: ../dashboard.php:1357 ../dashboard.php:1401 ../dashboard.php:3795 ../common.
|
306 |
+
#: php:1391
|
307 |
msgid "Locked out"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: ../dashboard.php:1433
|
311 |
msgid "Abuse email:"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: ../dashboard.php:1439
|
315 |
msgid "Network:"
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: ../dashboard.php:1454
|
319 |
msgid "Add network to the Black List"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: ../dashboard.php:1460
|
323 |
msgid "Add IP to the Black List"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: ../dashboard.php:1528 ../dashboard.php:1618
|
327 |
+
msgid "Registered"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: ../dashboard.php:1540
|
331 |
msgid "Activated"
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: ../dashboard.php:1560
|
335 |
msgid "Last seen"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: ../dashboard.php:1564
|
339 |
+
msgid "Active sessions"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: ../dashboard.php:1615
|
343 |
msgid "Comments"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: ../dashboard.php:1616
|
347 |
msgid "Last login"
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: ../dashboard.php:1617
|
351 |
msgid "Failed login attempts"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: ../dashboard.php:1649 ../dashboard.php:1740 ../dashboard.php:1789 ../common.
|
355 |
+
#: php:1607 ../nexus/cerber-slave-list.php:344
|
356 |
msgid "Never"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: ../dashboard.php:1688 ../cerber-users.php:52 ../cerber-users.php:1107
|
360 |
msgid "You"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: ../dashboard.php:1706
|
364 |
msgid "Cerber Quick View"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: ../dashboard.php:1745 ../dashboard.php:1775
|
368 |
msgid "active"
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: ../dashboard.php:1745
|
372 |
msgid "deactivate"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: ../dashboard.php:1749
|
376 |
msgid "not active"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: ../dashboard.php:1752 ../dashboard.php:1770
|
380 |
msgid "disabled"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: ../dashboard.php:1758
|
384 |
msgid "failed attempts"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: ../dashboard.php:1758 ../dashboard.php:1759
|
388 |
msgid "in 24 hours"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: ../dashboard.php:1758 ../dashboard.php:1759
|
392 |
msgid "view all"
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: ../dashboard.php:1759
|
396 |
msgid "lockouts"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: ../dashboard.php:1761
|
400 |
msgid "Lockouts at the moment"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: ../dashboard.php:1762
|
404 |
msgid "Last lockout"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: ../dashboard.php:1764
|
408 |
msgid "user"
|
409 |
msgid_plural "users"
|
410 |
msgstr[0] ""
|
411 |
msgstr[1] ""
|
412 |
|
413 |
+
#: ../dashboard.php:1766 ../dashboard.php:1767 ../dashboard.php:2693
|
414 |
msgid "entry"
|
415 |
msgid_plural "entries"
|
416 |
msgstr[0] ""
|
417 |
msgstr[1] ""
|
418 |
|
419 |
+
#: ../dashboard.php:1768 ../settings.php:233
|
420 |
msgid "Citadel mode"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: ../dashboard.php:1770
|
424 |
msgid "enabled"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: ../dashboard.php:1775
|
428 |
msgid "no connection"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: ../dashboard.php:1792
|
432 |
msgctxt "Example: Last malware scan: 23 Jan 2018"
|
433 |
msgid "Last malware scan"
|
434 |
msgstr ""
|
435 |
|
436 |
+
#: ../dashboard.php:1795 ../dashboard.php:1797 ../cerber-users.php:20 ../cerber-
|
437 |
+
#: users.php:446 ../settings.php:695 ../settings.php:723 ../settings.php:832 ..
|
438 |
+
#: /settings.php:841 ../settings.php:1182 ../cerber-scanner.php:1620
|
439 |
msgid "Disabled"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: ../dashboard.php:1796 ../cerber-scanner.php:1065
|
443 |
msgid "Quick Scan"
|
444 |
msgstr ""
|
445 |
|
446 |
+
#: ../dashboard.php:1798 ../cerber-scanner.php:1065
|
447 |
msgid "Full Scan"
|
448 |
msgstr ""
|
449 |
|
450 |
+
#: ../dashboard.php:1809 ../dashboard.php:2357 ../dashboard.php:4590 ../cerber-
|
451 |
+
#: load.php:4847 ../cerber-users.php:1140 ../settings.php:266
|
452 |
msgid "Activity"
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: ../dashboard.php:1810 ../cerber-users.php:1141
|
456 |
msgid "Traffic"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: ../dashboard.php:1811
|
460 |
msgid "Integrity"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: ../dashboard.php:1814
|
464 |
msgid "A new version is available"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: ../dashboard.php:2174 ../settings.php:220
|
468 |
msgid "My site is behind a reverse proxy"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: ../dashboard.php:2350
|
472 |
msgid "in the last 24 hours"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: ../dashboard.php:2374
|
476 |
msgid "Recently locked out IP addresses"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: ../dashboard.php:2398
|
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:2514
|
509 |
msgid "Deactivate"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: ../dashboard.php:2515 ../dashboard.php:2905
|
513 |
msgid "View Activity"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: ../dashboard.php:2530
|
517 |
msgid "Settings saved"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: ../dashboard.php:2601
|
521 |
msgid "Create Alert"
|
522 |
msgstr ""
|
523 |
|
524 |
+
#: ../dashboard.php:2605
|
525 |
msgid "Delete Alert"
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: ../dashboard.php:2638
|
529 |
msgid "The alert has been created"
|
530 |
msgstr ""
|
531 |
|
532 |
+
#: ../dashboard.php:2642
|
533 |
msgid "The alert has been deleted"
|
534 |
msgstr ""
|
535 |
|
536 |
+
#: ../dashboard.php:2712
|
537 |
msgid "Main settings"
|
538 |
msgstr ""
|
539 |
|
540 |
+
#: ../dashboard.php:2824
|
541 |
msgid "Are you sure you want to delete selected files?"
|
542 |
msgstr ""
|
543 |
|
544 |
+
#: ../dashboard.php:2825
|
545 |
msgid "These files have been moved to the quarantine"
|
546 |
msgstr ""
|
547 |
|
548 |
+
#: ../dashboard.php:2828
|
549 |
msgid "Do you want to add selected files to the ignore list?"
|
550 |
msgstr ""
|
551 |
|
552 |
+
#: ../dashboard.php:2829
|
553 |
msgid "These files have been added to the ignore list"
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: ../dashboard.php:2831
|
557 |
msgid "Some errors occurred"
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: ../dashboard.php:2832
|
561 |
msgid "All files have been processed"
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: ../dashboard.php:3168 ../admin/cerber-settings.php:618
|
565 |
msgid "Save Changes"
|
566 |
msgstr ""
|
567 |
|
568 |
+
#: ../dashboard.php:3240
|
569 |
msgid "Role-based rules are configured"
|
570 |
msgstr ""
|
571 |
|
572 |
+
#: ../dashboard.php:3290
|
573 |
msgid "Start typing here to find a country"
|
574 |
msgstr ""
|
575 |
|
576 |
+
#: ../dashboard.php:3297
|
577 |
msgid "Save all rules"
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: ../dashboard.php:3310
|
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:3313
|
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:3321
|
595 |
msgid "No rule"
|
596 |
msgstr ""
|
597 |
|
598 |
+
#: ../dashboard.php:3322
|
599 |
msgid "Any country is permitted"
|
600 |
msgstr ""
|
601 |
|
602 |
+
#: ../dashboard.php:3405
|
603 |
msgid "Click on a country name to add it to the list of selected countries"
|
604 |
msgstr ""
|
605 |
|
606 |
+
#: ../dashboard.php:3409
|
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:3412
|
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:3432
|
619 |
msgid "Log in to the website"
|
620 |
msgstr ""
|
621 |
|
622 |
+
#: ../dashboard.php:3434
|
623 |
msgid "All Users"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: ../dashboard.php:3436
|
627 |
msgid "Register on the website"
|
628 |
msgstr ""
|
629 |
|
630 |
+
#: ../dashboard.php:3437
|
631 |
msgid "Submit forms"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: ../dashboard.php:3438
|
635 |
msgid "Post comments"
|
636 |
msgstr ""
|
637 |
|
638 |
+
#: ../dashboard.php:3439
|
639 |
msgid "Use XML-RPC"
|
640 |
msgstr ""
|
641 |
|
642 |
+
#: ../dashboard.php:3440
|
643 |
msgid "Use REST API"
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: ../dashboard.php:3482
|
647 |
msgid "Security rules have been updated"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: ../dashboard.php:3582
|
651 |
msgid "IP address"
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: ../dashboard.php:3589
|
655 |
msgid "Page generation time"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: ../dashboard.php:4008
|
659 |
msgid "Request"
|
660 |
msgstr ""
|
661 |
|
662 |
+
#: ../dashboard.php:4010 ../cerber-users.php:975
|
663 |
msgid "Host Info"
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: ../dashboard.php:4011
|
667 |
msgid "User Agent"
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: ../dashboard.php:4028
|
671 |
msgid "No requests have been logged."
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: ../dashboard.php:4036
|
675 |
msgid "All requests"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: ../dashboard.php:4039
|
679 |
msgid "Errors"
|
680 |
msgstr ""
|
681 |
|
682 |
+
#: ../dashboard.php:4044
|
683 |
msgid "Form submissions"
|
684 |
msgstr ""
|
685 |
|
686 |
+
#: ../dashboard.php:4046
|
687 |
msgid "Page Not Found"
|
688 |
msgstr ""
|
689 |
|
690 |
+
#: ../dashboard.php:4055
|
691 |
msgid "Longer than"
|
692 |
msgstr ""
|
693 |
|
694 |
+
#: ../dashboard.php:4065
|
695 |
msgid "Advanced Search"
|
696 |
msgstr ""
|
697 |
|
698 |
+
#: ../dashboard.php:4078
|
699 |
msgid "Refresh"
|
700 |
msgstr ""
|
701 |
|
702 |
+
#: ../dashboard.php:4591
|
703 |
msgid "Sessions"
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: ../dashboard.php:4592
|
707 |
msgid "Lockouts"
|
708 |
msgstr ""
|
709 |
|
710 |
+
#: ../dashboard.php:4593
|
711 |
msgid "Main Settings"
|
712 |
msgstr ""
|
713 |
|
714 |
+
#: ../dashboard.php:4594 ../cerber-tools.php:38 ../cerber-tools.php:49
|
715 |
msgid "Access Lists"
|
716 |
msgstr ""
|
717 |
|
718 |
+
#: ../dashboard.php:4595
|
719 |
msgid "Hardening"
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: ../dashboard.php:4597 ../settings.php:254
|
723 |
msgid "Notifications"
|
724 |
msgstr ""
|
725 |
|
726 |
+
#: ../dashboard.php:4635
|
727 |
msgid "Anti-spam and bot detection settings"
|
728 |
msgstr ""
|
729 |
|
730 |
+
#: ../dashboard.php:4637
|
731 |
msgid "Anti-spam engine"
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: ../dashboard.php:4657
|
735 |
msgid "Live Traffic"
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: ../dashboard.php:4658 ../dashboard.php:4719 ../cerber-tools.php:37 ../cerber-
|
739 |
+
#: tools.php:48 ../nexus/cerber-nexus.php:93
|
740 |
msgid "Settings"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: ../dashboard.php:4671
|
744 |
msgid "Data Shield Policies"
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: ../dashboard.php:4673
|
748 |
msgid "Accounts & Roles"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: ../dashboard.php:4674
|
752 |
msgid "Site Settings"
|
753 |
msgstr ""
|
754 |
|
755 |
+
#: ../dashboard.php:4683
|
756 |
msgid "Role-based"
|
757 |
msgstr ""
|
758 |
|
759 |
+
#: ../dashboard.php:4684
|
760 |
msgid "Global"
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: ../dashboard.php:4703
|
764 |
msgid "Countries"
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: ../dashboard.php:4718
|
768 |
msgid "Security Scanner"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: ../dashboard.php:4720
|
772 |
msgid "Scheduling"
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: ../dashboard.php:4721
|
776 |
msgid "Cleaning up"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: ../dashboard.php:4722
|
780 |
msgid "Ignore List"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: ../dashboard.php:4723
|
784 |
msgid "Quarantine"
|
785 |
msgstr ""
|
786 |
|
787 |
+
#: ../dashboard.php:4753
|
788 |
msgid "Export & Import"
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: ../dashboard.php:4754
|
792 |
msgid "Diagnostic"
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: ../dashboard.php:4755
|
796 |
msgid "Log"
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: ../dashboard.php:4756
|
800 |
msgid "Changelog"
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: ../dashboard.php:4757
|
804 |
msgid "License"
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: ../dashboard.php:4858
|
808 |
msgid "Help"
|
809 |
msgstr ""
|
810 |
|
811 |
+
#: ../dashboard.php:4907
|
812 |
msgid "Incorrect IP address or IP range"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#: ../dashboard.php:4911
|
816 |
msgid "The IP address you are trying to add is already in the list"
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: ../dashboard.php:5046
|
820 |
msgid "These features are available in a professional version of the plugin."
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: ../dashboard.php:5047
|
824 |
msgid "Know more about all advantages at"
|
825 |
msgstr ""
|
826 |
|
827 |
+
#: ../dashboard.php:5082
|
828 |
msgid "Log In"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: ../dashboard.php:5083
|
832 |
msgid "Log Out"
|
833 |
msgstr ""
|
834 |
|
835 |
+
#: ../dashboard.php:5084
|
836 |
msgid "Register"
|
837 |
msgstr ""
|
838 |
|
839 |
+
#: ../dashboard.php:5087
|
840 |
msgid "WooCommerce Log In"
|
841 |
msgstr ""
|
842 |
|
843 |
+
#: ../dashboard.php:5088
|
844 |
msgid "WooCommerce Log Out"
|
845 |
msgstr ""
|
846 |
|
847 |
+
#: ../dashboard.php:5127 ../dashboard.php:5128
|
848 |
msgid "Add to menu"
|
849 |
msgstr ""
|
850 |
|
894 |
msgstr ""
|
895 |
|
896 |
#: ../common.php:343 ../common.php:421 ../common.php:426 ../common.php:432 ..
|
897 |
+
#: /common.php:437 ../admin/cerber-settings.php:643 ../admin/cerber-settings.php:
|
898 |
+
#: 663 ../admin/cerber-settings.php:743 ../cerber-load.php:649 ../cerber-load.php:
|
899 |
+
#: 661 ../cerber-load.php:668 ../cerber-load.php:1016 ../cerber-load.php:1547 ..
|
900 |
+
#: /cerber-load.php:1553 ../cerber-load.php:1558 ../cerber-load.php:1565 ..
|
901 |
+
#: /cerber-load.php:1572 ../cerber-load.php:1578 ../cerber-load.php:1585 ..
|
902 |
+
#: /cerber-load.php:1736 ../cerber-load.php:1873 ../nexus/cerber-nexus-slave.php:
|
903 |
+
#: 204 ../nexus/cerber-nexus-slave.php:215 ../cerber-scanner.php:5932
|
904 |
msgid "ERROR:"
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: ../common.php:1326
|
908 |
msgid "User created"
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: ../common.php:1327
|
912 |
msgid "User registered"
|
913 |
msgstr ""
|
914 |
|
915 |
+
#: ../common.php:1328
|
916 |
msgid "Logged in"
|
917 |
msgstr ""
|
918 |
|
919 |
+
#: ../common.php:1329
|
920 |
msgid "Logged out"
|
921 |
msgstr ""
|
922 |
|
923 |
+
#: ../common.php:1330
|
924 |
msgid "Login failed"
|
925 |
msgstr ""
|
926 |
|
927 |
+
#: ../common.php:1334
|
928 |
msgid "IP subnet blocked"
|
929 |
msgstr ""
|
930 |
|
931 |
+
#: ../common.php:1337
|
932 |
msgid "Citadel activated!"
|
933 |
msgstr ""
|
934 |
|
935 |
+
#: ../common.php:1338
|
936 |
msgid "Spam comment denied"
|
937 |
msgstr ""
|
938 |
|
939 |
+
#: ../common.php:1339
|
940 |
msgid "Spam form submission denied"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: ../common.php:1340
|
944 |
msgid "Form submission denied"
|
945 |
msgstr ""
|
946 |
|
947 |
+
#: ../common.php:1341
|
948 |
msgid "Comment denied"
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: ../common.php:1350
|
952 |
msgid "Password changed"
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: ../common.php:1351
|
956 |
msgid "Password reset requested"
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: ../common.php:1353
|
960 |
msgid "reCAPTCHA verification failed"
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: ../common.php:1354
|
964 |
msgid "reCAPTCHA settings are incorrect"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: ../common.php:1355
|
968 |
msgid "Request to the Google reCAPTCHA service failed"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: ../common.php:1357 ../common.php:1447
|
972 |
msgid "Attempt to access prohibited URL"
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: ../common.php:1358 ../common.php:1448
|
976 |
msgid "Attempt to log in with non-existing username"
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: ../common.php:1359 ../common.php:1449
|
980 |
msgid "Attempt to log in with prohibited username"
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: ../common.php:1361
|
984 |
msgid "Attempt to log in denied"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: ../common.php:1362
|
988 |
msgid "Attempt to register denied"
|
989 |
msgstr ""
|
990 |
|
991 |
+
#: ../common.php:1363 ../common.php:1453
|
992 |
msgid "Probing for vulnerable PHP code"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: ../common.php:1364
|
996 |
msgid "Attempt to upload malicious file denied"
|
997 |
msgstr ""
|
998 |
|
999 |
+
#: ../common.php:1365
|
1000 |
msgid "File upload denied"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: ../common.php:1367
|
1004 |
msgid "Request to REST API denied"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: ../common.php:1368
|
1008 |
msgid "XML-RPC request denied"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
+
#: ../common.php:1369
|
1012 |
msgid "User creation denied"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
+
#: ../common.php:1370
|
1016 |
msgid "User row update denied"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
+
#: ../common.php:1371
|
1020 |
msgid "Role update denied"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
+
#: ../common.php:1372
|
1024 |
msgid "Setting update denied"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
+
#: ../common.php:1373
|
1028 |
msgid "User metadata update denied"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
+
#: ../common.php:1375
|
1032 |
msgid "Malicious request denied"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
+
#: ../common.php:1378
|
1036 |
msgid "User activated"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
+
#: ../common.php:1381
|
1040 |
msgid "Invalid master credentials"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
+
#: ../common.php:1389
|
1044 |
msgid "Bot detected"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
+
#: ../common.php:1390
|
1048 |
msgid "Citadel mode is active"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
+
#: ../common.php:1392
|
1052 |
msgid "IP address is locked out"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: ../common.php:1393
|
1056 |
msgid "IP blacklisted"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: ../common.php:1394
|
1060 |
msgid "Malicious activity detected"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
+
#: ../common.php:1395
|
1064 |
msgid "Blocked by country rule"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: ../common.php:1396
|
1068 |
msgid "Limit reached"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
+
#: ../common.php:1397
|
1072 |
msgid "Multiple suspicious activities"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: ../common.php:1398
|
1076 |
msgid "Denied"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
+
#: ../common.php:1400
|
1080 |
msgid "Suspicious number of fields"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
+
#: ../common.php:1401
|
1084 |
msgid "Suspicious number of nested values"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
+
#: ../common.php:1402 ../common.php:1454
|
1088 |
msgid "Malicious code detected"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
+
#: ../common.php:1403
|
1092 |
msgid "Suspicious SQL code detected"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
+
#: ../common.php:1404
|
1096 |
msgid "Suspicious JavaScript code detected"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
+
#: ../common.php:1405
|
1100 |
msgid "Blocked by administrator"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
+
#: ../common.php:1406
|
1104 |
msgid "Site policy enforcement"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
+
#: ../common.php:1407
|
1108 |
msgid "2FA code verified"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
+
#: ../common.php:1408
|
1112 |
msgid "Initiated by the user"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
+
#: ../common.php:1411
|
1116 |
msgid "Email address is not permitted"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
+
#: ../common.php:1413
|
1120 |
msgid "Permission denied"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
+
#: ../common.php:1415
|
1124 |
msgid "Invalid user"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
+
#: ../common.php:1416
|
1128 |
msgid "Incorrect password"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
+
#: ../common.php:1445
|
1132 |
msgid "Limit on login attempts is reached"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
+
#: ../common.php:1446
|
1136 |
msgid "Attempt to access"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
+
#: ../common.php:1450
|
1140 |
msgid "Limit on failed reCAPTCHA verifications is reached"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
+
#: ../common.php:1451
|
1144 |
msgid "Bot activity is detected"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
+
#: ../common.php:1452
|
1148 |
msgid "Multiple suspicious activities were detected"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
+
#: ../common.php:1455
|
1152 |
msgid "Attempt to upload a file with malicious code"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
+
#: ../common.php:1457
|
1156 |
msgid "Multiple erroneous requests"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
+
#: ../common.php:1458
|
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:1595
|
1165 |
#, php-format
|
1166 |
msgid "%s sec"
|
1167 |
msgid_plural "%s secs"
|
1168 |
msgstr[0] ""
|
1169 |
msgstr[1] ""
|
1170 |
|
1171 |
+
#: ../common.php:1602
|
1172 |
#, php-format
|
1173 |
msgid "%s ago"
|
1174 |
msgstr ""
|
1175 |
|
1176 |
+
#: ../common.php:1602
|
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:1688
|
1183 |
msgid "Bytes"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: ../common.php:1794
|
1187 |
#, php-format
|
1188 |
msgid "A new version of %s is available. Please install it."
|
1189 |
msgstr ""
|
1190 |
|
1191 |
+
#: ../common.php:1814
|
1192 |
msgid "Not specified"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: ../common.php:2792
|
1196 |
msgid "Unable to create the directory"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
+
#: ../common.php:2797
|
1200 |
msgid "Destination folder access denied"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
+
#: ../common.php:2800
|
1204 |
msgid "File not found"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
+
#: ../common.php:2803
|
1208 |
msgid "Unable to copy the file"
|
1209 |
msgstr ""
|
1210 |
|
1211 |
+
#: ../common.php:2809
|
1212 |
msgid "Unable to delete the file"
|
1213 |
msgstr ""
|
1214 |
|
1223 |
msgid "Awesome!"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
+
#: ../admin/cerber-settings.php:94 ../admin/cerber-settings.php:264 ../cerber-lab.
|
1227 |
#: php:828
|
1228 |
msgid "Know more"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: ../admin/cerber-settings.php:346
|
1232 |
#, php-format
|
1233 |
msgid "%s retries are allowed within %s minutes"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
+
#: ../admin/cerber-settings.php:352
|
1237 |
#, php-format
|
1238 |
msgid "%s registrations are allowed within %s minutes from one IP address"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: ../admin/cerber-settings.php:358
|
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:366
|
1247 |
msgid "Notify admin if the number of active lockouts above"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
+
#: ../admin/cerber-settings.php:371 ../settings.php:260
|
1251 |
msgid "Click to send test"
|
1252 |
msgstr ""
|
1253 |
|
1254 |
+
#: ../admin/cerber-settings.php:375
|
1255 |
#, php-format
|
1256 |
msgid "Enable after %s failed login attempts in the last %s minutes"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
+
#: ../admin/cerber-settings.php:507
|
1260 |
msgid "Select one or more roles"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: ../admin/cerber-settings.php:531
|
1264 |
msgid "Sunday"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: ../admin/cerber-settings.php:532
|
1268 |
msgid "Monday"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: ../admin/cerber-settings.php:533
|
1272 |
msgid "Tuesday"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: ../admin/cerber-settings.php:534
|
1276 |
msgid "Wednesday"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: ../admin/cerber-settings.php:535
|
1280 |
msgid "Thursday"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: ../admin/cerber-settings.php:536
|
1284 |
msgid "Friday"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
+
#: ../admin/cerber-settings.php:537
|
1288 |
msgid "Saturday"
|
1289 |
msgstr ""
|
1290 |
|
1291 |
+
#: ../admin/cerber-settings.php:547
|
1292 |
msgctxt "preposition of time like: at 11:00"
|
1293 |
msgid "at"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: ../admin/cerber-settings.php:566
|
1297 |
msgid "Click to send now"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
+
#: ../admin/cerber-settings.php:644
|
1301 |
msgid "Plugin initialization mode has not been changed"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
+
#: ../admin/cerber-settings.php:671 ../admin/cerber-settings.php:672
|
1305 |
msgid "Attention! You have changed the login URL! The new login URL is"
|
1306 |
msgstr ""
|
1307 |
|
1308 |
+
#: ../admin/cerber-settings.php:673 ../admin/cerber-settings.php:674
|
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:767 ../admin/cerber-settings.php:779 ..
|
1315 |
+
#: /admin/cerber-settings.php:936
|
1316 |
msgid "<strong>ERROR</strong>: please enter a valid email address."
|
1317 |
msgstr ""
|
1318 |
|
1319 |
+
#: ../admin/cerber-settings.php:942
|
1320 |
msgid "The schedule has been updated"
|
1321 |
msgstr ""
|
1322 |
|
1323 |
+
#: ../admin/cerber-settings.php:945
|
1324 |
msgid "Unable to update the schedule"
|
1325 |
msgstr ""
|
1326 |
|
1372 |
"block below."
|
1373 |
msgstr ""
|
1374 |
|
1375 |
+
#: ../cerber-load.php:817
|
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:1125
|
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:1548 ../cerber-load.php:1554 ../cerber-load.php:1579 ..
|
1389 |
+
#: /cerber-load.php:1586
|
1390 |
msgid "You are not allowed to register."
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: ../cerber-load.php:1566
|
1394 |
msgid "Username is not allowed. Please choose another one."
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: ../cerber-load.php:1573
|
1398 |
msgid "Email address is not permitted."
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: ../cerber-load.php:1573
|
1402 |
msgid "Please choose another one."
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: ../cerber-load.php:1873
|
1406 |
msgid "Sorry, human verification failed."
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: ../cerber-load.php:3976
|
1410 |
msgid "We're sorry, you are not allowed to proceed"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: ../cerber-load.php:4092
|
1414 |
msgid "WP Cerber notify"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
+
#: ../cerber-load.php:4116
|
1418 |
msgid "Citadel mode is activated"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
+
#: ../cerber-load.php:4118
|
1422 |
#, php-format
|
1423 |
msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
|
1424 |
msgstr ""
|
1425 |
|
1426 |
+
#: ../cerber-load.php:4119
|
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:4120 ../cerber-load.php:4888
|
1432 |
msgid "View activity in dashboard"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
+
#: ../cerber-load.php:4144
|
1436 |
msgid "unspecified"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
+
#: ../cerber-load.php:4147
|
1440 |
msgid "Number of lockouts is increasing"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
+
#: ../cerber-load.php:4149
|
1444 |
msgid "Number of active lockouts"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
+
#: ../cerber-load.php:4150
|
1448 |
#, php-format
|
1449 |
msgid "Last lockout was added: %s for IP %s"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
+
#: ../cerber-load.php:4152
|
1453 |
msgid "View activity for this IP"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
+
#: ../cerber-load.php:4153
|
1457 |
msgid "View lockouts in dashboard"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
+
#: ../cerber-load.php:4156 ../cerber-load.php:4158
|
1461 |
msgid "A new version of WP Cerber is available to install"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
+
#: ../cerber-load.php:4157
|
1465 |
msgid "Hi!"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
+
#: ../cerber-load.php:4160 ../cerber-load.php:4171 ../nexus/cerber-slave-list.php:
|
1469 |
#: 44
|
1470 |
msgid "Website"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
+
#: ../cerber-load.php:4163 ../cerber-load.php:4164
|
1474 |
msgid "The WP Cerber security plugin has been deactivated"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
+
#: ../cerber-load.php:4166
|
1478 |
msgid "Not logged in"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
+
#: ../cerber-load.php:4172
|
1482 |
msgid "By user"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
+
#: ../cerber-load.php:4173
|
1486 |
msgid "From IP address"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
+
#: ../cerber-load.php:4176
|
1490 |
msgid "From country"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
+
#: ../cerber-load.php:4180
|
1494 |
msgid "The WP Cerber security plugin is now active"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
+
#: ../cerber-load.php:4181 ../cerber-load.php:5157
|
1498 |
msgid "WP Cerber is now active and has started protecting your site"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
+
#: ../cerber-load.php:4188
|
1502 |
msgid "New Custom login URL"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
+
#: ../cerber-load.php:4192 ../cerber-load.php:4193
|
1506 |
msgid "A new activity has been recorded"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
+
#: ../cerber-load.php:4198
|
1510 |
msgid "Weekly report"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: ../cerber-load.php:4201 ../cerber-load.php:4211
|
1514 |
msgid "To change reporting settings visit"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
+
#: ../cerber-load.php:4208
|
1518 |
msgid "Scanner Report"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
+
#: ../cerber-load.php:4234
|
1522 |
msgid "Your login page:"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
+
#: ../cerber-load.php:4238
|
1526 |
msgid "Your license is valid until"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
+
#: ../cerber-load.php:4241
|
1530 |
msgid "This message was sent by"
|
1531 |
msgstr ""
|
1532 |
|
1533 |
+
#: ../cerber-load.php:4262
|
1534 |
#, php-format
|
1535 |
msgid "Your last sign-in was %s from %s"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
+
#: ../cerber-load.php:4332
|
1539 |
msgid "Weekly Report"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
+
#: ../cerber-load.php:4344
|
1543 |
msgid "Activity details"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
+
#: ../cerber-load.php:4358
|
1547 |
msgid "Attempts to log in with non-existing usernames"
|
1548 |
msgstr ""
|
1549 |
|
1550 |
+
#: ../cerber-load.php:4860 ../cerber-users.php:970
|
1551 |
msgid "User"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
+
#: ../cerber-load.php:4864
|
1555 |
msgid "Username used"
|
1556 |
msgstr ""
|
1557 |
|
1558 |
+
#: ../cerber-load.php:4868
|
1559 |
msgid "Search string"
|
1560 |
msgstr ""
|
1561 |
|
1562 |
+
#: ../cerber-load.php:4889
|
1563 |
msgid "To delete the alert, click here"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
+
#: ../cerber-load.php:5107
|
1567 |
#, php-format
|
1568 |
msgid "The WP Cerber requires PHP %s or higher. You are running"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
+
#: ../cerber-load.php:5111
|
1572 |
#, php-format
|
1573 |
msgid "The WP Cerber requires WordPress %s or higher. You are running"
|
1574 |
msgstr ""
|
1575 |
|
1576 |
+
#: ../cerber-load.php:5121
|
1577 |
msgid "Can't activate WP Cerber due to a database error."
|
1578 |
msgstr ""
|
1579 |
|
1580 |
+
#: ../cerber-load.php:5158
|
1581 |
msgid "Your IP address is added to the"
|
1582 |
msgstr ""
|
1583 |
|
1584 |
+
#: ../cerber-load.php:5174
|
1585 |
msgid "Import settings"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
+
#: ../cerber-load.php:5175 ../nexus/cerber-nexus.php:64
|
1589 |
msgid "Enable slave mode"
|
1590 |
msgstr ""
|
1591 |
|
1592 |
+
#: ../cerber-users.php:10 ../cerber-users.php:439
|
1593 |
msgid "Two-Factor Authentication"
|
1594 |
msgstr ""
|
1595 |
|
1597 |
msgid "Determined by user role policies"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
+
#: ../cerber-users.php:19 ../cerber-users.php:447
|
1601 |
msgid "Always enabled"
|
1602 |
msgstr ""
|
1603 |
|
1647 |
msgid "Save All Changes"
|
1648 |
msgstr ""
|
1649 |
|
1650 |
+
#: ../cerber-users.php:401
|
1651 |
msgid "Block access to WordPress Dashboard"
|
1652 |
msgstr ""
|
1653 |
|
1654 |
+
#: ../cerber-users.php:406
|
1655 |
msgid "Hide Toolbar when viewing site"
|
1656 |
msgstr ""
|
1657 |
|
1658 |
+
#: ../cerber-users.php:412
|
1659 |
msgid "Redirection rules"
|
1660 |
msgstr ""
|
1661 |
|
1662 |
+
#: ../cerber-users.php:416
|
1663 |
msgid "Redirect user after login"
|
1664 |
msgstr ""
|
1665 |
|
1666 |
+
#: ../cerber-users.php:421
|
1667 |
msgid "Redirect user after logout"
|
1668 |
msgstr ""
|
1669 |
|
1670 |
+
#: ../cerber-users.php:432 ../settings.php:557
|
1671 |
msgid "User session expiration time"
|
1672 |
msgstr ""
|
1673 |
|
1674 |
+
#: ../cerber-users.php:443
|
1675 |
msgid "Two-factor authentication"
|
1676 |
msgstr ""
|
1677 |
|
1678 |
+
#: ../cerber-users.php:448
|
1679 |
msgid "Advanced mode"
|
1680 |
msgstr ""
|
1681 |
|
1682 |
+
#: ../cerber-users.php:452
|
1683 |
msgid "Enforce two-factor authentication if any of the following conditions is true"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
+
#: ../cerber-users.php:458
|
1687 |
msgid "Login from a different country"
|
1688 |
msgstr ""
|
1689 |
|
1690 |
+
#: ../cerber-users.php:464
|
1691 |
msgid "Login from a different network Class C"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
+
#: ../cerber-users.php:470
|
1695 |
msgid "Login from a different IP address"
|
1696 |
msgstr ""
|
1697 |
|
1698 |
+
#: ../cerber-users.php:476
|
1699 |
msgid "Using a different browser or device"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
+
#: ../cerber-users.php:482
|
1703 |
msgid "Enforce two-factor authentication with fixed intervals"
|
1704 |
msgstr ""
|
1705 |
|
1706 |
+
#: ../cerber-users.php:488
|
1707 |
msgid "Regular time intervals (days)"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
+
#: ../cerber-users.php:490
|
1711 |
msgid "days interval"
|
1712 |
msgstr ""
|
1713 |
|
1714 |
+
#: ../cerber-users.php:495
|
1715 |
msgid "Fixed number of logins"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
+
#: ../cerber-users.php:497
|
1719 |
msgid "number of logins"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
+
#: ../cerber-users.php:539
|
1723 |
msgid "Policies have been updated"
|
1724 |
msgstr ""
|
1725 |
|
1726 |
+
#: ../cerber-users.php:613
|
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:943
|
1734 |
msgid "WP Cerber Personal Data Eraser"
|
1735 |
msgstr ""
|
1736 |
|
1737 |
+
#: ../cerber-users.php:972
|
1738 |
msgid "Created"
|
1739 |
msgstr ""
|
1740 |
|
1741 |
+
#: ../cerber-users.php:993
|
1742 |
msgid "Terminate session"
|
1743 |
msgstr ""
|
1744 |
|
1745 |
+
#: ../cerber-users.php:994
|
1746 |
msgid "Block user"
|
1747 |
msgstr ""
|
1748 |
|
1749 |
+
#: ../cerber-users.php:1062 ../nexus/cerber-slave-list.php:244
|
1750 |
msgid "Search results for:"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
+
#: ../cerber-users.php:1104
|
1754 |
msgid "Profile"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
+
#: ../cerber-users.php:1117
|
1758 |
msgid "All Logins"
|
1759 |
msgstr ""
|
1760 |
|
1761 |
+
#: ../cerber-users.php:1118
|
1762 |
msgid "User Activity"
|
1763 |
msgstr ""
|
1764 |
|
1765 |
+
#: ../cerber-users.php:1164
|
1766 |
msgid "Terminate"
|
1767 |
msgstr ""
|
1768 |
|
1820 |
msgid "Limit"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
+
#: ../settings.php:147
|
1824 |
msgid "Lockout duration"
|
1825 |
msgstr ""
|
1826 |
|
1827 |
+
#: ../settings.php:148 ../settings.php:249
|
1828 |
msgid "minutes"
|
1829 |
msgstr ""
|
1830 |
|
1832 |
msgid "Aggressive lockout"
|
1833 |
msgstr ""
|
1834 |
|
1835 |
+
#: ../settings.php:155 ../settings.php:501 ../settings.php:701
|
1836 |
msgid "Use White IP Access List"
|
1837 |
msgstr ""
|
1838 |
|
1950 |
msgid "Threshold"
|
1951 |
msgstr ""
|
1952 |
|
1953 |
+
#: ../settings.php:248 ../cerber-scanner.php:3967
|
1954 |
msgid "Duration"
|
1955 |
msgstr ""
|
1956 |
|
1963 |
msgstr ""
|
1964 |
|
1965 |
#: ../settings.php:270 ../settings.php:276 ../settings.php:789 ../settings.php:
|
1966 |
+
#: 795 ../settings.php:865 ../settings.php:1056
|
1967 |
msgid "days"
|
1968 |
msgstr ""
|
1969 |
|
1970 |
+
#: ../settings.php:275 ../settings.php:794
|
1971 |
msgid "Keep log records of logged in users for"
|
1972 |
msgstr ""
|
1973 |
|
2174 |
msgid "Do not apply these policy to the IP addresses in the White IP Access List"
|
2175 |
msgstr ""
|
2176 |
|
2177 |
+
#: ../settings.php:512 ../settings.php:1423
|
2178 |
msgid "Only registered and logged in users are allowed to view this website"
|
2179 |
msgstr ""
|
2180 |
|
2224 |
msgstr ""
|
2225 |
|
2226 |
#: ../settings.php:558
|
2227 |
+
msgid "minutes (leave empty to use the default WordPress value)"
|
2228 |
msgstr ""
|
2229 |
|
2230 |
#: ../settings.php:564
|
2289 |
msgid "Lockout notifications"
|
2290 |
msgstr ""
|
2291 |
|
2292 |
+
#: ../settings.php:628 ../settings.php:675 ../settings.php:920
|
2293 |
msgid "Email Address"
|
2294 |
msgstr ""
|
2295 |
|
2296 |
+
#: ../settings.php:629 ../settings.php:677 ../settings.php:760 ../settings.php:922
|
2297 |
msgid "Use comma to specify multiple values"
|
2298 |
msgstr ""
|
2299 |
|
2310 |
msgid "notifications are allowed per hour (0 means unlimited)"
|
2311 |
msgstr ""
|
2312 |
|
2313 |
+
#: ../settings.php:641
|
2314 |
msgid "New version is available"
|
2315 |
msgstr ""
|
2316 |
|
2317 |
+
#: ../settings.php:647
|
2318 |
msgid "Push notifications"
|
2319 |
msgstr ""
|
2320 |
|
2321 |
+
#: ../settings.php:648
|
2322 |
msgid "Get notified instantly with mobile and desktop notifications"
|
2323 |
msgstr ""
|
2324 |
|
2325 |
+
#: ../settings.php:652
|
2326 |
msgid "Pushbullet access token"
|
2327 |
msgstr ""
|
2328 |
|
2329 |
+
#: ../settings.php:655
|
2330 |
msgid "Pushbullet device"
|
2331 |
msgstr ""
|
2332 |
|
2333 |
+
#: ../settings.php:662
|
2334 |
msgid "Weekly reports"
|
2335 |
msgstr ""
|
2336 |
|
2337 |
+
#: ../settings.php:663
|
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:666
|
2344 |
msgid "Enable reporting"
|
2345 |
msgstr ""
|
2346 |
|
2347 |
+
#: ../settings.php:670
|
2348 |
msgid "Send reports on"
|
2349 |
msgstr ""
|
2350 |
|
2351 |
+
#: ../settings.php:676 ../settings.php:921
|
2352 |
msgid "if empty, the email addresses from the notification settings will be used"
|
2353 |
msgstr ""
|
2354 |
|
2355 |
+
#: ../settings.php:687
|
2356 |
msgid "Traffic Inspection"
|
2357 |
msgstr ""
|
2358 |
|
2359 |
+
#: ../settings.php:688
|
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:692
|
2366 |
msgid "Enable traffic inspection"
|
2367 |
msgstr ""
|
2368 |
|
2369 |
+
#: ../settings.php:696 ../settings.php:724
|
2370 |
msgid "Maximum compatibility"
|
2371 |
msgstr ""
|
2372 |
|
2373 |
+
#: ../settings.php:697 ../settings.php:725
|
2374 |
msgid "Maximum security"
|
2375 |
msgstr ""
|
2376 |
|
2377 |
+
#: ../settings.php:705
|
2378 |
msgid "Request whitelist"
|
2379 |
msgstr ""
|
2380 |
|
2381 |
+
#: ../settings.php:709
|
2382 |
msgid ""
|
2383 |
"Enter a request URI to exclude the request from inspection. One item per "
|
2384 |
"line."
|
2385 |
msgstr ""
|
2386 |
|
2387 |
+
#: ../settings.php:709
|
2388 |
msgid "To specify a REGEX pattern, enclose a whole line in two braces."
|
2389 |
msgstr ""
|
2390 |
|
2391 |
+
#: ../settings.php:715
|
2392 |
msgid "Erroneous Request Shielding"
|
2393 |
msgstr ""
|
2394 |
|
2395 |
+
#: ../settings.php:717
|
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:720
|
2402 |
msgid "Enable error shielding"
|
2403 |
msgstr ""
|
2404 |
|
2405 |
+
#: ../settings.php:729
|
2406 |
msgid "Ignore logged in users"
|
2407 |
msgstr ""
|
2408 |
|
2409 |
+
#: ../settings.php:736
|
2410 |
msgid "Traffic Logging"
|
2411 |
msgstr ""
|
2412 |
|
2413 |
+
#: ../settings.php:737
|
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:741
|
2420 |
msgid "Logging mode"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
+
#: ../settings.php:744
|
2424 |
msgid "Logging disabled"
|
2425 |
msgstr ""
|
2426 |
|
2427 |
+
#: ../settings.php:745
|
2428 |
msgid "Smart"
|
2429 |
msgstr ""
|
2430 |
|
2431 |
+
#: ../settings.php:746
|
2432 |
msgid "All traffic"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
+
#: ../settings.php:750
|
2436 |
msgid "Ignore crawlers"
|
2437 |
msgstr ""
|
2438 |
|
2439 |
+
#: ../settings.php:754
|
2440 |
msgid "Save request fields"
|
2441 |
msgstr ""
|
2442 |
|
2443 |
+
#: ../settings.php:758
|
2444 |
msgid "Mask these form fields"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
+
#: ../settings.php:765
|
2448 |
msgid "Save request headers"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
+
#: ../settings.php:770
|
2452 |
msgid "Save $_SERVER"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
+
#: ../settings.php:774
|
2456 |
msgid "Save request cookies"
|
2457 |
msgstr ""
|
2458 |
|
2459 |
+
#: ../settings.php:778
|
2460 |
msgid "Save software errors"
|
2461 |
msgstr ""
|
2462 |
|
2463 |
+
#: ../settings.php:782
|
2464 |
msgid "Page generation time threshold"
|
2465 |
msgstr ""
|
2466 |
|
2467 |
+
#: ../settings.php:783
|
2468 |
msgid "milliseconds"
|
2469 |
msgstr ""
|
2470 |
|
2471 |
+
#: ../settings.php:803
|
2472 |
msgid "Scanner settings"
|
2473 |
msgstr ""
|
2474 |
|
2475 |
+
#: ../settings.php:804
|
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:808
|
2482 |
msgid "Custom signatures"
|
2483 |
msgstr ""
|
2484 |
|
2485 |
+
#: ../settings.php:812
|
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:815
|
2492 |
msgid "Unwanted file extensions"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
+
#: ../settings.php:819
|
2496 |
msgid ""
|
2497 |
"Specify file extensions to search for. Full scan only. Use comma to separate "
|
2498 |
"items."
|
2499 |
msgstr ""
|
2500 |
|
2501 |
+
#: ../settings.php:822
|
2502 |
msgid "Directories to exclude"
|
2503 |
msgstr ""
|
2504 |
|
2505 |
+
#: ../settings.php:826
|
2506 |
msgid "Specify directories to exclude from scanning. One directory per line."
|
2507 |
msgstr ""
|
2508 |
|
2509 |
+
#: ../settings.php:829
|
2510 |
msgid "Monitor new files"
|
2511 |
msgstr ""
|
2512 |
|
2513 |
+
#: ../settings.php:833 ../settings.php:842
|
2514 |
msgid "Executable files"
|
2515 |
msgstr ""
|
2516 |
|
2517 |
+
#: ../settings.php:834 ../settings.php:843
|
2518 |
msgid "All files"
|
2519 |
msgstr ""
|
2520 |
|
2521 |
+
#: ../settings.php:838
|
2522 |
msgid "Monitor modified files"
|
2523 |
msgstr ""
|
2524 |
|
2525 |
+
#: ../settings.php:847
|
2526 |
+
msgid "Change file permissions when necessary"
|
2527 |
+
msgstr ""
|
2528 |
+
|
2529 |
+
#: ../settings.php:851
|
2530 |
msgid "Scan temporary directory"
|
2531 |
msgstr ""
|
2532 |
|
2533 |
+
#: ../settings.php:855
|
2534 |
msgid "Scan session directory"
|
2535 |
msgstr ""
|
2536 |
|
2537 |
+
#: ../settings.php:859 ../settings.php:1161 ../settings.php:1188
|
2538 |
msgid "Enable diagnostic logging"
|
2539 |
msgstr ""
|
2540 |
|
2541 |
+
#: ../settings.php:863
|
2542 |
msgid "Delete quarantined files after"
|
2543 |
msgstr ""
|
2544 |
|
2545 |
+
#: ../settings.php:872
|
2546 |
msgid "Automated recurring scan schedule"
|
2547 |
msgstr ""
|
2548 |
|
2549 |
+
#: ../settings.php:873
|
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:877
|
2556 |
msgid "Launch Quick Scan"
|
2557 |
msgstr ""
|
2558 |
|
2559 |
+
#: ../settings.php:882
|
2560 |
msgid "Launch Full Scan"
|
2561 |
msgstr ""
|
2562 |
|
2563 |
+
#: ../settings.php:889
|
2564 |
msgid "Scan results reporting"
|
2565 |
msgstr ""
|
2566 |
|
2567 |
+
#: ../settings.php:890
|
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:894
|
2574 |
msgid "Report an issue if any of the following is true"
|
2575 |
msgstr ""
|
2576 |
|
2577 |
+
#: ../settings.php:897 ../settings.php:943
|
2578 |
msgid "Low severity"
|
2579 |
msgstr ""
|
2580 |
|
2581 |
+
#: ../settings.php:898 ../settings.php:944
|
2582 |
msgid "Medium severity"
|
2583 |
msgstr ""
|
2584 |
|
2585 |
+
#: ../settings.php:899 ../settings.php:945
|
2586 |
msgid "High severity"
|
2587 |
msgstr ""
|
2588 |
|
2589 |
+
#: ../settings.php:903
|
2590 |
msgid "Send email report"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
+
#: ../settings.php:906
|
2594 |
msgid "After every scan"
|
2595 |
msgstr ""
|
2596 |
|
2597 |
+
#: ../settings.php:907
|
2598 |
msgid "If any changes in scan results occurred"
|
2599 |
msgstr ""
|
2600 |
|
2601 |
+
#: ../settings.php:908
|
2602 |
msgid "If new issues found"
|
2603 |
msgstr ""
|
2604 |
|
2605 |
+
#: ../settings.php:912
|
2606 |
msgid "Include file sizes"
|
2607 |
msgstr ""
|
2608 |
|
2609 |
+
#: ../settings.php:916
|
2610 |
msgid "Include scan errors"
|
2611 |
msgstr ""
|
2612 |
|
2613 |
+
#: ../settings.php:931
|
2614 |
msgid "Automatic cleanup of malware and suspicious files"
|
2615 |
msgstr ""
|
2616 |
|
2617 |
+
#: ../settings.php:932
|
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:936
|
2624 |
msgid "Delete unattended files"
|
2625 |
msgstr ""
|
2626 |
|
2627 |
+
#: ../settings.php:940
|
2628 |
msgid "Files in the uploads folder"
|
2629 |
msgstr ""
|
2630 |
|
2631 |
+
#: ../settings.php:949
|
2632 |
msgid "Files with unwanted extensions"
|
2633 |
msgstr ""
|
2634 |
|
2635 |
+
#: ../settings.php:955
|
2636 |
msgid "Automatic recovery of modified and infected files"
|
2637 |
msgstr ""
|
2638 |
|
2639 |
+
#: ../settings.php:958
|
2640 |
msgid "Recover WordPress files"
|
2641 |
msgstr ""
|
2642 |
|
2643 |
+
#: ../settings.php:962
|
2644 |
msgid "Recover plugins files"
|
2645 |
msgstr ""
|
2646 |
|
2647 |
+
#: ../settings.php:968
|
2648 |
msgid "Exclusions"
|
2649 |
msgstr ""
|
2650 |
|
2651 |
+
#: ../settings.php:969
|
2652 |
msgid "These files will never be deleted during automatic cleanup."
|
2653 |
msgstr ""
|
2654 |
|
2655 |
+
#: ../settings.php:972
|
2656 |
msgid "Files in the temporary directory"
|
2657 |
msgstr ""
|
2658 |
|
2659 |
+
#: ../settings.php:976
|
2660 |
msgid "Files in the sessions directory"
|
2661 |
msgstr ""
|
2662 |
|
2663 |
+
#: ../settings.php:980
|
2664 |
msgid "Files in these directories"
|
2665 |
msgstr ""
|
2666 |
|
2667 |
+
#: ../settings.php:984
|
2668 |
msgid "Use absolute paths. One item per line."
|
2669 |
msgstr ""
|
2670 |
|
2671 |
+
#: ../settings.php:987
|
2672 |
msgid "Files with these extensions"
|
2673 |
msgstr ""
|
2674 |
|
2675 |
+
#: ../settings.php:991
|
2676 |
msgid "Use comma to separate items."
|
2677 |
msgstr ""
|
2678 |
|
2679 |
+
#: ../settings.php:998
|
2680 |
msgid "Cerber anti-spam engine"
|
2681 |
msgstr ""
|
2682 |
|
2683 |
+
#: ../settings.php:999
|
2684 |
msgid "Spam protection for comment, registration and contact forms on a website"
|
2685 |
msgstr ""
|
2686 |
|
2687 |
+
#: ../settings.php:1003
|
2688 |
msgid "Comment form"
|
2689 |
msgstr ""
|
2690 |
|
2691 |
+
#: ../settings.php:1004
|
2692 |
msgid "Protect comment form with bot detection engine"
|
2693 |
msgstr ""
|
2694 |
|
2695 |
+
#: ../settings.php:1008 ../settings.php:1080
|
2696 |
msgid "Registration form"
|
2697 |
msgstr ""
|
2698 |
|
2699 |
+
#: ../settings.php:1009
|
2700 |
msgid "Protect registration form with bot detection engine"
|
2701 |
msgstr ""
|
2702 |
|
2703 |
+
#: ../settings.php:1013
|
2704 |
msgid "Other forms"
|
2705 |
msgstr ""
|
2706 |
|
2707 |
+
#: ../settings.php:1014
|
2708 |
msgid "Protect all forms on the website with bot detection engine"
|
2709 |
msgstr ""
|
2710 |
|
2711 |
+
#: ../settings.php:1020
|
2712 |
msgid "Adjust anti-spam engine"
|
2713 |
msgstr ""
|
2714 |
|
2715 |
+
#: ../settings.php:1021
|
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:1024
|
2722 |
msgid "Safe mode"
|
2723 |
msgstr ""
|
2724 |
|
2725 |
+
#: ../settings.php:1025
|
2726 |
msgid "Use less restrictive policies (allow AJAX)"
|
2727 |
msgstr ""
|
2728 |
|
2729 |
+
#: ../settings.php:1030
|
2730 |
msgid "Disable bot detection engine for logged in users"
|
2731 |
msgstr ""
|
2732 |
|
2733 |
+
#: ../settings.php:1034
|
2734 |
msgid "Query whitelist"
|
2735 |
msgstr ""
|
2736 |
|
2737 |
+
#: ../settings.php:1035
|
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:1044
|
2744 |
msgid "Comment processing"
|
2745 |
msgstr ""
|
2746 |
|
2747 |
+
#: ../settings.php:1045
|
2748 |
msgid "How the plugin processes comments submitted through the standard comment form"
|
2749 |
msgstr ""
|
2750 |
|
2751 |
+
#: ../settings.php:1048
|
2752 |
msgid "If a spam comment detected"
|
2753 |
msgstr ""
|
2754 |
|
2755 |
+
#: ../settings.php:1050
|
2756 |
msgid "Deny it completely"
|
2757 |
msgstr ""
|
2758 |
|
2759 |
+
#: ../settings.php:1050
|
2760 |
msgid "Mark it as spam"
|
2761 |
msgstr ""
|
2762 |
|
2763 |
+
#: ../settings.php:1053
|
2764 |
msgid "Trash spam comments"
|
2765 |
msgstr ""
|
2766 |
|
2767 |
+
#: ../settings.php:1055
|
2768 |
msgid "Move spam comments to trash after"
|
2769 |
msgstr ""
|
2770 |
|
2771 |
+
#: ../settings.php:1062
|
2772 |
msgid "reCAPTCHA settings"
|
2773 |
msgstr ""
|
2774 |
|
2775 |
+
#: ../settings.php:1063
|
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:1067
|
2782 |
msgid "Site key"
|
2783 |
msgstr ""
|
2784 |
|
2785 |
+
#: ../settings.php:1071
|
2786 |
msgid "Secret key"
|
2787 |
msgstr ""
|
2788 |
|
2789 |
+
#: ../settings.php:1075
|
2790 |
msgid "Invisible reCAPTCHA"
|
2791 |
msgstr ""
|
2792 |
|
2793 |
+
#: ../settings.php:1076
|
2794 |
msgid "Enable invisible reCAPTCHA"
|
2795 |
msgstr ""
|
2796 |
|
2797 |
+
#: ../settings.php:1076
|
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:1081
|
2804 |
msgid "Enable reCAPTCHA for WordPress registration form"
|
2805 |
msgstr ""
|
2806 |
|
2807 |
+
#: ../settings.php:1086
|
2808 |
msgid "Enable reCAPTCHA for WooCommerce registration form"
|
2809 |
msgstr ""
|
2810 |
|
2811 |
+
#: ../settings.php:1090
|
2812 |
msgid "Lost password form"
|
2813 |
msgstr ""
|
2814 |
|
2815 |
+
#: ../settings.php:1091
|
2816 |
msgid "Enable reCAPTCHA for WordPress lost password form"
|
2817 |
msgstr ""
|
2818 |
|
2819 |
+
#: ../settings.php:1096
|
2820 |
msgid "Enable reCAPTCHA for WooCommerce lost password form"
|
2821 |
msgstr ""
|
2822 |
|
2823 |
+
#: ../settings.php:1100
|
2824 |
msgid "Login form"
|
2825 |
msgstr ""
|
2826 |
|
2827 |
+
#: ../settings.php:1101
|
2828 |
msgid "Enable reCAPTCHA for WordPress login form"
|
2829 |
msgstr ""
|
2830 |
|
2831 |
+
#: ../settings.php:1106
|
2832 |
msgid "Enable reCAPTCHA for WooCommerce login form"
|
2833 |
msgstr ""
|
2834 |
|
2835 |
+
#: ../settings.php:1111
|
2836 |
msgid "Enable reCAPTCHA for WordPress comment form"
|
2837 |
msgstr ""
|
2838 |
|
2839 |
+
#: ../settings.php:1116
|
2840 |
msgid "Disable reCAPTCHA for logged in users"
|
2841 |
msgstr ""
|
2842 |
|
2843 |
+
#: ../settings.php:1120
|
2844 |
msgid "Limit attempts"
|
2845 |
msgstr ""
|
2846 |
|
2847 |
+
#: ../settings.php:1121
|
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:1128
|
2853 |
msgid "Master settings"
|
2854 |
msgstr ""
|
2855 |
|
2856 |
+
#: ../settings.php:1136
|
2857 |
msgid "Return to the website list"
|
2858 |
msgstr ""
|
2859 |
|
2860 |
+
#: ../settings.php:1140
|
2861 |
msgid "Show \"Switched to\" notification"
|
2862 |
msgstr ""
|
2863 |
|
2864 |
+
#: ../settings.php:1144
|
2865 |
msgid "Add @ site to the page title"
|
2866 |
msgstr ""
|
2867 |
|
2868 |
+
#: ../settings.php:1148
|
2869 |
msgid "Use master language"
|
2870 |
msgstr ""
|
2871 |
|
2872 |
+
#: ../settings.php:1171
|
2873 |
msgid "Limit access by IP address"
|
2874 |
msgstr ""
|
2875 |
|
2876 |
+
#: ../settings.php:1177
|
2877 |
msgid "Access to this website"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
+
#: ../settings.php:1180
|
2881 |
msgid "Full access mode"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
+
#: ../settings.php:1181
|
2885 |
msgid "Read-only mode"
|
2886 |
msgstr ""
|
2887 |
|
2888 |
+
#: ../settings.php:1201
|
2889 |
msgid "The full access mode requires the PRO version of WP Cerber"
|
2890 |
msgstr ""
|
2891 |
|
2892 |
+
#: ../settings.php:1269
|
2893 |
msgid "Any activity"
|
2894 |
msgstr ""
|
2895 |
|
3006 |
msgid "Download file"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
+
#: ../cerber-tools.php:43
|
3010 |
msgid "Import settings from the file"
|
3011 |
msgstr ""
|
3012 |
|
3013 |
+
#: ../cerber-tools.php:44
|
3014 |
msgid ""
|
3015 |
"When you click the button below, file will be uploaded and all existing "
|
3016 |
"settings will be overridden."
|
3017 |
msgstr ""
|
3018 |
|
3019 |
+
#: ../cerber-tools.php:45
|
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:50 ../cerber-scanner.php:4118
|
3033 |
msgid "Upload file"
|
3034 |
msgstr ""
|
3035 |
|
3036 |
+
#: ../cerber-tools.php:58
|
3037 |
+
msgid "Load entries"
|
3038 |
+
msgstr ""
|
3039 |
+
|
3040 |
+
#: ../cerber-tools.php:177
|
3041 |
msgid "No file was uploaded or file is corrupted"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
+
#: ../cerber-tools.php:216
|
3045 |
msgid "A database error occurred while importing access list entries"
|
3046 |
msgstr ""
|
3047 |
|
3048 |
+
#: ../cerber-tools.php:224
|
3049 |
msgid "Settings has imported successfully from"
|
3050 |
msgstr ""
|
3051 |
|
3052 |
+
#: ../cerber-tools.php:231
|
3053 |
msgid "Error while parsing file"
|
3054 |
msgstr ""
|
3055 |
|
3056 |
+
#: ../cerber-tools.php:319
|
3057 |
msgid "Unsubscribe"
|
3058 |
msgstr ""
|
3059 |
|
3125 |
msgid "Switch to"
|
3126 |
msgstr ""
|
3127 |
|
3128 |
+
#: ../nexus/cerber-slave-list.php:337 ../cerber-scanner.php:3983
|
3129 |
msgid "Vulnerabilities"
|
3130 |
msgstr ""
|
3131 |
|
3264 |
msgid "Active plugins and updates on"
|
3265 |
msgstr ""
|
3266 |
|
3267 |
+
#: ../nexus/cerber-nexus-slave.php:436
|
3268 |
msgid "Settings updated"
|
3269 |
msgstr ""
|
3270 |
|
3365 |
msgid "Ignore"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
+
#: ../cerber-scanner.php:1566
|
3369 |
msgid "Verified"
|
3370 |
msgstr ""
|
3371 |
|
3372 |
+
#: ../cerber-scanner.php:1572
|
3373 |
msgid "Vulnerability found"
|
3374 |
msgstr ""
|
3375 |
|
3376 |
+
#: ../cerber-scanner.php:1573
|
3377 |
msgid "Integrity data not found"
|
3378 |
msgstr ""
|
3379 |
|
3380 |
+
#: ../cerber-scanner.php:1574
|
3381 |
msgid "Unable to check the integrity of the plugin due to a network error"
|
3382 |
msgstr ""
|
3383 |
|
3384 |
+
#: ../cerber-scanner.php:1575
|
3385 |
msgid "Unable to check the integrity of WordPress files due to a network error"
|
3386 |
msgstr ""
|
3387 |
|
3388 |
+
#: ../cerber-scanner.php:1576
|
3389 |
msgid "Unable to check the integrity of the theme due to a network error"
|
3390 |
msgstr ""
|
3391 |
|
3392 |
+
#: ../cerber-scanner.php:1577
|
3393 |
msgid "Unable to check the integrity due to a DB error"
|
3394 |
msgstr ""
|
3395 |
|
3396 |
+
#: ../cerber-scanner.php:1579
|
3397 |
msgid "Local file doesn't exist"
|
3398 |
msgstr ""
|
3399 |
|
3400 |
+
#: ../cerber-scanner.php:1581
|
3401 |
msgid "Unable to process file"
|
3402 |
msgstr ""
|
3403 |
|
3404 |
+
#: ../cerber-scanner.php:1582 ../cerber-scanner.php:5184
|
3405 |
msgid "Unable to open file"
|
3406 |
msgstr ""
|
3407 |
|
3408 |
+
#: ../cerber-scanner.php:1584 ../cerber-scanner.php:3995
|
3409 |
msgid "Checksum mismatch"
|
3410 |
msgstr ""
|
3411 |
|
3412 |
+
#: ../cerber-scanner.php:1587
|
3413 |
msgid "Suspicious code found"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
+
#: ../cerber-scanner.php:1588
|
3417 |
msgid "Malicious code found"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
+
#: ../cerber-scanner.php:1589
|
3421 |
msgid "Unattended suspicious file"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
+
#: ../cerber-scanner.php:1590
|
3425 |
msgid "Executable code found"
|
3426 |
msgstr ""
|
3427 |
|
3428 |
+
#: ../cerber-scanner.php:1593 ../cerber-scanner.php:2823
|
3429 |
msgid "Suspicious directives found"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
+
#: ../cerber-scanner.php:1594
|
3433 |
msgid "Unwanted file extension"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
+
#: ../cerber-scanner.php:1596
|
3437 |
msgid "Content has been modified"
|
3438 |
msgstr ""
|
3439 |
|
3440 |
+
#: ../cerber-scanner.php:1597
|
3441 |
msgid "New file"
|
3442 |
msgstr ""
|
3443 |
|
3444 |
+
#: ../cerber-scanner.php:1599
|
3445 |
msgid "Unable to delete"
|
3446 |
msgstr ""
|
3447 |
|
3448 |
+
#: ../cerber-scanner.php:1600
|
3449 |
msgid "File deleted"
|
3450 |
msgstr ""
|
3451 |
|
3452 |
+
#: ../cerber-scanner.php:1601
|
3453 |
msgid "File recovered"
|
3454 |
msgstr ""
|
3455 |
|
3456 |
+
#: ../cerber-scanner.php:1621
|
3457 |
msgid "Every hour"
|
3458 |
msgstr ""
|
3459 |
|
3460 |
+
#: ../cerber-scanner.php:1622
|
3461 |
msgid "Every 3 hours"
|
3462 |
msgstr ""
|
3463 |
|
3464 |
+
#: ../cerber-scanner.php:1623
|
3465 |
msgid "Every 6 hours"
|
3466 |
msgstr ""
|
3467 |
|
3468 |
+
#: ../cerber-scanner.php:2643
|
3469 |
msgid "Custom signature found"
|
3470 |
msgstr ""
|
3471 |
|
3472 |
+
#: ../cerber-scanner.php:2818
|
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:2819
|
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:2820
|
3486 |
#, php-format
|
3487 |
msgid ""
|
3488 |
"It may remain after upgrading to a newer version of %s. It also may be a "
|
3490 |
"made (bespoke) plugin or theme."
|
3491 |
msgstr ""
|
3492 |
|
3493 |
+
#: ../cerber-scanner.php:2821
|
3494 |
msgid "Suspicious code instruction found"
|
3495 |
msgstr ""
|
3496 |
|
3497 |
+
#: ../cerber-scanner.php:2822
|
3498 |
msgid "Suspicious code signatures found"
|
3499 |
msgstr ""
|
3500 |
|
3501 |
+
#: ../cerber-scanner.php:2824
|
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 |
"has been tampered with."
|
3507 |
msgstr ""
|
3508 |
|
3509 |
+
#: ../cerber-scanner.php:2825
|
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:2826
|
3517 |
msgid "Please upload a reference ZIP archive"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
+
#: ../cerber-scanner.php:2827
|
3521 |
msgid "Resolve issue"
|
3522 |
msgstr ""
|
3523 |
|
3524 |
+
#: ../cerber-scanner.php:3871
|
3525 |
msgid "Preparing for the scan"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
+
#: ../cerber-scanner.php:3872
|
3529 |
msgid "Scanning folders for files"
|
3530 |
msgstr ""
|
3531 |
|
3532 |
+
#: ../cerber-scanner.php:3873
|
3533 |
msgid "Scanning the upload folder for files"
|
3534 |
msgstr ""
|
3535 |
|
3536 |
+
#: ../cerber-scanner.php:3874
|
3537 |
msgid "Scanning the temp folder for files"
|
3538 |
msgstr ""
|
3539 |
|
3540 |
+
#: ../cerber-scanner.php:3875
|
3541 |
msgid "Scanning the session folder for files"
|
3542 |
msgstr ""
|
3543 |
|
3544 |
+
#: ../cerber-scanner.php:3876
|
3545 |
msgid "Parsing the list of files"
|
3546 |
msgstr ""
|
3547 |
|
3548 |
+
#: ../cerber-scanner.php:3877
|
3549 |
msgid "Checking for new and modified files"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
+
#: ../cerber-scanner.php:3878
|
3553 |
msgid "Verifying the integrity of WordPress"
|
3554 |
msgstr ""
|
3555 |
|
3556 |
+
#: ../cerber-scanner.php:3879
|
3557 |
msgid "Recovering WordPress files"
|
3558 |
msgstr ""
|
3559 |
|
3560 |
+
#: ../cerber-scanner.php:3880
|
3561 |
msgid "Verifying the integrity of the plugins"
|
3562 |
msgstr ""
|
3563 |
|
3564 |
+
#: ../cerber-scanner.php:3881
|
3565 |
msgid "Recovering plugins files"
|
3566 |
msgstr ""
|
3567 |
|
3568 |
+
#: ../cerber-scanner.php:3882
|
3569 |
msgid "Verifying the integrity of the themes"
|
3570 |
msgstr ""
|
3571 |
|
3572 |
+
#: ../cerber-scanner.php:3883
|
3573 |
msgid "Searching for malicious code"
|
3574 |
msgstr ""
|
3575 |
|
3576 |
+
#: ../cerber-scanner.php:3884
|
3577 |
msgid "Finalizing the scan"
|
3578 |
msgstr ""
|
3579 |
|
3580 |
+
#: ../cerber-scanner.php:3959
|
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:5313
|
3646 |
msgid "Quick Scan Report"
|
3647 |
msgstr ""
|
3648 |
|
3649 |
+
#: ../cerber-scanner.php:5326
|
3650 |
msgid "Files scanned"
|
3651 |
msgstr ""
|
3652 |
|
3653 |
+
#: ../cerber-scanner.php:5411
|
3654 |
msgid "Deleted"
|
3655 |
msgstr ""
|
3656 |
|
3657 |
+
#: ../cerber-scanner.php:5415
|
3658 |
msgid "Recovered"
|
3659 |
msgstr ""
|
3660 |
|
3661 |
+
#: ../cerber-scanner.php:5464
|
3662 |
msgid "Automatically moved to quarantine"
|
3663 |
msgstr ""
|
3664 |
|
3665 |
+
#: ../cerber-scanner.php:5465
|
3666 |
msgid "Automatically deleted"
|
3667 |
msgstr ""
|
3668 |
|
3669 |
+
#: ../cerber-scanner.php:5468
|
3670 |
msgid "Automatically recovered"
|
3671 |
msgstr ""
|
3672 |
|
3673 |
+
#: ../cerber-scanner.php:5480
|
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 ""
|
nexus/cerber-nexus-slave.php
CHANGED
@@ -153,25 +153,10 @@ function nexus_slave_process() {
|
|
153 |
}
|
154 |
|
155 |
@ini_set( 'display_errors', 0 );
|
156 |
-
@set_time_limit( 180 );
|
157 |
-
@ini_set( 'max_execution_time', 180 );
|
158 |
@ignore_user_abort( true );
|
159 |
-
|
160 |
-
|
161 |
-
/*
|
162 |
-
if ( function_exists( 'cerber_mode' ) ) {
|
163 |
-
nexus_diag_log( '+++++++++++++++++++++++++++++++++++++' );
|
164 |
-
}
|
165 |
-
nexus_diag_log( 'CGM ' . cerber_get_mode() );
|
166 |
-
nexus_diag_log( 'CGS' . crb_get_settings( 'boot-mode' ) );
|
167 |
-
if (defined('CERBER_MODE')) {
|
168 |
-
nexus_diag_log( 'CONSTA! ' .CERBER_MODE);
|
169 |
-
}
|
170 |
-
nexus_diag_log('===='.print_r(get_included_files(),1));
|
171 |
-
|
172 |
-
//cerber_check_environment();
|
173 |
|
174 |
-
|
175 |
|
176 |
nexus_diag_log( 'Parsing request...' );
|
177 |
|
153 |
}
|
154 |
|
155 |
@ini_set( 'display_errors', 0 );
|
|
|
|
|
156 |
@ignore_user_abort( true );
|
157 |
+
crb_raise_limits();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
|
159 |
+
cerber_update_set( 'processing_master_request', 1, 0, false, time() + 120 );
|
160 |
|
161 |
nexus_diag_log( 'Parsing request...' );
|
162 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: security, malware scanner, antispam, firewall, limit login attempts, custo
|
|
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,13 @@ To get access to your dashboard you need to copy the WP Cerber Reset folder to t
|
|
329 |
|
330 |
|
331 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
|
333 |
= 8.6 =
|
334 |
* New: [An integration with the Cloudflare cloud-based firewall. It’s implemented as a special WP Cerber add-on.](https://wpcerber.com/cloudflare-add-on-wp-cerber/)
|
4 |
Requires at least: 4.9
|
5 |
Requires PHP: 5.6
|
6 |
Tested up to: 5.4
|
7 |
+
Stable tag: 8.6.3
|
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 |
+
= 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.
|
335 |
+
* Fixed: The access list IPv4 wildcard *.*.*.* doesn’t work (has no effect).
|
336 |
+
* Fixed: If the anti-spam query whitelist contains more than one entry, they do not work as expected.
|
337 |
+
* Fixed: Several settings fields are not properly escaped.
|
338 |
+
* [Read more](https://wpcerber.com/wp-cerber-security-8-6-3/)
|
339 |
|
340 |
= 8.6 =
|
341 |
* New: [An integration with the Cloudflare cloud-based firewall. It’s implemented as a special WP Cerber add-on.](https://wpcerber.com/cloudflare-add-on-wp-cerber/)
|
settings.php
CHANGED
@@ -142,10 +142,10 @@ function cerber_settings_config( $args = array() ) {
|
|
142 |
'title' => __( 'Limit', 'wp-cerber' ),
|
143 |
'type' => 'attempts',
|
144 |
),
|
145 |
-
'lockout'
|
|
|
146 |
'title' => __( 'Lockout duration', 'wp-cerber' ),
|
147 |
'label' => __( 'minutes', 'wp-cerber' ),
|
148 |
-
'size' => 3,
|
149 |
),
|
150 |
'aggressive' => array(
|
151 |
'title' => __( 'Aggressive lockout', 'wp-cerber' ),
|
@@ -233,21 +233,21 @@ function cerber_settings_config( $args = array() ) {
|
|
233 |
'name' => __( 'Citadel mode', 'wp-cerber' ),
|
234 |
'desc' => __( '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.', 'wp-cerber' ),
|
235 |
'fields' => array(
|
236 |
-
'citadel_on'
|
237 |
'title' => __( 'Enable authentication log monitoring', 'wp-cerber' ),
|
238 |
//'doclink' => 'https://wpcerber.com/only-logged-in-wordpress-users/',
|
239 |
'type' => 'checkbox',
|
240 |
'default' => 0,
|
241 |
),
|
242 |
'citadel' => array(
|
243 |
-
'title'
|
244 |
-
'type'
|
245 |
'enabler' => array( 'citadel_on' ),
|
246 |
),
|
247 |
'ciduration' => array(
|
248 |
-
'title'
|
249 |
-
'label'
|
250 |
-
'
|
251 |
'enabler' => array( 'citadel_on' ),
|
252 |
),
|
253 |
'cinotify' => array(
|
@@ -269,13 +269,13 @@ function cerber_settings_config( $args = array() ) {
|
|
269 |
'title' => __( 'Keep log records of not logged in visitors for', 'wp-cerber' ),
|
270 |
'label' => __( 'days', 'wp-cerber' ),
|
271 |
//'label' => __( 'days, not logged in visitors', 'wp-cerber' ),
|
272 |
-
'
|
273 |
),
|
274 |
'keeplog_auth' => array(
|
275 |
'title' => __( 'Keep log records of logged in users for', 'wp-cerber' ),
|
276 |
'label' => __( 'days', 'wp-cerber' ),
|
277 |
//'label' => __( 'days, logged in users', 'wp-cerber' ),
|
278 |
-
'
|
279 |
),
|
280 |
'cerberlab' => array(
|
281 |
'title' => __( 'Cerber Lab connection', 'wp-cerber' ),
|
@@ -555,10 +555,10 @@ function cerber_settings_config( $args = array() ) {
|
|
555 |
),
|
556 |
'auth_expire' => array(
|
557 |
'title' => __( 'User session expiration time', 'wp-cerber' ),
|
558 |
-
'label' => __( '
|
559 |
'default' => '',
|
560 |
'size' => 6,
|
561 |
-
'type' => '
|
562 |
),
|
563 |
'usersort' => array(
|
564 |
'title' => __( 'Sort users in dashboard', 'wp-cerber' ),
|
@@ -635,8 +635,7 @@ function cerber_settings_config( $args = array() ) {
|
|
635 |
'emailrate' => array(
|
636 |
'title' => __( 'Notification limit', 'wp-cerber' ),
|
637 |
'label' => __( 'notifications are allowed per hour (0 means unlimited)', 'wp-cerber' ),
|
638 |
-
'
|
639 |
-
'pattern' => '\d+',
|
640 |
),
|
641 |
'notify-new-ver' => array(
|
642 |
'title' => __( 'New version is available', 'wp-cerber' ),
|
@@ -782,16 +781,19 @@ function cerber_settings_config( $args = array() ) {
|
|
782 |
'tithreshold' => array(
|
783 |
'title' => __( 'Page generation time threshold', 'wp-cerber' ),
|
784 |
'label' => __( 'milliseconds', 'wp-cerber' ),
|
|
|
785 |
'size' => 4,
|
786 |
),
|
787 |
'tikeeprec' => array(
|
788 |
'title' => __( 'Keep log records of not logged in visitors for', 'wp-cerber' ),
|
789 |
'label' => __( 'days', 'wp-cerber' ),
|
|
|
790 |
'size' => 4,
|
791 |
),
|
792 |
'tikeeprec_auth' => array(
|
793 |
'title' => __( 'Keep log records of logged in users for', 'wp-cerber' ),
|
794 |
'label' => __( 'days', 'wp-cerber' ),
|
|
|
795 |
'size' => 4,
|
796 |
),
|
797 |
),
|
@@ -841,6 +843,10 @@ function cerber_settings_config( $args = array() ) {
|
|
841 |
2 => __( 'All files', 'wp-cerber' ),
|
842 |
)
|
843 |
),
|
|
|
|
|
|
|
|
|
844 |
'scan_tmp' => array(
|
845 |
'title' => __( 'Scan temporary directory', 'wp-cerber' ),
|
846 |
'type' => 'checkbox',
|
@@ -855,9 +861,8 @@ function cerber_settings_config( $args = array() ) {
|
|
855 |
),
|
856 |
'scan_qcleanup' => array(
|
857 |
'title' => __( 'Delete quarantined files after', 'wp-cerber' ),
|
858 |
-
'type' => '
|
859 |
'label' => __( 'days', 'wp-cerber' ),
|
860 |
-
'size' => 3
|
861 |
),
|
862 |
|
863 |
),
|
@@ -1046,10 +1051,9 @@ function cerber_settings_config( $args = array() ) {
|
|
1046 |
),
|
1047 |
'trashafter' => array(
|
1048 |
'title' => __( 'Trash spam comments', 'wp-cerber' ),
|
1049 |
-
'type' => '
|
1050 |
'enabled' => __( 'Move spam comments to trash after' ),
|
1051 |
'label' => __( 'days', 'wp-cerber' ),
|
1052 |
-
'size' => 3
|
1053 |
),
|
1054 |
)
|
1055 |
),
|
@@ -1508,11 +1512,12 @@ function cerber_get_defaults( $setting = null ) {
|
|
1508 |
'ds_4opts_acl' => 0,
|
1509 |
),
|
1510 |
CERBER_OPT_S => array(
|
1511 |
-
'scan_cpt' =>
|
1512 |
-
'scan_uext' =>
|
1513 |
-
'scan_exclude' =>
|
1514 |
'scan_inew' => '1',
|
1515 |
'scan_imod' => '1',
|
|
|
1516 |
'scan_tmp' => '1',
|
1517 |
'scan_sess' => '1',
|
1518 |
'scan_debug' => 0,
|
@@ -1763,16 +1768,17 @@ function crb_get_settings( $option = '', $purge_cache = false ) {
|
|
1763 |
|
1764 |
if ( ! isset( $united ) || $purge_cache ) {
|
1765 |
|
1766 |
-
$options
|
1767 |
-
$options[] = CERBER_CONFIG;
|
1768 |
$in = '("' . implode( '","', $options ) . '")';
|
1769 |
$united = array();
|
1770 |
|
1771 |
if ( is_multisite() ) {
|
1772 |
$sql = 'SELECT meta_value FROM ' . $wpdb->sitemeta . ' WHERE meta_key IN ' . $in;
|
|
|
1773 |
}
|
1774 |
else {
|
1775 |
$sql = 'SELECT option_value FROM ' . $wpdb->options . ' WHERE option_name IN ' . $in;
|
|
|
1776 |
}
|
1777 |
|
1778 |
$set = cerber_db_get_col( $sql );
|
@@ -1781,6 +1787,12 @@ function crb_get_settings( $option = '', $purge_cache = false ) {
|
|
1781 |
return false;
|
1782 |
}
|
1783 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1784 |
foreach ( $set as $item ) {
|
1785 |
if ( empty( $item ) ) {
|
1786 |
continue;
|
142 |
'title' => __( 'Limit', 'wp-cerber' ),
|
143 |
'type' => 'attempts',
|
144 |
),
|
145 |
+
'lockout' => array(
|
146 |
+
'type' => 'digits',
|
147 |
'title' => __( 'Lockout duration', 'wp-cerber' ),
|
148 |
'label' => __( 'minutes', 'wp-cerber' ),
|
|
|
149 |
),
|
150 |
'aggressive' => array(
|
151 |
'title' => __( 'Aggressive lockout', 'wp-cerber' ),
|
233 |
'name' => __( 'Citadel mode', 'wp-cerber' ),
|
234 |
'desc' => __( '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.', 'wp-cerber' ),
|
235 |
'fields' => array(
|
236 |
+
'citadel_on' => array(
|
237 |
'title' => __( 'Enable authentication log monitoring', 'wp-cerber' ),
|
238 |
//'doclink' => 'https://wpcerber.com/only-logged-in-wordpress-users/',
|
239 |
'type' => 'checkbox',
|
240 |
'default' => 0,
|
241 |
),
|
242 |
'citadel' => array(
|
243 |
+
'title' => __( 'Threshold', 'wp-cerber' ),
|
244 |
+
'type' => 'citadel',
|
245 |
'enabler' => array( 'citadel_on' ),
|
246 |
),
|
247 |
'ciduration' => array(
|
248 |
+
'title' => __( 'Duration', 'wp-cerber' ),
|
249 |
+
'label' => __( 'minutes', 'wp-cerber' ),
|
250 |
+
'type' => 'digits',
|
251 |
'enabler' => array( 'citadel_on' ),
|
252 |
),
|
253 |
'cinotify' => array(
|
269 |
'title' => __( 'Keep log records of not logged in visitors for', 'wp-cerber' ),
|
270 |
'label' => __( 'days', 'wp-cerber' ),
|
271 |
//'label' => __( 'days, not logged in visitors', 'wp-cerber' ),
|
272 |
+
'type' => 'digits'
|
273 |
),
|
274 |
'keeplog_auth' => array(
|
275 |
'title' => __( 'Keep log records of logged in users for', 'wp-cerber' ),
|
276 |
'label' => __( 'days', 'wp-cerber' ),
|
277 |
//'label' => __( 'days, logged in users', 'wp-cerber' ),
|
278 |
+
'type' => 'digits'
|
279 |
),
|
280 |
'cerberlab' => array(
|
281 |
'title' => __( 'Cerber Lab connection', 'wp-cerber' ),
|
555 |
),
|
556 |
'auth_expire' => array(
|
557 |
'title' => __( 'User session expiration time', 'wp-cerber' ),
|
558 |
+
'label' => __( 'minutes (leave empty to use the default WordPress value)', 'wp-cerber' ),
|
559 |
'default' => '',
|
560 |
'size' => 6,
|
561 |
+
'type' => 'digits',
|
562 |
),
|
563 |
'usersort' => array(
|
564 |
'title' => __( 'Sort users in dashboard', 'wp-cerber' ),
|
635 |
'emailrate' => array(
|
636 |
'title' => __( 'Notification limit', 'wp-cerber' ),
|
637 |
'label' => __( 'notifications are allowed per hour (0 means unlimited)', 'wp-cerber' ),
|
638 |
+
'type' => 'digits',
|
|
|
639 |
),
|
640 |
'notify-new-ver' => array(
|
641 |
'title' => __( 'New version is available', 'wp-cerber' ),
|
781 |
'tithreshold' => array(
|
782 |
'title' => __( 'Page generation time threshold', 'wp-cerber' ),
|
783 |
'label' => __( 'milliseconds', 'wp-cerber' ),
|
784 |
+
'type' => 'digits',
|
785 |
'size' => 4,
|
786 |
),
|
787 |
'tikeeprec' => array(
|
788 |
'title' => __( 'Keep log records of not logged in visitors for', 'wp-cerber' ),
|
789 |
'label' => __( 'days', 'wp-cerber' ),
|
790 |
+
'type' => 'digits',
|
791 |
'size' => 4,
|
792 |
),
|
793 |
'tikeeprec_auth' => array(
|
794 |
'title' => __( 'Keep log records of logged in users for', 'wp-cerber' ),
|
795 |
'label' => __( 'days', 'wp-cerber' ),
|
796 |
+
'type' => 'digits',
|
797 |
'size' => 4,
|
798 |
),
|
799 |
),
|
843 |
2 => __( 'All files', 'wp-cerber' ),
|
844 |
)
|
845 |
),
|
846 |
+
'scan_chmod' => array(
|
847 |
+
'title' => __( 'Change file permissions when necessary', 'wp-cerber' ),
|
848 |
+
'type' => 'checkbox',
|
849 |
+
),
|
850 |
'scan_tmp' => array(
|
851 |
'title' => __( 'Scan temporary directory', 'wp-cerber' ),
|
852 |
'type' => 'checkbox',
|
861 |
),
|
862 |
'scan_qcleanup' => array(
|
863 |
'title' => __( 'Delete quarantined files after', 'wp-cerber' ),
|
864 |
+
'type' => 'digits',
|
865 |
'label' => __( 'days', 'wp-cerber' ),
|
|
|
866 |
),
|
867 |
|
868 |
),
|
1051 |
),
|
1052 |
'trashafter' => array(
|
1053 |
'title' => __( 'Trash spam comments', 'wp-cerber' ),
|
1054 |
+
'type' => 'digits',
|
1055 |
'enabled' => __( 'Move spam comments to trash after' ),
|
1056 |
'label' => __( 'days', 'wp-cerber' ),
|
|
|
1057 |
),
|
1058 |
)
|
1059 |
),
|
1512 |
'ds_4opts_acl' => 0,
|
1513 |
),
|
1514 |
CERBER_OPT_S => array(
|
1515 |
+
'scan_cpt' => array(),
|
1516 |
+
'scan_uext' => array(),
|
1517 |
+
'scan_exclude' => array(),
|
1518 |
'scan_inew' => '1',
|
1519 |
'scan_imod' => '1',
|
1520 |
+
'scan_chmod' => 0,
|
1521 |
'scan_tmp' => '1',
|
1522 |
'scan_sess' => '1',
|
1523 |
'scan_debug' => 0,
|
1768 |
|
1769 |
if ( ! isset( $united ) || $purge_cache ) {
|
1770 |
|
1771 |
+
$options = cerber_get_setting_list();
|
|
|
1772 |
$in = '("' . implode( '","', $options ) . '")';
|
1773 |
$united = array();
|
1774 |
|
1775 |
if ( is_multisite() ) {
|
1776 |
$sql = 'SELECT meta_value FROM ' . $wpdb->sitemeta . ' WHERE meta_key IN ' . $in;
|
1777 |
+
$sql_new = 'SELECT meta_value FROM ' . $wpdb->sitemeta . ' WHERE meta_key = "' . CERBER_CONFIG . '"';
|
1778 |
}
|
1779 |
else {
|
1780 |
$sql = 'SELECT option_value FROM ' . $wpdb->options . ' WHERE option_name IN ' . $in;
|
1781 |
+
$sql_new = 'SELECT option_value FROM ' . $wpdb->options . ' WHERE option_name = "' . CERBER_CONFIG . '"';
|
1782 |
}
|
1783 |
|
1784 |
$set = cerber_db_get_col( $sql );
|
1787 |
return false;
|
1788 |
}
|
1789 |
|
1790 |
+
$set_new = cerber_db_get_var( $sql_new );
|
1791 |
+
|
1792 |
+
if ( $set_new ) {
|
1793 |
+
array_unshift( $set, $set_new );
|
1794 |
+
}
|
1795 |
+
|
1796 |
foreach ( $set as $item ) {
|
1797 |
if ( empty( $item ) ) {
|
1798 |
continue;
|
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() {
|
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.3
|
9 |
Text Domain: wp-cerber
|
10 |
Domain Path: /languages
|
11 |
Network: true
|
31 |
|
32 |
*/
|
33 |
|
34 |
+
define( 'CERBER_VER', '8.6.3' );
|
35 |
define( 'CERBER_PLUGIN_ID', 'wp-cerber/wp-cerber.php' );
|
36 |
|
37 |
function cerber_plugin_file() {
|