Version Description
Download this release
Release Info
Developer | Gioni |
Plugin | Cerber Security & Antispam |
Version | 9.3.3 |
Comparing to | |
See all releases |
Code changes from version 9.2.2 to 9.3.3
- admin/cerber-admin-settings.php +4 -4
- admin/cerber-dashboard.php +20 -20
- admin/cerber-tools.php +1 -1
- admin/cerber-users.php +1 -1
- cerber-2fa.php +9 -9
- cerber-common.php +40 -67
- cerber-lab.php +1 -2
- cerber-load.php +38 -34
- cerber-request.php +51 -25
- cerber-settings.php +5 -3
- changelog.txt +14 -3
- languages/wp-cerber.pot +217 -196
- readme.txt +13 -4
- wp-cerber.php +2 -2
admin/cerber-admin-settings.php
CHANGED
@@ -287,7 +287,7 @@ function cerber_field_show( $config ) {
|
|
287 |
}
|
288 |
|
289 |
if ( $placeholder ) {
|
290 |
-
$atts .= ' placeholder="' .
|
291 |
}
|
292 |
|
293 |
if ( isset( $config['disabled'] ) ) {
|
@@ -311,7 +311,7 @@ function cerber_field_show( $config ) {
|
|
311 |
}
|
312 |
}
|
313 |
|
314 |
-
$value =
|
315 |
|
316 |
$value = crb_format_field_value( $value, $config );
|
317 |
|
@@ -1319,7 +1319,7 @@ function crb_journaling( $data, $list ) {
|
|
1319 |
*
|
1320 |
* @return array|string
|
1321 |
*/
|
1322 |
-
function
|
1323 |
if ( is_array( $value ) ) {
|
1324 |
array_walk_recursive( $value, function ( &$element ) {
|
1325 |
$element = crb_escape( $element );
|
@@ -1333,7 +1333,7 @@ function crb_escape_attr( $value ) {
|
|
1333 |
}
|
1334 |
|
1335 |
/**
|
1336 |
-
*
|
1337 |
*
|
1338 |
* @param string $val
|
1339 |
*
|
287 |
}
|
288 |
|
289 |
if ( $placeholder ) {
|
290 |
+
$atts .= ' placeholder="' . crb_attr_escape( $placeholder ) . '" ';
|
291 |
}
|
292 |
|
293 |
if ( isset( $config['disabled'] ) ) {
|
311 |
}
|
312 |
}
|
313 |
|
314 |
+
$value = crb_attr_escape( $value );
|
315 |
|
316 |
$value = crb_format_field_value( $value, $config );
|
317 |
|
1319 |
*
|
1320 |
* @return array|string
|
1321 |
*/
|
1322 |
+
function crb_attr_escape( $value ) {
|
1323 |
if ( is_array( $value ) ) {
|
1324 |
array_walk_recursive( $value, function ( &$element ) {
|
1325 |
$element = crb_escape( $element );
|
1333 |
}
|
1334 |
|
1335 |
/**
|
1336 |
+
* Helper
|
1337 |
*
|
1338 |
* @param string $val
|
1339 |
*
|
admin/cerber-dashboard.php
CHANGED
@@ -213,6 +213,7 @@ function cerber_show_lockouts( $args = array(), $echo = true ) {
|
|
213 |
|
214 |
foreach ( $rows as $row ) {
|
215 |
$ip = '<a href="' . $base_url . '&filter_ip=' . $row->ip . '">' . $row->ip . '</a>';
|
|
|
216 |
|
217 |
$ip_info = cerber_get_ip_info( $row->ip, true );
|
218 |
if ( isset( $ip_info['hostname_html'] ) ) {
|
@@ -231,7 +232,7 @@ function cerber_show_lockouts( $args = array(), $echo = true ) {
|
|
231 |
$country = '';
|
232 |
}
|
233 |
|
234 |
-
$the_row = '<td>' . $ip . '</td><td>' . $hostname . $country . '</td><td>' . cerber_date( $row->block_until ) . '</td><td>' . $
|
235 |
|
236 |
if ( $controls ) {
|
237 |
$the_row .= '<td><a href="' . $remove_base . '&cerber_admin_do=lockdel&ip=' . esc_attr( $row->ip ) . '">' . __( 'Remove', 'wp-cerber' ) . '</a></td>';
|
@@ -712,8 +713,9 @@ function cerber_admin_request( $is_post = false ) {
|
|
712 |
switch ( $do ) {
|
713 |
case 'lockdel':
|
714 |
$err = '';
|
|
|
715 |
|
716 |
-
if (
|
717 |
if ( cerber_block_delete( $ip ) ) {
|
718 |
cerber_admin_message( sprintf( __( 'Lockout for %s was removed', 'wp-cerber' ), $ip ) );
|
719 |
}
|
@@ -722,7 +724,7 @@ function cerber_admin_request( $is_post = false ) {
|
|
722 |
}
|
723 |
}
|
724 |
else {
|
725 |
-
$err = 'An invalid IP address has specified.';
|
726 |
}
|
727 |
|
728 |
if ( $err ) {
|
@@ -1180,6 +1182,7 @@ function crb_admin_activity_nav_links( $context = '' ) {
|
|
1180 |
}
|
1181 |
|
1182 |
return crb_make_nav_links( $links, 'activity' );
|
|
|
1183 |
}
|
1184 |
|
1185 |
/**
|
@@ -1244,13 +1247,10 @@ function crb_make_nav_links( $link_list, $tab = 'activity', $class = '' ) {
|
|
1244 |
return '<div class="crb-tag-buttons ' . $class . '">' . $ret . '</div>';
|
1245 |
}
|
1246 |
|
1247 |
-
|
1248 |
-
*
|
1249 |
*
|
1250 |
-
* @param array $args
|
1251 |
-
* @param bool $echo
|
1252 |
*
|
1253 |
-
* @return string|void
|
1254 |
*/
|
1255 |
function cerber_show_activity( $args = array(), $echo = true ) {
|
1256 |
|
@@ -1441,6 +1441,8 @@ function cerber_show_activity( $args = array(), $echo = true ) {
|
|
1441 |
$table .= cerber_page_navi( $total, $per_page );
|
1442 |
}
|
1443 |
|
|
|
|
|
1444 |
if ( empty( $args['no_export'] ) ) {
|
1445 |
$export_link .= '<a class="button button-secondary cerber-button" href="' .
|
1446 |
cerber_admin_link_add( array(
|
@@ -1685,12 +1687,11 @@ function crb_admin_ip_cell( $ip, $ip_link = '', $text = '' ) {
|
|
1685 |
return $cache[ $ip ];
|
1686 |
}
|
1687 |
|
1688 |
-
$row = true;
|
1689 |
$acl = cerber_acl_check( $ip, '', 0, $row );
|
1690 |
|
1691 |
$tip = '';
|
1692 |
|
1693 |
-
if ( ! empty( $row
|
1694 |
$tip = $row->comments;
|
1695 |
}
|
1696 |
else {
|
@@ -1714,7 +1715,7 @@ function crb_admin_ip_cell( $ip, $ip_link = '', $text = '' ) {
|
|
1714 |
$ip = '<a href="' . $ip_link . '">' . $ip . '</a>';
|
1715 |
}
|
1716 |
|
1717 |
-
$cache[ $ip ] = '<div class="crb_css_table"><div><span class="crb_act_icon crb_ip_acl' . $acl . ' ' . $block . '" title="' .
|
1718 |
|
1719 |
return $cache[ $ip ];
|
1720 |
}
|
@@ -1770,10 +1771,9 @@ function crb_generate_ip_extra_view( $ip, $context = 'activity', $cache_only = f
|
|
1770 |
$ip_navs .= ' <a class="crb-button-tiny" href="' . cerber_admin_link( 'activity', array( 'filter_ip' => $ip ) ) . '">' . __( 'Check for activities', 'wp-cerber' ) . '</a>';
|
1771 |
}
|
1772 |
|
1773 |
-
$row = true;
|
1774 |
$acl = cerber_acl_check( $ip, '', 0, $row );
|
1775 |
|
1776 |
-
$comments =
|
1777 |
|
1778 |
$ip_status = '';
|
1779 |
|
@@ -2204,18 +2204,18 @@ function cerber_quick_w(){
|
|
2204 |
|
2205 |
echo '<tr class="with-padding"><td>' . __( 'Logged-in users', 'wp-cerber' ) . '</td><td><b><a href="' . $sess . '">' . $s_count . ' ' . _n( 'user', 'users', $s_count, 'wp-cerber' ) . '</a></b></td></tr>';
|
2206 |
|
2207 |
-
echo '<tr class="with-padding"><td>'
|
2208 |
-
echo '<tr><td>'
|
2209 |
-
|
2210 |
-
|
2211 |
-
$status = ( ! crb_get_settings( 'tienabled' ) ) ? '<span style="color: red;">'
|
2212 |
-
echo '<tr class="with-padding"><td>'
|
2213 |
|
2214 |
$lab = lab_lab();
|
2215 |
if ( $lab ) {
|
2216 |
$status = ( ! lab_is_cloud_ok() ) ? '<span style="color: red;">' . __( 'no connection', 'wp-cerber' ) . '</span>' : __( 'active', 'wp-cerber' );
|
2217 |
echo '<tr><td>Cloud Protection</td><td><b>' . $status . '</b></td></tr>';
|
2218 |
-
}
|
2219 |
|
2220 |
$s = '';
|
2221 |
$scan = cerber_get_scan();
|
213 |
|
214 |
foreach ( $rows as $row ) {
|
215 |
$ip = '<a href="' . $base_url . '&filter_ip=' . $row->ip . '">' . $row->ip . '</a>';
|
216 |
+
$reason = '<a href="' . $base_url . '&filter_set=1&filter_ip=' . $row->ip . '">' . $row->reason . '</a>';
|
217 |
|
218 |
$ip_info = cerber_get_ip_info( $row->ip, true );
|
219 |
if ( isset( $ip_info['hostname_html'] ) ) {
|
232 |
$country = '';
|
233 |
}
|
234 |
|
235 |
+
$the_row = '<td>' . $ip . '</td><td>' . $hostname . $country . '</td><td>' . cerber_date( $row->block_until ) . '</td><td>' . $reason . '</td>';
|
236 |
|
237 |
if ( $controls ) {
|
238 |
$the_row .= '<td><a href="' . $remove_base . '&cerber_admin_do=lockdel&ip=' . esc_attr( $row->ip ) . '">' . __( 'Remove', 'wp-cerber' ) . '</a></td>';
|
713 |
switch ( $do ) {
|
714 |
case 'lockdel':
|
715 |
$err = '';
|
716 |
+
$ip = crb_array_get( $get, 'ip' );
|
717 |
|
718 |
+
if ( cerber_is_ip_or_net( $ip ) ) {
|
719 |
if ( cerber_block_delete( $ip ) ) {
|
720 |
cerber_admin_message( sprintf( __( 'Lockout for %s was removed', 'wp-cerber' ), $ip ) );
|
721 |
}
|
724 |
}
|
725 |
}
|
726 |
else {
|
727 |
+
$err = 'An invalid IP address has been specified.';
|
728 |
}
|
729 |
|
730 |
if ( $err ) {
|
1182 |
}
|
1183 |
|
1184 |
return crb_make_nav_links( $links, 'activity' );
|
1185 |
+
|
1186 |
}
|
1187 |
|
1188 |
/**
|
1247 |
return '<div class="crb-tag-buttons ' . $class . '">' . $ret . '</div>';
|
1248 |
}
|
1249 |
|
1250 |
+
/*
|
1251 |
+
* Display activities in the WP Dashboard
|
1252 |
*
|
|
|
|
|
1253 |
*
|
|
|
1254 |
*/
|
1255 |
function cerber_show_activity( $args = array(), $echo = true ) {
|
1256 |
|
1441 |
$table .= cerber_page_navi( $total, $per_page );
|
1442 |
}
|
1443 |
|
1444 |
+
//$legend = '<p>'.sprintf(__('Showing last %d records from %d','wp-cerber'),count($rows),$total);
|
1445 |
+
|
1446 |
if ( empty( $args['no_export'] ) ) {
|
1447 |
$export_link .= '<a class="button button-secondary cerber-button" href="' .
|
1448 |
cerber_admin_link_add( array(
|
1687 |
return $cache[ $ip ];
|
1688 |
}
|
1689 |
|
|
|
1690 |
$acl = cerber_acl_check( $ip, '', 0, $row );
|
1691 |
|
1692 |
$tip = '';
|
1693 |
|
1694 |
+
if ( ! empty( $row ) ) {
|
1695 |
$tip = $row->comments;
|
1696 |
}
|
1697 |
else {
|
1715 |
$ip = '<a href="' . $ip_link . '">' . $ip . '</a>';
|
1716 |
}
|
1717 |
|
1718 |
+
$cache[ $ip ] = '<div class="crb_css_table"><div><span class="crb_act_icon crb_ip_acl' . $acl . ' ' . $block . '" title="' . crb_attr_escape( $tip ) . '"></span></div><div>' . $ip . $text . '</div></div>';
|
1719 |
|
1720 |
return $cache[ $ip ];
|
1721 |
}
|
1771 |
$ip_navs .= ' <a class="crb-button-tiny" href="' . cerber_admin_link( 'activity', array( 'filter_ip' => $ip ) ) . '">' . __( 'Check for activities', 'wp-cerber' ) . '</a>';
|
1772 |
}
|
1773 |
|
|
|
1774 |
$acl = cerber_acl_check( $ip, '', 0, $row );
|
1775 |
|
1776 |
+
$comments = ( $row ) ? crb_attr_escape( $row->comments ) : '';
|
1777 |
|
1778 |
$ip_status = '';
|
1779 |
|
2204 |
|
2205 |
echo '<tr class="with-padding"><td>' . __( 'Logged-in users', 'wp-cerber' ) . '</td><td><b><a href="' . $sess . '">' . $s_count . ' ' . _n( 'user', 'users', $s_count, 'wp-cerber' ) . '</a></b></td></tr>';
|
2206 |
|
2207 |
+
echo '<tr class="with-padding"><td>'.__('White IP Access List','wp-cerber').'</td><td><b><a href="'.$acl.'">'.$w_count.' '._n('entry','entries',$w_count,'wp-cerber').'</a></b></td></tr>';
|
2208 |
+
echo '<tr><td>'.__('Black IP Access List','wp-cerber').'</td><td><b><a href="'.$acl.'">'.$b_count.' '._n('entry','entries',$b_count,'wp-cerber').'</a></b></td></tr>';
|
2209 |
+
echo '<tr class="with-padding"><td>'.__('Citadel mode','wp-cerber').'</td><td><b>'.$citadel.'</b></td></tr>';
|
2210 |
+
|
2211 |
+
$status = ( ! crb_get_settings( 'tienabled' ) ) ? '<span style="color: red;">'.__('disabled','wp-cerber').'</span>' : __('enabled','wp-cerber');
|
2212 |
+
echo '<tr class="with-padding"><td>'.__('Traffic Inspector','wp-cerber').'</td><td><b>'.$status.'</b></td></tr>';
|
2213 |
|
2214 |
$lab = lab_lab();
|
2215 |
if ( $lab ) {
|
2216 |
$status = ( ! lab_is_cloud_ok() ) ? '<span style="color: red;">' . __( 'no connection', 'wp-cerber' ) . '</span>' : __( 'active', 'wp-cerber' );
|
2217 |
echo '<tr><td>Cloud Protection</td><td><b>' . $status . '</b></td></tr>';
|
2218 |
+
}
|
2219 |
|
2220 |
$s = '';
|
2221 |
$scan = cerber_get_scan();
|
admin/cerber-tools.php
CHANGED
@@ -486,7 +486,7 @@ function cerber_show_wp_diag(){
|
|
486 |
$opt = ( is_multisite() ) ? $wpdb->sitemeta : $wpdb->options;
|
487 |
|
488 |
$sys = array(
|
489 |
-
|
490 |
array( 'PHP version', phpversion() ),
|
491 |
//array( 'Server API', php_sapi_name() ),
|
492 |
array( 'Server API', PHP_SAPI ),
|
486 |
$opt = ( is_multisite() ) ? $wpdb->sitemeta : $wpdb->options;
|
487 |
|
488 |
$sys = array(
|
489 |
+
array( 'Web Server', $_SERVER['SERVER_SOFTWARE'] ),
|
490 |
array( 'PHP version', phpversion() ),
|
491 |
//array( 'Server API', php_sapi_name() ),
|
492 |
array( 'Server API', PHP_SAPI ),
|
admin/cerber-users.php
CHANGED
@@ -353,7 +353,7 @@ function crb_admin_role_form( $role_id, $values ) {
|
|
353 |
}
|
354 |
|
355 |
function crb_admin_form_field( $field, $name, $value, $id = '' ) {
|
356 |
-
$value =
|
357 |
$label = crb_array_get( $field, 'label' );
|
358 |
|
359 |
if ( ! $id ) {
|
353 |
}
|
354 |
|
355 |
function crb_admin_form_field( $field, $name, $value, $id = '' ) {
|
356 |
+
$value = crb_attr_escape( $value );
|
357 |
$label = crb_array_get( $field, 'label' );
|
358 |
|
359 |
if ( ! $id ) {
|
cerber-2fa.php
CHANGED
@@ -279,13 +279,13 @@ final class CRB_2FA {
|
|
279 |
}
|
280 |
}
|
281 |
|
282 |
-
// Check
|
283 |
-
if ( $twofactor['ip'] != cerber_get_remote_ip()
|
284 |
-
|| $twofactor['ua'] != sha1( crb_array_get( $_SERVER, 'HTTP_USER_AGENT', '' ) )
|
285 |
-
||
|
286 |
|
287 |
-
|
288 |
-
cerber_user_logout();
|
289 |
wp_redirect( get_home_url() );
|
290 |
|
291 |
exit;
|
@@ -308,9 +308,9 @@ final class CRB_2FA {
|
|
308 |
}
|
309 |
}
|
310 |
|
311 |
-
if ( $twofactor['attempts'] >
|
312 |
-
|
313 |
-
cerber_user_logout();
|
314 |
|
315 |
wp_redirect( get_home_url() );
|
316 |
exit;
|
279 |
}
|
280 |
}
|
281 |
|
282 |
+
// Check the context
|
283 |
+
if ( ( $sts = ( $twofactor['ip'] != cerber_get_remote_ip() ? 540 : 0 ) )
|
284 |
+
|| ( $sts = ( $twofactor['ua'] != sha1( crb_array_get( $_SERVER, 'HTTP_USER_AGENT', '' ) ) ? 541 : 0 ) )
|
285 |
+
|| ( $sts = ( cerber_is_ip_allowed() ? 0 : CRB_Globals::$act_status ) ) ) {
|
286 |
|
287 |
+
self::delete_2fa( $user_id );
|
288 |
+
cerber_user_logout( $sts );
|
289 |
wp_redirect( get_home_url() );
|
290 |
|
291 |
exit;
|
308 |
}
|
309 |
}
|
310 |
|
311 |
+
if ( $twofactor['attempts'] > 5 ) {
|
312 |
+
cerber_soft_block_add( cerber_get_remote_ip(), 721 );
|
313 |
+
cerber_user_logout( 542 );
|
314 |
|
315 |
wp_redirect( get_home_url() );
|
316 |
exit;
|
cerber-common.php
CHANGED
@@ -732,15 +732,16 @@ function cerber_get_remote_ip() {
|
|
732 |
}
|
733 |
}
|
734 |
else {
|
735 |
-
if (
|
736 |
-
$remote_ip = $
|
737 |
}
|
738 |
-
elseif (
|
739 |
-
$remote_ip = $
|
740 |
}
|
741 |
-
elseif (
|
742 |
-
$remote_ip = $
|
743 |
}
|
|
|
744 |
}
|
745 |
|
746 |
if ( ! $remote_ip ) { // including WP-CLI, other way is: if defined('WP_CLI')
|
@@ -1152,24 +1153,8 @@ function cerber_is_rest_url() {
|
|
1152 |
|
1153 |
$ret = false;
|
1154 |
|
1155 |
-
|
1156 |
-
|
1157 |
-
//$rest_prefix = $dir . '/' . rest_get_url_prefix() . '/';
|
1158 |
-
$rest_prefix = $dir . '/' . rest_get_url_prefix();
|
1159 |
-
$rp_len = strlen( $rest_prefix );
|
1160 |
-
|
1161 |
-
//if ( 0 === strpos( substr( $request_path, 0, $rp_len ), $rest_prefix ) ) {
|
1162 |
-
if ( substr( $request_path, 0, $rp_len ) == $rest_prefix ) {
|
1163 |
-
if ( $request_path[ $rp_len ] == '?' ) { // An exception for: WordPress processes /wp-json? as a REST API request
|
1164 |
-
$ret = true;
|
1165 |
-
}
|
1166 |
-
else {
|
1167 |
-
$url_len = strlen( crb_get_rest_url() );
|
1168 |
-
//if ( 0 === strpos( substr( $root . $request_path, 0, $ru_len ), crb_get_rest_url() ) ) {
|
1169 |
-
if ( substr( $root . $request_path, 0, $url_len ) == crb_get_rest_url() ) {
|
1170 |
-
$ret = true;
|
1171 |
-
}
|
1172 |
-
}
|
1173 |
}
|
1174 |
|
1175 |
return $ret;
|
@@ -1441,7 +1426,13 @@ function cerber_is_rest_permitted() {
|
|
1441 |
return false;
|
1442 |
}
|
1443 |
|
|
|
|
|
|
|
|
|
|
|
1444 |
function crb_get_rest_path() {
|
|
|
1445 |
static $ret;
|
1446 |
|
1447 |
if ( isset( $ret ) ) {
|
@@ -1451,14 +1442,24 @@ function crb_get_rest_path() {
|
|
1451 |
$ret = '';
|
1452 |
|
1453 |
if ( isset( $_REQUEST['rest_route'] ) ) {
|
1454 |
-
$ret =
|
1455 |
}
|
1456 |
elseif ( cerber_is_permalink_enabled() ) {
|
1457 |
-
$path = CRB_Request::
|
1458 |
-
|
1459 |
-
$
|
1460 |
-
|
1461 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1462 |
}
|
1463 |
|
1464 |
return $ret;
|
@@ -1909,7 +1910,6 @@ function cerber_get_labels( $type = 'activity', $id = 0 ) {
|
|
1909 |
$sts[10] = __( 'Denied', 'wp-cerber' ); // @since 8.9.5.6
|
1910 |
$sts[ CRB_STS_11 ] = __( 'Bot detected', 'wp-cerber' );
|
1911 |
$sts[12] = __( 'Citadel mode is active', 'wp-cerber' );
|
1912 |
-
$sts[13] = __( 'Locked out', 'wp-cerber' );
|
1913 |
$sts[13] = __( 'IP address is locked out', 'wp-cerber' );
|
1914 |
$sts[14] = __( 'IP blacklisted', 'wp-cerber' );
|
1915 |
$sts[15] = __( 'Malicious activity detected', 'wp-cerber' );
|
@@ -1962,6 +1962,11 @@ function cerber_get_labels( $type = 'activity', $id = 0 ) {
|
|
1962 |
$sts[533] = __( 'reCAPTCHA settings are incorrect', 'wp-cerber' );
|
1963 |
$sts[534] = __( 'Request to the Google reCAPTCHA service failed', 'wp-cerber' );
|
1964 |
|
|
|
|
|
|
|
|
|
|
|
1965 |
// Note: 7xx is in use in cerber_get_reason()
|
1966 |
|
1967 |
cerber_cache_set( 'labels', $labels );
|
@@ -2076,7 +2081,8 @@ function cerber_get_reason( $reason_id = null ) {
|
|
2076 |
|
2077 |
$labels[711] = __( 'Multiple erroneous requests', 'wp-cerber' );
|
2078 |
$labels[712] = __( 'Multiple suspicious requests', 'wp-cerber' );
|
2079 |
-
|
|
|
2080 |
|
2081 |
cerber_cache_set( 'reasons', $labels );
|
2082 |
|
@@ -3777,7 +3783,6 @@ function cerber_diag_log( $msg, $source = '', $error = false ) {
|
|
3777 |
|
3778 |
function cerber_get_diag_log() {
|
3779 |
|
3780 |
-
//$dir = ( defined( 'CERBER_DIAG_DIR' ) && is_dir( CERBER_DIAG_DIR ) ) ? CERBER_DIAG_DIR . '/' : cerber_get_the_folder();
|
3781 |
if ( defined( 'CERBER_DIAG_DIR' ) && is_dir( CERBER_DIAG_DIR ) ) {
|
3782 |
$dir = CERBER_DIAG_DIR;
|
3783 |
}
|
@@ -3787,7 +3792,7 @@ function cerber_get_diag_log() {
|
|
3787 |
}
|
3788 |
}
|
3789 |
|
3790 |
-
return rtrim( $dir,
|
3791 |
}
|
3792 |
|
3793 |
function cerber_truncate_log( $bytes = 10000000 ) {
|
@@ -4619,7 +4624,7 @@ add_filter( 'update_plugins_downloads.wpcerber.com', 'cerber_check_for_update',
|
|
4619 |
*
|
4620 |
* @return mixed|null
|
4621 |
*
|
4622 |
-
* @since 9.2
|
4623 |
*/
|
4624 |
function cerber_check_for_update( $update, $plugin_data, $plugin_file, $locales ) {
|
4625 |
|
@@ -4690,35 +4695,3 @@ class CRB_Globals {
|
|
4690 |
}
|
4691 |
}
|
4692 |
}
|
4693 |
-
|
4694 |
-
/**
|
4695 |
-
* Sanitizing of the request URI
|
4696 |
-
*
|
4697 |
-
* @param $uri string
|
4698 |
-
*
|
4699 |
-
* @return string
|
4700 |
-
*
|
4701 |
-
* @since 9.2.2
|
4702 |
-
*/
|
4703 |
-
function crb_sanitize_uri( $uri ) {
|
4704 |
-
return preg_replace( '/[<>\'"\\\\()]/', '', (string) $uri );
|
4705 |
-
}
|
4706 |
-
|
4707 |
-
/**
|
4708 |
-
* Escaping JS values and attributes
|
4709 |
-
*
|
4710 |
-
* @param $val
|
4711 |
-
*
|
4712 |
-
* @return string
|
4713 |
-
*
|
4714 |
-
* @since 9.2.2
|
4715 |
-
*/
|
4716 |
-
function crb_escape_js( $val ) {
|
4717 |
-
if ( ! $val
|
4718 |
-
|| is_numeric( $val ) ) {
|
4719 |
-
return $val;
|
4720 |
-
}
|
4721 |
-
|
4722 |
-
// the same way as in esc_attr();
|
4723 |
-
return _wp_specialchars( $val, ENT_QUOTES );
|
4724 |
-
}
|
732 |
}
|
733 |
}
|
734 |
else {
|
735 |
+
if ( ! empty( $_SERVER['REMOTE_ADDR'] ) ) {
|
736 |
+
$remote_ip = $_SERVER['REMOTE_ADDR'];
|
737 |
}
|
738 |
+
elseif ( ! empty( $_SERVER['HTTP_X_REAL_IP'] ) ) {
|
739 |
+
$remote_ip = $_SERVER['HTTP_X_REAL_IP'];
|
740 |
}
|
741 |
+
elseif ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
|
742 |
+
$remote_ip = $_SERVER['HTTP_CLIENT_IP'];
|
743 |
}
|
744 |
+
$remote_ip = filter_var( $remote_ip, FILTER_VALIDATE_IP );
|
745 |
}
|
746 |
|
747 |
if ( ! $remote_ip ) { // including WP-CLI, other way is: if defined('WP_CLI')
|
1153 |
|
1154 |
$ret = false;
|
1155 |
|
1156 |
+
if ( crb_get_rest_path() ) {
|
1157 |
+
$ret = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1158 |
}
|
1159 |
|
1160 |
return $ret;
|
1426 |
return false;
|
1427 |
}
|
1428 |
|
1429 |
+
/**
|
1430 |
+
* Requested REST API route without leading and trailing slashes
|
1431 |
+
*
|
1432 |
+
* @return string Empty string for any non REST API request
|
1433 |
+
*/
|
1434 |
function crb_get_rest_path() {
|
1435 |
+
global $wp_rewrite;
|
1436 |
static $ret;
|
1437 |
|
1438 |
if ( isset( $ret ) ) {
|
1442 |
$ret = '';
|
1443 |
|
1444 |
if ( isset( $_REQUEST['rest_route'] ) ) {
|
1445 |
+
$ret = trim( $_REQUEST['rest_route'], '/' );
|
1446 |
}
|
1447 |
elseif ( cerber_is_permalink_enabled() ) {
|
1448 |
+
$path = CRB_Request::get_relative_path();
|
1449 |
+
$path = trim( $path, '/' );
|
1450 |
+
$prefix = rest_get_url_prefix() . '/';
|
1451 |
+
|
1452 |
+
// See get_rest_url() ----------------
|
1453 |
+
|
1454 |
+
if ( ( $wp_rewrite instanceof WP_Rewrite ) && $wp_rewrite->using_index_permalinks() ) {
|
1455 |
+
$prefix = $wp_rewrite->index . '/' . $prefix;
|
1456 |
+
}
|
1457 |
+
|
1458 |
+
// -----------------------------------
|
1459 |
+
|
1460 |
+
if ( 0 === strpos( $path, $prefix ) ) {
|
1461 |
+
$ret = substr( $path, strlen( $prefix ) );
|
1462 |
+
}
|
1463 |
}
|
1464 |
|
1465 |
return $ret;
|
1910 |
$sts[10] = __( 'Denied', 'wp-cerber' ); // @since 8.9.5.6
|
1911 |
$sts[ CRB_STS_11 ] = __( 'Bot detected', 'wp-cerber' );
|
1912 |
$sts[12] = __( 'Citadel mode is active', 'wp-cerber' );
|
|
|
1913 |
$sts[13] = __( 'IP address is locked out', 'wp-cerber' );
|
1914 |
$sts[14] = __( 'IP blacklisted', 'wp-cerber' );
|
1915 |
$sts[15] = __( 'Malicious activity detected', 'wp-cerber' );
|
1962 |
$sts[533] = __( 'reCAPTCHA settings are incorrect', 'wp-cerber' );
|
1963 |
$sts[534] = __( 'Request to the Google reCAPTCHA service failed', 'wp-cerber' );
|
1964 |
|
1965 |
+
// @since 9.3.2
|
1966 |
+
$sts[540] = __( "User's IP address does not match the one used to log in", 'wp-cerber' );
|
1967 |
+
$sts[541] = __( "User's browser does not match the one used to log in", 'wp-cerber' );
|
1968 |
+
$sts[542] = __( 'Exceeded the limit on the number of attempts to enter 2FA code', 'wp-cerber' );
|
1969 |
+
|
1970 |
// Note: 7xx is in use in cerber_get_reason()
|
1971 |
|
1972 |
cerber_cache_set( 'labels', $labels );
|
2081 |
|
2082 |
$labels[711] = __( 'Multiple erroneous requests', 'wp-cerber' );
|
2083 |
$labels[712] = __( 'Multiple suspicious requests', 'wp-cerber' );
|
2084 |
+
//$labels[721] = 'Limit on 2FA verifications has reached';
|
2085 |
+
$labels[721] = __( 'Exceeded the limit on the number of attempts to enter 2FA code', 'wp-cerber' );
|
2086 |
|
2087 |
cerber_cache_set( 'reasons', $labels );
|
2088 |
|
3783 |
|
3784 |
function cerber_get_diag_log() {
|
3785 |
|
|
|
3786 |
if ( defined( 'CERBER_DIAG_DIR' ) && is_dir( CERBER_DIAG_DIR ) ) {
|
3787 |
$dir = CERBER_DIAG_DIR;
|
3788 |
}
|
3792 |
}
|
3793 |
}
|
3794 |
|
3795 |
+
return rtrim( $dir, DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR . 'cerber-debug.log';
|
3796 |
}
|
3797 |
|
3798 |
function cerber_truncate_log( $bytes = 10000000 ) {
|
4624 |
*
|
4625 |
* @return mixed|null
|
4626 |
*
|
4627 |
+
* @since 9.1.2
|
4628 |
*/
|
4629 |
function cerber_check_for_update( $update, $plugin_data, $plugin_file, $locales ) {
|
4630 |
|
4695 |
}
|
4696 |
}
|
4697 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cerber-lab.php
CHANGED
@@ -624,9 +624,8 @@ function lab_save_push( $ip, $reason_id, $details = null ) {
|
|
624 |
}
|
625 |
|
626 |
$reason_id = absint( $reason_id );
|
627 |
-
|
628 |
if ( in_array( $reason_id, array( 708, 709, 55 ) ) ) {
|
629 |
-
|
630 |
}
|
631 |
elseif ( $reason_id == 100 ) {
|
632 |
$details = absint( CRB_Globals::$act_status );
|
624 |
}
|
625 |
|
626 |
$reason_id = absint( $reason_id );
|
|
|
627 |
if ( in_array( $reason_id, array( 708, 709, 55 ) ) ) {
|
628 |
+
$details = array( 'uri' => $_SERVER['REQUEST_URI'] );
|
629 |
}
|
630 |
elseif ( $reason_id == 100 ) {
|
631 |
$details = absint( CRB_Globals::$act_status );
|
cerber-load.php
CHANGED
@@ -1025,7 +1025,7 @@ function cerber_is_login_request() {
|
|
1025 |
* @return bool
|
1026 |
*/
|
1027 |
function cerber_auth_required( $allowed_url ) {
|
1028 |
-
if ( $allowed_url && CRB_Request::
|
1029 |
return false;
|
1030 |
}
|
1031 |
if ( cerber_is_login_request() ) {
|
@@ -1034,11 +1034,11 @@ function cerber_auth_required( $allowed_url ) {
|
|
1034 |
if ( CRB_Request::is_script( array( '/' . WP_LOGIN_SCRIPT, '/' . WP_SIGNUP_SCRIPT, '/wp-activate.php' ) ) ) {
|
1035 |
return false;
|
1036 |
}
|
1037 |
-
if ( CRB_Request::
|
1038 |
return false;
|
1039 |
}
|
1040 |
if ( class_exists( 'WooCommerce' ) ) {
|
1041 |
-
if ( CRB_Request::
|
1042 |
return false;
|
1043 |
}
|
1044 |
}
|
@@ -1712,12 +1712,12 @@ function cerber_restrict_user( $user_id ) {
|
|
1712 |
|
1713 |
$done = true;
|
1714 |
|
1715 |
-
if ( crb_is_user_blocked( $user_id )
|
1716 |
-
||
|
1717 |
-
|| crb_acl_is_black() // @since 8.2.4
|
1718 |
-
||
|
1719 |
|
1720 |
-
|
1721 |
|
1722 |
if ( is_admin() ) {
|
1723 |
wp_redirect( cerber_get_home_url() );
|
@@ -2267,7 +2267,7 @@ add_filter( 'comment_form_submit_field', function ( $value ) {
|
|
2267 |
//echo '<div id="cerber-recaptcha-msg">' . __( 'ERROR:', 'wp-cerber' ) . ' ' . $wp_cerber->reCaptchaMsg( 'comment' ) . '</div>';
|
2268 |
echo '<div id="cerber-recaptcha-msg">' . __( 'ERROR:', 'wp-cerber' ) . ' ' . __( 'Sorry, human verification failed.', 'wp-cerber' ) . '</div>';
|
2269 |
$p = cerber_get_cookie_prefix();
|
2270 |
-
echo '<script type="text/javascript">document.cookie = "' .
|
2271 |
}
|
2272 |
|
2273 |
if ( ! crb_get_settings( 'recapcomauth' ) || ! is_user_logged_in() ) {
|
@@ -2640,7 +2640,7 @@ function cerber_is_antibot_exception(){
|
|
2640 |
|
2641 |
if ( class_exists( 'WooCommerce' ) ) {
|
2642 |
if ( cerber_is_permalink_enabled() ) {
|
2643 |
-
if ( CRB_Request::
|
2644 |
return true;
|
2645 |
}
|
2646 |
}
|
@@ -2725,7 +2725,7 @@ function cerber_antibot_mode() {
|
|
2725 |
|
2726 |
if ( cerber_is_permalink_enabled() ) {
|
2727 |
//if ( function_exists( 'wc_get_page_id' ) && 0 === strpos( cerber_get_site_root() . cerber_purify_uri(), get_permalink( wc_get_page_id( 'checkout' ) ) ) ) {
|
2728 |
-
if ( function_exists( 'wc_get_page_id' ) && CRB_Request::
|
2729 |
return 2;
|
2730 |
}
|
2731 |
}
|
@@ -3010,17 +3010,17 @@ function cerber_antibot_code( $location ) {
|
|
3010 |
|
3011 |
for (let i = 0; i < document.forms.length; ++i) {
|
3012 |
let form = document.forms[i];
|
3013 |
-
|
3014 |
-
|
3015 |
-
|
3016 |
-
|
3017 |
-
|
3018 |
}
|
3019 |
|
3020 |
$(document).on('submit', 'form', function () {
|
3021 |
<?php
|
3022 |
foreach ( $values[0] as $value ) {
|
3023 |
-
echo 'if ($(this).attr("method") != "get") { $(this).append(\'<input type="hidden" name="' .
|
3024 |
}
|
3025 |
?>
|
3026 |
return true;
|
@@ -3032,18 +3032,18 @@ function cerber_antibot_code( $location ) {
|
|
3032 |
if (data.type !== 'POST') return;
|
3033 |
|
3034 |
if (typeof data.data === 'object' && data.data !== null) {
|
3035 |
-
|
3036 |
-
|
3037 |
-
|
3038 |
-
|
3039 |
-
|
3040 |
}
|
3041 |
else {
|
3042 |
data.data = data.data + '<?php
|
3043 |
-
|
3044 |
-
|
3045 |
-
|
3046 |
-
|
3047 |
}
|
3048 |
}
|
3049 |
});
|
@@ -3152,7 +3152,7 @@ function cerber_is_bot( $location = '' ) {
|
|
3152 |
|
3153 |
// Antibot whitelist
|
3154 |
if ( ( $list = crb_get_settings( 'botswhite' ) ) && is_array( $list ) ) {
|
3155 |
-
$uri = '/' . trim(
|
3156 |
$uri_slash = $uri . ( ( empty( $_GET ) ) ? '/' : '' ); // @since 8.8
|
3157 |
foreach ( $list as $item ) {
|
3158 |
if ( $item[0] == '{' && substr( $item, - 1 ) == '}' ) {
|
@@ -3635,7 +3635,9 @@ function cerber_block_add( $ip_address = '', $reason_id = 1, $details = '', $dur
|
|
3635 |
cerber_db_error_log();
|
3636 |
}
|
3637 |
|
3638 |
-
|
|
|
|
|
3639 |
|
3640 |
return $result;
|
3641 |
}
|
@@ -3975,13 +3977,13 @@ function crb_acl_is_black( $ip = '' ) {
|
|
3975 |
* @param string $ip
|
3976 |
* @param string $tag
|
3977 |
* @param int $acl_slice
|
3978 |
-
* @param object|
|
3979 |
* for IPv4 all columns
|
3980 |
* for IPv6 comments column only
|
3981 |
*
|
3982 |
* @return bool|string If string, returns 'W' or 'B'
|
3983 |
*/
|
3984 |
-
function cerber_acl_check( $ip = null, $tag = '', $acl_slice = 0, &$row =
|
3985 |
static $cache, $row_cache;
|
3986 |
|
3987 |
if ( ! $ip ) {
|
@@ -4010,12 +4012,14 @@ function cerber_acl_check( $ip = null, $tag = '', $acl_slice = 0, &$row = null )
|
|
4010 |
if ( $tag ) {
|
4011 |
if ( $tag !== 'W' && $tag !== 'B' ) {
|
4012 |
$ret = false;
|
|
|
4013 |
}
|
4014 |
elseif ( $row = cerber_db_get_row( 'SELECT * FROM ' . CERBER_ACL_TABLE . ' WHERE acl_slice = ' . $acl_slice . ' AND ver6 = 0 AND ip_long_begin <= ' . $long . ' AND ' . $long . ' <= ip_long_end AND tag = "' . $tag . '" LIMIT 1', MYSQL_FETCH_OBJECT ) ) {
|
4015 |
$ret = true;
|
4016 |
}
|
4017 |
else {
|
4018 |
$ret = false;
|
|
|
4019 |
}
|
4020 |
|
4021 |
$row_cache[ $key ] = $row;
|
@@ -4971,7 +4975,7 @@ function cerber_send_notification( $type, $msg_parts = array(), $ip = '', $chann
|
|
4971 |
$footer .= "\n\n" . __( 'Your license is valid until', 'wp-cerber' ) . ' ' . $date;
|
4972 |
}
|
4973 |
|
4974 |
-
$footer .= "\n\n\n" . __( 'This message created by', 'wp-cerber' ) . ' WP Cerber Security ' . ( lab_lab() ? 'PRO ' : '' ) . CERBER_VER;
|
4975 |
$footer .= "\n" . __( 'Date:', 'wp-cerber' ) . ' ' . cerber_date( time(), false );
|
4976 |
$footer .= "\n" . 'https://wpcerber.com';
|
4977 |
|
@@ -6202,8 +6206,8 @@ function cerber_pre_checks() {
|
|
6202 |
if ( cerber_get_get( 'action' ) === 'activate'
|
6203 |
&& cerber_get_get( 'plugin' ) === CERBER_PLUGIN_ID ) {
|
6204 |
// The plugin is activated in wp-admin
|
6205 |
-
if ( ! crb_get_settings() ) {
|
6206 |
-
define('CRB_JUST_MARRIED', 1);
|
6207 |
cerber_load_defaults();
|
6208 |
}
|
6209 |
}
|
@@ -6213,7 +6217,7 @@ function cerber_pre_checks() {
|
|
6213 |
if ( $plugin !== CERBER_PLUGIN_ID ) {
|
6214 |
return;
|
6215 |
}
|
6216 |
-
if ( ! crb_get_settings() ) {
|
6217 |
if ( ! defined( 'CRB_JUST_MARRIED' ) ) {
|
6218 |
define( 'CRB_JUST_MARRIED', 1 );
|
6219 |
}
|
1025 |
* @return bool
|
1026 |
*/
|
1027 |
function cerber_auth_required( $allowed_url ) {
|
1028 |
+
if ( $allowed_url && CRB_Request::is_full_url_equal( $allowed_url ) ) {
|
1029 |
return false;
|
1030 |
}
|
1031 |
if ( cerber_is_login_request() ) {
|
1034 |
if ( CRB_Request::is_script( array( '/' . WP_LOGIN_SCRIPT, '/' . WP_SIGNUP_SCRIPT, '/wp-activate.php' ) ) ) {
|
1035 |
return false;
|
1036 |
}
|
1037 |
+
if ( CRB_Request::is_full_url_start_with( wp_login_url() ) ) {
|
1038 |
return false;
|
1039 |
}
|
1040 |
if ( class_exists( 'WooCommerce' ) ) {
|
1041 |
+
if ( CRB_Request::is_full_url_start_with( get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ) ) ) {
|
1042 |
return false;
|
1043 |
}
|
1044 |
}
|
1712 |
|
1713 |
$done = true;
|
1714 |
|
1715 |
+
if ( ( $sts = ( crb_is_user_blocked( $user_id ) ? CRB_STS_29 : 0 ) )
|
1716 |
+
|| ( $sts = ( CRB_DS::is_user_valid( $user_id ) ? 0 : 35 ) )
|
1717 |
+
|| ( $sts = ( crb_acl_is_black() ? 14 : 0 ) ) // @since 8.2.4
|
1718 |
+
|| ( $sts = ( cerber_geo_allowed( 'geo_login', $user_id ) ? 0 : 16 ) ) ) { // @since 8.2.3
|
1719 |
|
1720 |
+
cerber_user_logout( $sts );
|
1721 |
|
1722 |
if ( is_admin() ) {
|
1723 |
wp_redirect( cerber_get_home_url() );
|
2267 |
//echo '<div id="cerber-recaptcha-msg">' . __( 'ERROR:', 'wp-cerber' ) . ' ' . $wp_cerber->reCaptchaMsg( 'comment' ) . '</div>';
|
2268 |
echo '<div id="cerber-recaptcha-msg">' . __( 'ERROR:', 'wp-cerber' ) . ' ' . __( 'Sorry, human verification failed.', 'wp-cerber' ) . '</div>';
|
2269 |
$p = cerber_get_cookie_prefix();
|
2270 |
+
echo '<script type="text/javascript">document.cookie = "' . $p . 'cerber_post_id=0;path=/";</script>';
|
2271 |
}
|
2272 |
|
2273 |
if ( ! crb_get_settings( 'recapcomauth' ) || ! is_user_logged_in() ) {
|
2640 |
|
2641 |
if ( class_exists( 'WooCommerce' ) ) {
|
2642 |
if ( cerber_is_permalink_enabled() ) {
|
2643 |
+
if ( CRB_Request::is_full_url_start_with( cerber_get_home_url() . '/wc-api/' ) ) {
|
2644 |
return true;
|
2645 |
}
|
2646 |
}
|
2725 |
|
2726 |
if ( cerber_is_permalink_enabled() ) {
|
2727 |
//if ( function_exists( 'wc_get_page_id' ) && 0 === strpos( cerber_get_site_root() . cerber_purify_uri(), get_permalink( wc_get_page_id( 'checkout' ) ) ) ) {
|
2728 |
+
if ( function_exists( 'wc_get_page_id' ) && CRB_Request::is_full_url_start_with( get_permalink( wc_get_page_id( 'checkout' ) ) ) ) {
|
2729 |
return 2;
|
2730 |
}
|
2731 |
}
|
3010 |
|
3011 |
for (let i = 0; i < document.forms.length; ++i) {
|
3012 |
let form = document.forms[i];
|
3013 |
+
<?php
|
3014 |
+
foreach ( $values[0] as $value ) {
|
3015 |
+
echo 'if ($(form).attr("method") != "get") { $(form).append(\'<input type="hidden" name="' . $value[0] . '" value="' . $value[1] . '" />\'); }' . "\n";
|
3016 |
+
}
|
3017 |
+
?>
|
3018 |
}
|
3019 |
|
3020 |
$(document).on('submit', 'form', function () {
|
3021 |
<?php
|
3022 |
foreach ( $values[0] as $value ) {
|
3023 |
+
echo 'if ($(this).attr("method") != "get") { $(this).append(\'<input type="hidden" name="' . $value[0] . '" value="' . $value[1] . '" />\'); }' . "\n";
|
3024 |
}
|
3025 |
?>
|
3026 |
return true;
|
3032 |
if (data.type !== 'POST') return;
|
3033 |
|
3034 |
if (typeof data.data === 'object' && data.data !== null) {
|
3035 |
+
<?php
|
3036 |
+
foreach ( $values[0] as $value ) {
|
3037 |
+
echo 'data.data.append("' . $value[0] . '", "' . $value[1] . '");' . "\n";
|
3038 |
+
}
|
3039 |
+
?>
|
3040 |
}
|
3041 |
else {
|
3042 |
data.data = data.data + '<?php
|
3043 |
+
foreach ( $values[0] as $value ) {
|
3044 |
+
echo '&' . $value[0] . '=' . $value[1];
|
3045 |
+
}
|
3046 |
+
?>';
|
3047 |
}
|
3048 |
}
|
3049 |
});
|
3152 |
|
3153 |
// Antibot whitelist
|
3154 |
if ( ( $list = crb_get_settings( 'botswhite' ) ) && is_array( $list ) ) {
|
3155 |
+
$uri = '/' . trim( $_SERVER['REQUEST_URI'], '/' );
|
3156 |
$uri_slash = $uri . ( ( empty( $_GET ) ) ? '/' : '' ); // @since 8.8
|
3157 |
foreach ( $list as $item ) {
|
3158 |
if ( $item[0] == '{' && substr( $item, - 1 ) == '}' ) {
|
3635 |
cerber_db_error_log();
|
3636 |
}
|
3637 |
|
3638 |
+
if ( ! $update ) {
|
3639 |
+
crb_send_lockout( $ip_address );
|
3640 |
+
}
|
3641 |
|
3642 |
return $result;
|
3643 |
}
|
3977 |
* @param string $ip
|
3978 |
* @param string $tag
|
3979 |
* @param int $acl_slice
|
3980 |
+
* @param object|false $row If a given IP is in any ACL, it contains an appropriate DB row object:
|
3981 |
* for IPv4 all columns
|
3982 |
* for IPv6 comments column only
|
3983 |
*
|
3984 |
* @return bool|string If string, returns 'W' or 'B'
|
3985 |
*/
|
3986 |
+
function cerber_acl_check( $ip = null, $tag = '', $acl_slice = 0, &$row = false ) {
|
3987 |
static $cache, $row_cache;
|
3988 |
|
3989 |
if ( ! $ip ) {
|
4012 |
if ( $tag ) {
|
4013 |
if ( $tag !== 'W' && $tag !== 'B' ) {
|
4014 |
$ret = false;
|
4015 |
+
$row = false;
|
4016 |
}
|
4017 |
elseif ( $row = cerber_db_get_row( 'SELECT * FROM ' . CERBER_ACL_TABLE . ' WHERE acl_slice = ' . $acl_slice . ' AND ver6 = 0 AND ip_long_begin <= ' . $long . ' AND ' . $long . ' <= ip_long_end AND tag = "' . $tag . '" LIMIT 1', MYSQL_FETCH_OBJECT ) ) {
|
4018 |
$ret = true;
|
4019 |
}
|
4020 |
else {
|
4021 |
$ret = false;
|
4022 |
+
$row = false;
|
4023 |
}
|
4024 |
|
4025 |
$row_cache[ $key ] = $row;
|
4975 |
$footer .= "\n\n" . __( 'Your license is valid until', 'wp-cerber' ) . ' ' . $date;
|
4976 |
}
|
4977 |
|
4978 |
+
$footer .= "\n\n\n" . __( 'This message was created by', 'wp-cerber' ) . ' WP Cerber Security ' . ( lab_lab() ? 'PRO ' : '' ) . CERBER_VER;
|
4979 |
$footer .= "\n" . __( 'Date:', 'wp-cerber' ) . ' ' . cerber_date( time(), false );
|
4980 |
$footer .= "\n" . 'https://wpcerber.com';
|
4981 |
|
6206 |
if ( cerber_get_get( 'action' ) === 'activate'
|
6207 |
&& cerber_get_get( 'plugin' ) === CERBER_PLUGIN_ID ) {
|
6208 |
// The plugin is activated in wp-admin
|
6209 |
+
if ( ! crb_get_settings( '', true, false ) ) {
|
6210 |
+
define( 'CRB_JUST_MARRIED', 1 );
|
6211 |
cerber_load_defaults();
|
6212 |
}
|
6213 |
}
|
6217 |
if ( $plugin !== CERBER_PLUGIN_ID ) {
|
6218 |
return;
|
6219 |
}
|
6220 |
+
if ( ! crb_get_settings( '', true, false ) ) {
|
6221 |
if ( ! defined( 'CRB_JUST_MARRIED' ) ) {
|
6222 |
define( 'CRB_JUST_MARRIED', 1 );
|
6223 |
}
|
cerber-request.php
CHANGED
@@ -35,7 +35,7 @@ final class CRB_Request {
|
|
35 |
* @since 7.9.2
|
36 |
*/
|
37 |
private static function purify() {
|
38 |
-
$uri =
|
39 |
|
40 |
if ( $pos = strpos( $uri, '?' ) ) {
|
41 |
$uri = substr( $uri, 0, $pos );
|
@@ -58,19 +58,21 @@ final class CRB_Request {
|
|
58 |
}
|
59 |
|
60 |
list( self::$site_root, self::$sub_folder ) = crb_parse_site_url();
|
|
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
-
else {
|
70 |
-
self::$site_root = $site_url;
|
71 |
-
self::$sub_folder = '';
|
72 |
-
}*/
|
73 |
|
|
|
74 |
}
|
75 |
|
76 |
/**
|
@@ -82,7 +84,7 @@ final class CRB_Request {
|
|
82 |
|
83 |
self::parse_site_url();
|
84 |
|
85 |
-
return self::$site_root .
|
86 |
|
87 |
}
|
88 |
|
@@ -95,14 +97,14 @@ final class CRB_Request {
|
|
95 |
}
|
96 |
|
97 |
/**
|
98 |
-
* Does
|
99 |
* Safe for checking malformed URLs
|
100 |
*
|
101 |
* @param $str string
|
102 |
*
|
103 |
* @return bool
|
104 |
*/
|
105 |
-
static function
|
106 |
|
107 |
$url = self::full_url_clean();
|
108 |
|
@@ -125,7 +127,7 @@ final class CRB_Request {
|
|
125 |
*
|
126 |
* @return bool
|
127 |
*/
|
128 |
-
static function
|
129 |
|
130 |
$url = self::full_url_clean();
|
131 |
|
@@ -152,7 +154,7 @@ final class CRB_Request {
|
|
152 |
self::parse_site_url();
|
153 |
$slug = ( $slug[0] != '/' ) ? '/' . $slug : $slug;
|
154 |
$slug = self::$sub_folder . rtrim( $slug, '/' );
|
155 |
-
$uri = rtrim(
|
156 |
|
157 |
if ( strlen( $slug ) === strlen( $uri )
|
158 |
&& $slug == $uri ) {
|
@@ -211,7 +213,7 @@ final class CRB_Request {
|
|
211 |
return true;
|
212 |
}
|
213 |
|
214 |
-
if ( self::
|
215 |
return true;
|
216 |
}
|
217 |
|
@@ -221,13 +223,14 @@ final class CRB_Request {
|
|
221 |
|
222 |
/**
|
223 |
* Returns true if the request URI starts with a given string.
|
224 |
-
*
|
225 |
*
|
226 |
* @param string $str
|
|
|
227 |
*
|
228 |
* @return bool
|
229 |
*/
|
230 |
-
static function
|
231 |
static $cache;
|
232 |
|
233 |
if ( ! $str ) {
|
@@ -235,8 +238,9 @@ final class CRB_Request {
|
|
235 |
}
|
236 |
|
237 |
if ( ! isset( $cache[ $str ] ) ) {
|
238 |
-
|
239 |
-
$
|
|
|
240 |
|
241 |
$cache[ $str ] = ( $sub == $str );
|
242 |
}
|
@@ -244,12 +248,34 @@ final class CRB_Request {
|
|
244 |
return $cache[ $str ];
|
245 |
}
|
246 |
|
247 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
if ( ! isset( self::$the_path ) ) {
|
249 |
-
|
250 |
-
|
|
|
|
|
251 |
}
|
252 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
}
|
254 |
|
255 |
return self::$the_path;
|
35 |
* @since 7.9.2
|
36 |
*/
|
37 |
private static function purify() {
|
38 |
+
$uri = $_SERVER['REQUEST_URI'];
|
39 |
|
40 |
if ( $pos = strpos( $uri, '?' ) ) {
|
41 |
$uri = substr( $uri, 0, $pos );
|
58 |
}
|
59 |
|
60 |
list( self::$site_root, self::$sub_folder ) = crb_parse_site_url();
|
61 |
+
}
|
62 |
|
63 |
+
/**
|
64 |
+
* If the WordPress is installed in a subfolder, returns the subfolder. The empty string otherwise.
|
65 |
+
*
|
66 |
+
* @return string
|
67 |
+
*
|
68 |
+
* @since 9.3.1
|
69 |
+
*/
|
70 |
+
static function get_site_path() {
|
71 |
+
if ( ! isset( self::$site_root ) ) {
|
72 |
+
self::parse_site_url();
|
73 |
}
|
|
|
|
|
|
|
|
|
74 |
|
75 |
+
return self::$sub_folder;
|
76 |
}
|
77 |
|
78 |
/**
|
84 |
|
85 |
self::parse_site_url();
|
86 |
|
87 |
+
return self::$site_root . $_SERVER['REQUEST_URI'];
|
88 |
|
89 |
}
|
90 |
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
+
* Does request URI starts with a given string?
|
101 |
* Safe for checking malformed URLs
|
102 |
*
|
103 |
* @param $str string
|
104 |
*
|
105 |
* @return bool
|
106 |
*/
|
107 |
+
static function is_full_url_start_with( $str ) {
|
108 |
|
109 |
$url = self::full_url_clean();
|
110 |
|
127 |
*
|
128 |
* @return bool
|
129 |
*/
|
130 |
+
static function is_full_url_equal( $str ) {
|
131 |
|
132 |
$url = self::full_url_clean();
|
133 |
|
154 |
self::parse_site_url();
|
155 |
$slug = ( $slug[0] != '/' ) ? '/' . $slug : $slug;
|
156 |
$slug = self::$sub_folder . rtrim( $slug, '/' );
|
157 |
+
$uri = rtrim( $_SERVER['REQUEST_URI'], '/' );
|
158 |
|
159 |
if ( strlen( $slug ) === strlen( $uri )
|
160 |
&& $slug == $uri ) {
|
213 |
return true;
|
214 |
}
|
215 |
|
216 |
+
if ( self::is_path_start_with( '/search/' , true ) ) {
|
217 |
return true;
|
218 |
}
|
219 |
|
223 |
|
224 |
/**
|
225 |
* Returns true if the request URI starts with a given string.
|
226 |
+
*
|
227 |
*
|
228 |
* @param string $str
|
229 |
+
* @param bool $relative
|
230 |
*
|
231 |
* @return bool
|
232 |
*/
|
233 |
+
static function is_path_start_with( $str, $relative = false ) {
|
234 |
static $cache;
|
235 |
|
236 |
if ( ! $str ) {
|
238 |
}
|
239 |
|
240 |
if ( ! isset( $cache[ $str ] ) ) {
|
241 |
+
|
242 |
+
$path = $relative ? self::get_relative_path() : self::URI();
|
243 |
+
$sub = substr( $path, 0, strlen( $str ) );
|
244 |
|
245 |
$cache[ $str ] = ( $sub == $str );
|
246 |
}
|
248 |
return $cache[ $str ];
|
249 |
}
|
250 |
|
251 |
+
/**
|
252 |
+
* The request path without trailing slashes
|
253 |
+
* No subfolder if WP is installed in a subfolder
|
254 |
+
*
|
255 |
+
* @return string
|
256 |
+
*
|
257 |
+
* @since 9.3.1
|
258 |
+
*/
|
259 |
+
static function get_relative_path() {
|
260 |
if ( ! isset( self::$the_path ) ) {
|
261 |
+
$path = $_SERVER['REQUEST_URI'];
|
262 |
+
|
263 |
+
if ( $pos = strpos( $path, '?' ) ) {
|
264 |
+
$path = substr( $path, 0, $pos );
|
265 |
}
|
266 |
+
|
267 |
+
if ( $pos = strpos( $path, '#' ) ) {
|
268 |
+
$path = substr( $path, 0, $pos );
|
269 |
+
}
|
270 |
+
|
271 |
+
$path = '/' . urldecode( trim( $path, '/' ) );
|
272 |
+
|
273 |
+
if ( $site_path = self::get_site_path() ) {
|
274 |
+
$len = mb_strlen( $site_path );
|
275 |
+
$path = mb_substr( $path, $len );
|
276 |
+
}
|
277 |
+
|
278 |
+
self::$the_path = $path;
|
279 |
}
|
280 |
|
281 |
return self::$the_path;
|
cerber-settings.php
CHANGED
@@ -2322,10 +2322,11 @@ function cerber_get_options( $option = '' ) {
|
|
2322 |
*
|
2323 |
* @param string $option
|
2324 |
* @param bool $purge_cache purge static cache
|
|
|
2325 |
*
|
2326 |
* @return array|bool|mixed
|
2327 |
*/
|
2328 |
-
function crb_get_settings( $option = '', $purge_cache = false ) {
|
2329 |
global $wpdb;
|
2330 |
static $united;
|
2331 |
|
@@ -2361,7 +2362,8 @@ function crb_get_settings( $option = '', $purge_cache = false ) {
|
|
2361 |
|
2362 |
$set = cerber_db_get_col( $sql );
|
2363 |
|
2364 |
-
if ( ! $set || ! is_array( $set ) )
|
|
|
2365 |
// @since 8.9.6.6
|
2366 |
$united = crb_get_default_values();
|
2367 |
$set = array();
|
@@ -2387,7 +2389,7 @@ function crb_get_settings( $option = '', $purge_cache = false ) {
|
|
2387 |
$united = array_merge( $united, $value );
|
2388 |
}
|
2389 |
|
2390 |
-
if ( ! lab_lab() ) {
|
2391 |
$united = array_merge( $united, crb_get_default_pro() );
|
2392 |
}
|
2393 |
|
2322 |
*
|
2323 |
* @param string $option
|
2324 |
* @param bool $purge_cache purge static cache
|
2325 |
+
* @param bool $use_defaults exclusively for plugin installation process
|
2326 |
*
|
2327 |
* @return array|bool|mixed
|
2328 |
*/
|
2329 |
+
function crb_get_settings( $option = '', $purge_cache = false, $use_defaults = true ) {
|
2330 |
global $wpdb;
|
2331 |
static $united;
|
2332 |
|
2362 |
|
2363 |
$set = cerber_db_get_col( $sql );
|
2364 |
|
2365 |
+
if ( ( ! $set || ! is_array( $set ) )
|
2366 |
+
&& $use_defaults ) {
|
2367 |
// @since 8.9.6.6
|
2368 |
$united = crb_get_default_values();
|
2369 |
$set = array();
|
2389 |
$united = array_merge( $united, $value );
|
2390 |
}
|
2391 |
|
2392 |
+
if ( ! lab_lab() && $use_defaults ) {
|
2393 |
$united = array_merge( $united, crb_get_default_pro() );
|
2394 |
}
|
2395 |
|
changelog.txt
CHANGED
@@ -1,11 +1,22 @@
|
|
1 |
-
= 9.
|
2 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
= 9.2 =
|
5 |
* New: Custom login error message. If showing the default WordPress login error message is disabled, you can optionally specify your own login error message. Available in the professional version.
|
6 |
* New: Custom password reset error message. If showing the default WordPress password reset error message is disabled, you can optionally specify your own password reset error message. Available in the professional version.
|
7 |
* Improved: Implemented Content-Security-Policy HTTP header as an extra layer of protection for the WP Cerber admin pages.
|
8 |
-
* Fixed A critical
|
9 |
* Fixed: Fatal error "Call to a member function is_block_editor() on null" that occurs when attempting to load any admin page (starting with /wp-admin/) by an unauthorized request. The bug only occurs if the two following settings are configured as: "Disable dashboard redirection" is enabled and "Display 404 page" is set to "Use 404 template from the active theme".
|
10 |
* Fixed: No country flags are shown in some log rows while viewing WP Cerber logs on the managed website via Cerber.Hub.
|
11 |
* Fixed: The file viewer doesn't show the content of a file while viewing the results of a scan on the managed website via Cerber.Hub.
|
1 |
+
= 9.3.3 =
|
2 |
+
* Fixed: A bug that prevents loading default values of some WP Cerber settings upon the plugin activation. On some websites the bug can cause plugin configuration inconsistency and suboptimal security.
|
3 |
+
|
4 |
+
= 9.3.2 =
|
5 |
+
* Improved: Every locked-out IP address on the "Lockout" tab has a link to check its suspicious activity in the Activity log.
|
6 |
+
* Improved: The activity log provides more details on [two-factor authentication (2FA)](https://wpcerber.com/two-factor-authentication-for-wordpress/) events with several new statuses that are logged if an attempt to log in using 2FA was aborted.
|
7 |
+
* Improved: The activity log provides more details when a user was forcefully logged out (user session has been terminated) due to a restriction.
|
8 |
+
* Fixed minor vulnerability: If WordPress is installed in a subfolder and [access to WordPress REST API has been blocked on the "Hardening" tab](https://wpcerber.com/restrict-access-to-wordpress-rest-api/), a bad actor can get access to REST API by using a specially formatted request.
|
9 |
+
* Fixed minor bug: Multiple duplicate notifications are sent via email and [Pushbullet](https://wpcerber.com/wordpress-mobile-and-browser-notifications-pushbullet/) if an IP address is permanently getting blocked due to multiply consequent malicious requests and the notification limit is set to 0.
|
10 |
+
|
11 |
+
= 9.3 =
|
12 |
+
* Fixed: Unable to remove a blocked IP network class C (with an asterisk) from the list of locked out IP addresses by clicking the "Remove" link on the Lockouts tab.
|
13 |
+
* Fixed: "Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in … /cerber-common.php on line 4634". The bug occurs if the PHP constant WP_ACCESSIBLE_HOSTS is defined and it does not contain 'downloads.wpcerber.com'.
|
14 |
|
15 |
= 9.2 =
|
16 |
* New: Custom login error message. If showing the default WordPress login error message is disabled, you can optionally specify your own login error message. Available in the professional version.
|
17 |
* New: Custom password reset error message. If showing the default WordPress password reset error message is disabled, you can optionally specify your own password reset error message. Available in the professional version.
|
18 |
* Improved: Implemented Content-Security-Policy HTTP header as an extra layer of protection for the WP Cerber admin pages.
|
19 |
+
* Fixed: A critical vulnerability.
|
20 |
* Fixed: Fatal error "Call to a member function is_block_editor() on null" that occurs when attempting to load any admin page (starting with /wp-admin/) by an unauthorized request. The bug only occurs if the two following settings are configured as: "Disable dashboard redirection" is enabled and "Display 404 page" is set to "Use 404 template from the active theme".
|
21 |
* Fixed: No country flags are shown in some log rows while viewing WP Cerber logs on the managed website via Cerber.Hub.
|
22 |
* Fixed: The file viewer doesn't show the content of a file while viewing the results of a scan on the managed website via Cerber.Hub.
|
languages/wp-cerber.pot
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: WP Cerber Security, Anti-spam & Malware Scan\n"
|
6 |
"Report-Msgid-Bugs-To: \n"
|
7 |
-
"POT-Creation-Date: 2022-09
|
8 |
"POT-Revision-Date: Fri Mar 12 2021 20:21:05 GMT+0300 (Moscow Standard Time)\n"
|
9 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
10 |
"Last-Translator: \n"
|
@@ -41,7 +41,7 @@ msgid "%s retries are allowed within %s minutes"
|
|
41 |
msgstr ""
|
42 |
|
43 |
#. Time difference between two dates, in seconds (sec=second). 1: Number of seconds
|
44 |
-
#: cerber-common.php:
|
45 |
#, php-format
|
46 |
msgid "%s sec"
|
47 |
msgid_plural "%s secs"
|
@@ -66,7 +66,7 @@ msgstr ""
|
|
66 |
msgid "A database error occurred while importing access list entries"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: cerber-load.php:
|
70 |
msgid "A new activity has occurred"
|
71 |
msgstr ""
|
72 |
|
@@ -74,12 +74,12 @@ msgstr ""
|
|
74 |
msgid "A new version is available"
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: cerber-common.php:
|
78 |
#, php-format
|
79 |
msgid "A new version of %s is available. Please install it."
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: cerber-load.php:
|
83 |
msgid "A new version of WP Cerber is available to install"
|
84 |
msgstr ""
|
85 |
|
@@ -88,7 +88,7 @@ msgid "A newer version is available"
|
|
88 |
msgstr ""
|
89 |
|
90 |
#. %s is the name of a mobile device or/and email addresses.
|
91 |
-
#: admin/cerber-dashboard.php:
|
92 |
#, php-format
|
93 |
msgid "A test message has been sent to %s"
|
94 |
msgstr ""
|
@@ -124,7 +124,7 @@ msgstr ""
|
|
124 |
msgid "Accounts & Roles"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: admin/cerber-dashboard.php:
|
128 |
#: admin/cerber-admin.php:775 admin/cerber-admin.php:930
|
129 |
msgid "Action"
|
130 |
msgstr ""
|
@@ -133,7 +133,7 @@ msgstr ""
|
|
133 |
msgid "Activated"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: admin/cerber-dashboard.php:2186
|
137 |
msgid "active"
|
138 |
msgstr ""
|
139 |
|
@@ -145,12 +145,12 @@ msgstr ""
|
|
145 |
msgid "Active sessions"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: cerber-load.php:
|
149 |
#: admin/cerber-dashboard.php:5462 admin/cerber-users.php:1245
|
150 |
msgid "Activity"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: cerber-load.php:
|
154 |
msgid "Activity details"
|
155 |
msgstr ""
|
156 |
|
@@ -170,7 +170,7 @@ msgstr ""
|
|
170 |
msgid "Add a remote website"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: admin/cerber-dashboard.php:
|
174 |
msgid "Add Entry"
|
175 |
msgstr ""
|
176 |
|
@@ -195,7 +195,7 @@ msgstr ""
|
|
195 |
msgid "Added"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: admin/cerber-dashboard.php:
|
199 |
msgid "Additional Details"
|
200 |
msgstr ""
|
201 |
|
@@ -271,7 +271,7 @@ msgstr ""
|
|
271 |
msgid "Allow these namespaces"
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: cerber-lab.php:
|
275 |
msgid ""
|
276 |
"Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. "
|
277 |
"This helps the plugin team to develop new algorithms for WP Cerber that will "
|
@@ -339,11 +339,11 @@ msgstr ""
|
|
339 |
msgid "Any country is permitted"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: cerber-common.php:
|
343 |
msgid "API request authorization failed"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: cerber-common.php:
|
347 |
msgid "API request authorized"
|
348 |
msgstr ""
|
349 |
|
@@ -378,39 +378,39 @@ msgstr ""
|
|
378 |
msgid "Are you sure? This permanently invalidates the token."
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: cerber-common.php:
|
382 |
msgid "Attempt to access"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: cerber-common.php:
|
386 |
msgid "Attempt to access prohibited URL"
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: cerber-common.php:
|
390 |
msgid "Attempt to log in denied"
|
391 |
msgstr ""
|
392 |
|
393 |
-
#: cerber-common.php:
|
394 |
msgid "Attempt to log in with non-existing username"
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: cerber-common.php:
|
398 |
msgid "Attempt to log in with prohibited username"
|
399 |
msgstr ""
|
400 |
|
401 |
-
#: cerber-common.php:
|
402 |
msgid "Attempt to register denied"
|
403 |
msgstr ""
|
404 |
|
405 |
-
#: cerber-common.php:
|
406 |
msgid "Attempt to upload a file with malicious code"
|
407 |
msgstr ""
|
408 |
|
409 |
-
#: cerber-common.php:
|
410 |
msgid "Attempt to upload malicious file denied"
|
411 |
msgstr ""
|
412 |
|
413 |
-
#: cerber-load.php:
|
414 |
msgid "Attempts to log in with non-existing usernames"
|
415 |
msgstr ""
|
416 |
|
@@ -470,7 +470,7 @@ msgstr ""
|
|
470 |
msgid "Average Size"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: cerber-load.php:
|
474 |
msgid "Awesome!"
|
475 |
msgstr ""
|
476 |
|
@@ -488,7 +488,7 @@ msgid ""
|
|
488 |
"key on the Google website"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: admin/cerber-dashboard.php:
|
492 |
#: admin/cerber-dashboard.php:1784 admin/cerber-dashboard.php:2208
|
493 |
#: admin/cerber-tools.php:70
|
494 |
msgid "Black IP Access List"
|
@@ -572,11 +572,11 @@ msgstr ""
|
|
572 |
msgid "Blocked Users"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: cerber-common.php:
|
576 |
msgid "Bot activity is detected"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: cerber-common.php:
|
580 |
msgid "Bot detected"
|
581 |
msgstr ""
|
582 |
|
@@ -600,7 +600,7 @@ msgstr ""
|
|
600 |
msgid "by date of registration"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: cerber-load.php:
|
604 |
msgid ""
|
605 |
"By sharing your unique opinion on WP Cerber, you help the engineers behind "
|
606 |
"the plugin make greater progress and help other professionals find the right "
|
@@ -608,15 +608,15 @@ msgid ""
|
|
608 |
"free to use your native language. Thanks!"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: cerber-load.php:
|
612 |
msgid "By the user"
|
613 |
msgstr ""
|
614 |
|
615 |
-
#: cerber-common.php:
|
616 |
msgid "Bytes"
|
617 |
msgstr ""
|
618 |
|
619 |
-
#: cerber-load.php:
|
620 |
msgid "Can't activate WP Cerber due to a database error."
|
621 |
msgstr ""
|
622 |
|
@@ -692,7 +692,7 @@ msgstr ""
|
|
692 |
msgid "Channels to send alerts"
|
693 |
msgstr ""
|
694 |
|
695 |
-
#: admin/cerber-dashboard.php:
|
696 |
#: admin/cerber-dashboard.php:1827 admin/cerber-dashboard.php:2037
|
697 |
msgid "Check for activities"
|
698 |
msgstr ""
|
@@ -701,7 +701,7 @@ msgstr ""
|
|
701 |
msgid "Check for requests"
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: admin/cerber-dashboard.php:
|
705 |
msgid "Check for requests from the IP address"
|
706 |
msgstr ""
|
707 |
|
@@ -717,11 +717,11 @@ msgstr ""
|
|
717 |
msgid "Checksum mismatch"
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: cerber-common.php:
|
721 |
msgid "Citadel activated!"
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: cerber-settings.php:339
|
725 |
msgid "Citadel mode"
|
726 |
msgstr ""
|
727 |
|
@@ -729,13 +729,13 @@ msgstr ""
|
|
729 |
msgid "Citadel mode duration"
|
730 |
msgstr ""
|
731 |
|
732 |
-
#: cerber-load.php:
|
733 |
#, php-format
|
734 |
msgid ""
|
735 |
"Citadel mode has been activated after %d failed login attempts in %d minutes."
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: cerber-load.php:
|
739 |
msgid "Citadel mode is active"
|
740 |
msgstr ""
|
741 |
|
@@ -755,7 +755,7 @@ msgstr ""
|
|
755 |
msgid "Click on a country name to add it to the list of selected countries"
|
756 |
msgstr ""
|
757 |
|
758 |
-
#: admin/cerber-dashboard.php:
|
759 |
msgid "Click the IP address to see its activity"
|
760 |
msgstr ""
|
761 |
|
@@ -771,7 +771,7 @@ msgstr ""
|
|
771 |
msgid "Click to send test"
|
772 |
msgstr ""
|
773 |
|
774 |
-
#: cerber-common.php:
|
775 |
msgid "Comment denied"
|
776 |
msgstr ""
|
777 |
|
@@ -821,7 +821,7 @@ msgstr ""
|
|
821 |
msgid "Countries"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: admin/cerber-dashboard.php:
|
825 |
msgid "Country"
|
826 |
msgstr ""
|
827 |
|
@@ -889,7 +889,7 @@ msgstr ""
|
|
889 |
msgid "Data Shield Policies"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: admin/cerber-dashboard.php:
|
893 |
#: admin/cerber-dashboard.php:4224 admin/cerber-dashboard.php:4709
|
894 |
msgid "Date"
|
895 |
msgstr ""
|
@@ -902,7 +902,7 @@ msgstr ""
|
|
902 |
msgid "Date format for CSV export"
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: cerber-load.php:
|
906 |
msgid "Date:"
|
907 |
msgstr ""
|
908 |
|
@@ -923,7 +923,7 @@ msgstr ""
|
|
923 |
msgid "Default processing"
|
924 |
msgstr ""
|
925 |
|
926 |
-
#: admin/cerber-dashboard.php:
|
927 |
msgid "Default settings have been loaded"
|
928 |
msgstr ""
|
929 |
|
@@ -944,7 +944,7 @@ msgstr ""
|
|
944 |
msgid "Deferred rendering"
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: admin/cerber-dashboard.php:
|
948 |
#: admin/cerber-admin.php:228
|
949 |
msgid "Delete"
|
950 |
msgstr ""
|
@@ -989,7 +989,7 @@ msgstr ""
|
|
989 |
msgid "Deleted"
|
990 |
msgstr ""
|
991 |
|
992 |
-
#: cerber-common.php:
|
993 |
msgid "Denied"
|
994 |
msgstr ""
|
995 |
|
@@ -1009,7 +1009,7 @@ msgstr ""
|
|
1009 |
msgid "Deny it completely"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
-
#: cerber-common.php:
|
1013 |
msgid "Destination folder access denied"
|
1014 |
msgstr ""
|
1015 |
|
@@ -1113,7 +1113,7 @@ msgstr ""
|
|
1113 |
msgid "Disabled"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
-
#: admin/cerber-dashboard.php:2193
|
1117 |
msgid "disabled"
|
1118 |
msgstr ""
|
1119 |
|
@@ -1202,7 +1202,7 @@ msgstr ""
|
|
1202 |
msgid "Duration"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
-
#: cerber-common.php:
|
1206 |
#, php-format
|
1207 |
msgctxt "e.g. blocked by John at 11:00"
|
1208 |
msgid "blocked by %s at %s"
|
@@ -1315,6 +1315,10 @@ msgstr ""
|
|
1315 |
msgid "Enable traffic inspection"
|
1316 |
msgstr ""
|
1317 |
|
|
|
|
|
|
|
|
|
1318 |
#: cerber-settings.php:726 admin/cerber-users.php:479
|
1319 |
msgid "Enabled, access to API using standard user passwords is allowed"
|
1320 |
msgstr ""
|
@@ -1382,7 +1386,7 @@ msgstr ""
|
|
1382 |
msgid "Errors"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: admin/cerber-dashboard.php:
|
1386 |
msgid "Event"
|
1387 |
msgstr ""
|
1388 |
|
@@ -1403,6 +1407,10 @@ msgctxt "Example: Last malware scan: 23 Jan 2018"
|
|
1403 |
msgid "Last malware scan"
|
1404 |
msgstr ""
|
1405 |
|
|
|
|
|
|
|
|
|
1406 |
#: cerber-scanner.php:1638
|
1407 |
msgid "Executable code found"
|
1408 |
msgstr ""
|
@@ -1419,7 +1427,7 @@ msgstr ""
|
|
1419 |
msgid "Executable files are not supported. Please upload a ZIP archive."
|
1420 |
msgstr ""
|
1421 |
|
1422 |
-
#: admin/cerber-dashboard.php:
|
1423 |
msgid "Expires"
|
1424 |
msgstr ""
|
1425 |
|
@@ -1427,7 +1435,7 @@ msgstr ""
|
|
1427 |
msgid "expires"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
-
#: admin/cerber-dashboard.php:
|
1431 |
msgid "Export"
|
1432 |
msgstr ""
|
1433 |
|
@@ -1483,7 +1491,7 @@ msgstr ""
|
|
1483 |
msgid "File Name"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
-
#: cerber-common.php:
|
1487 |
msgid "File not found"
|
1488 |
msgstr ""
|
1489 |
|
@@ -1491,7 +1499,7 @@ msgstr ""
|
|
1491 |
msgid "File recovered"
|
1492 |
msgstr ""
|
1493 |
|
1494 |
-
#: cerber-common.php:
|
1495 |
msgid "File upload denied"
|
1496 |
msgstr ""
|
1497 |
|
@@ -1531,11 +1539,11 @@ msgstr ""
|
|
1531 |
msgid "Files without extension"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: admin/cerber-dashboard.php:
|
1535 |
msgid "Filter"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: admin/cerber-dashboard.php:
|
1539 |
msgid "Filter by registered user"
|
1540 |
msgstr ""
|
1541 |
|
@@ -1569,7 +1577,7 @@ msgstr ""
|
|
1569 |
msgid "Form fields data"
|
1570 |
msgstr ""
|
1571 |
|
1572 |
-
#: cerber-common.php:
|
1573 |
msgid "Form submission denied"
|
1574 |
msgstr ""
|
1575 |
|
@@ -1577,11 +1585,11 @@ msgstr ""
|
|
1577 |
msgid "Form submissions"
|
1578 |
msgstr ""
|
1579 |
|
1580 |
-
#: cerber-load.php:
|
1581 |
msgid "From the country"
|
1582 |
msgstr ""
|
1583 |
|
1584 |
-
#: cerber-load.php:
|
1585 |
msgid "From the IP address"
|
1586 |
msgstr ""
|
1587 |
|
@@ -1597,7 +1605,7 @@ msgstr ""
|
|
1597 |
msgid "Full Scan Report"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
-
#: admin/cerber-dashboard.php:
|
1601 |
msgid "Get me notified when such an event occurs"
|
1602 |
msgstr ""
|
1603 |
|
@@ -1605,7 +1613,7 @@ msgstr ""
|
|
1605 |
msgid "Get notified instantly with mobile and desktop notifications"
|
1606 |
msgstr ""
|
1607 |
|
1608 |
-
#: cerber-load.php:
|
1609 |
msgid "Getting Started Guide"
|
1610 |
msgstr ""
|
1611 |
|
@@ -1641,7 +1649,7 @@ msgstr ""
|
|
1641 |
msgid "Here are the details of the sign-in attempt"
|
1642 |
msgstr ""
|
1643 |
|
1644 |
-
#: cerber-load.php:
|
1645 |
msgid "Hi!"
|
1646 |
msgstr ""
|
1647 |
|
@@ -1661,7 +1669,7 @@ msgstr ""
|
|
1661 |
msgid "Host Info"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
-
#: admin/cerber-dashboard.php:
|
1665 |
msgid "Hostname"
|
1666 |
msgstr ""
|
1667 |
|
@@ -1740,7 +1748,7 @@ msgid ""
|
|
1740 |
"email address on the account."
|
1741 |
msgstr ""
|
1742 |
|
1743 |
-
#: cerber-load.php:
|
1744 |
msgid ""
|
1745 |
"If you believe you should be able to perform this request, please let us "
|
1746 |
"know."
|
@@ -1785,7 +1793,7 @@ msgid ""
|
|
1785 |
"Immediately block IP when attempting to log in with a non-existing username"
|
1786 |
msgstr ""
|
1787 |
|
1788 |
-
#: cerber-load.php:
|
1789 |
msgid "Import settings"
|
1790 |
msgstr ""
|
1791 |
|
@@ -1877,7 +1885,7 @@ msgstr ""
|
|
1877 |
msgid "Invalid cookies cleared"
|
1878 |
msgstr ""
|
1879 |
|
1880 |
-
#: cerber-common.php:
|
1881 |
msgid "Invalid master credentials"
|
1882 |
msgstr ""
|
1883 |
|
@@ -1893,22 +1901,22 @@ msgstr ""
|
|
1893 |
msgid "Invisible reCAPTCHA"
|
1894 |
msgstr ""
|
1895 |
|
1896 |
-
#: admin/cerber-dashboard.php:
|
1897 |
#: admin/cerber-dashboard.php:1416 admin/cerber-dashboard.php:4711
|
1898 |
#: admin/cerber-users.php:1057
|
1899 |
msgid "IP Address"
|
1900 |
msgstr ""
|
1901 |
|
1902 |
-
#: cerber-load.php:
|
1903 |
msgid "IP address"
|
1904 |
msgstr ""
|
1905 |
|
1906 |
-
#: admin/cerber-dashboard.php:
|
1907 |
#, php-format
|
1908 |
msgid "IP address %s has been added to Black IP Access List"
|
1909 |
msgstr ""
|
1910 |
|
1911 |
-
#: admin/cerber-dashboard.php:
|
1912 |
#, php-format
|
1913 |
msgid "IP address %s has been added to White IP Access List"
|
1914 |
msgstr ""
|
@@ -1921,7 +1929,7 @@ msgstr ""
|
|
1921 |
msgid "IP address is not allowed"
|
1922 |
msgstr ""
|
1923 |
|
1924 |
-
#: admin/cerber-dashboard.php:
|
1925 |
msgid "IP address, range, wildcard, or CIDR"
|
1926 |
msgstr ""
|
1927 |
|
@@ -1933,11 +1941,11 @@ msgstr ""
|
|
1933 |
msgid "IP blacklisted"
|
1934 |
msgstr ""
|
1935 |
|
1936 |
-
#: cerber-common.php:
|
1937 |
msgid "IP blocked"
|
1938 |
msgstr ""
|
1939 |
|
1940 |
-
#: cerber-common.php:
|
1941 |
msgid "IP subnet blocked"
|
1942 |
msgstr ""
|
1943 |
|
@@ -1991,7 +1999,7 @@ msgid ""
|
|
1991 |
"with public web access, report them, and remove malicious ones."
|
1992 |
msgstr ""
|
1993 |
|
1994 |
-
#: cerber-lab.php:
|
1995 |
#: admin/cerber-admin-settings.php:266
|
1996 |
msgid "Know more"
|
1997 |
msgstr ""
|
@@ -2004,7 +2012,7 @@ msgstr ""
|
|
2004 |
msgid "Largest"
|
2005 |
msgstr ""
|
2006 |
|
2007 |
-
#: cerber-load.php:
|
2008 |
#, php-format
|
2009 |
msgid "Last failed attempt was at %s from IP %s using username: %s."
|
2010 |
msgstr ""
|
@@ -2013,7 +2021,7 @@ msgstr ""
|
|
2013 |
msgid "Last lockout"
|
2014 |
msgstr ""
|
2015 |
|
2016 |
-
#: cerber-load.php:
|
2017 |
#, php-format
|
2018 |
msgid "Last lockout was added: %s for IP %s"
|
2019 |
msgstr ""
|
@@ -2058,11 +2066,11 @@ msgstr ""
|
|
2058 |
msgid "Limit on concurrent user sessions"
|
2059 |
msgstr ""
|
2060 |
|
2061 |
-
#: cerber-common.php:
|
2062 |
msgid "Limit on failed reCAPTCHA verifications is reached"
|
2063 |
msgstr ""
|
2064 |
|
2065 |
-
#: cerber-common.php:
|
2066 |
msgid "Limit on login attempts is reached"
|
2067 |
msgstr ""
|
2068 |
|
@@ -2070,7 +2078,7 @@ msgstr ""
|
|
2070 |
msgid "Limit reached"
|
2071 |
msgstr ""
|
2072 |
|
2073 |
-
#: admin/cerber-dashboard.php:
|
2074 |
msgid "List is empty"
|
2075 |
msgstr ""
|
2076 |
|
@@ -2098,7 +2106,7 @@ msgstr ""
|
|
2098 |
msgid "Local hash not found"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
-
#: admin/cerber-dashboard.php:
|
2102 |
#: admin/cerber-dashboard.php:4714
|
2103 |
msgid "Local User"
|
2104 |
msgstr ""
|
@@ -2113,11 +2121,11 @@ msgid ""
|
|
2113 |
"Lock out IP address for %s minutes after %s failed attempts within %s minutes"
|
2114 |
msgstr ""
|
2115 |
|
2116 |
-
#:
|
2117 |
msgid "Locked out"
|
2118 |
msgstr ""
|
2119 |
|
2120 |
-
#: admin/cerber-dashboard.php:
|
2121 |
#, php-format
|
2122 |
msgid "Lockout for %s was removed"
|
2123 |
msgstr ""
|
@@ -2162,11 +2170,11 @@ msgstr ""
|
|
2162 |
msgid "Log Out"
|
2163 |
msgstr ""
|
2164 |
|
2165 |
-
#: cerber-common.php:
|
2166 |
msgid "Logged in"
|
2167 |
msgstr ""
|
2168 |
|
2169 |
-
#: cerber-common.php:
|
2170 |
msgid "Logged out"
|
2171 |
msgstr ""
|
2172 |
|
@@ -2187,7 +2195,7 @@ msgstr ""
|
|
2187 |
msgid "Logging mode"
|
2188 |
msgstr ""
|
2189 |
|
2190 |
-
#: cerber-common.php:
|
2191 |
msgid "Login failed"
|
2192 |
msgstr ""
|
2193 |
|
@@ -2211,7 +2219,7 @@ msgstr ""
|
|
2211 |
msgid "Login from a different network Class C"
|
2212 |
msgstr ""
|
2213 |
|
2214 |
-
#: admin/cerber-dashboard.php:
|
2215 |
msgid "Login issues"
|
2216 |
msgstr ""
|
2217 |
|
@@ -2259,7 +2267,7 @@ msgstr ""
|
|
2259 |
msgid "Malicious activity detected"
|
2260 |
msgstr ""
|
2261 |
|
2262 |
-
#: cerber-common.php:1923 cerber-common.php:
|
2263 |
msgid "Malicious code detected"
|
2264 |
msgstr ""
|
2265 |
|
@@ -2271,7 +2279,7 @@ msgstr ""
|
|
2271 |
msgid "Malicious IP addresses detected"
|
2272 |
msgstr ""
|
2273 |
|
2274 |
-
#: cerber-common.php:
|
2275 |
msgid "Malicious request denied"
|
2276 |
msgstr ""
|
2277 |
|
@@ -2373,7 +2381,7 @@ msgstr ""
|
|
2373 |
msgid "Move spam comments to trash after"
|
2374 |
msgstr ""
|
2375 |
|
2376 |
-
#: cerber-common.php:
|
2377 |
msgid "Multiple erroneous requests"
|
2378 |
msgstr ""
|
2379 |
|
@@ -2381,19 +2389,19 @@ msgstr ""
|
|
2381 |
msgid "Multiple suspicious activities"
|
2382 |
msgstr ""
|
2383 |
|
2384 |
-
#: cerber-common.php:
|
2385 |
msgid "Multiple suspicious activities were detected"
|
2386 |
msgstr ""
|
2387 |
|
2388 |
-
#: cerber-common.php:
|
2389 |
msgid "Multiple suspicious requests"
|
2390 |
msgstr ""
|
2391 |
|
2392 |
-
#: admin/cerber-dashboard.php:
|
2393 |
msgid "My activity"
|
2394 |
msgstr ""
|
2395 |
|
2396 |
-
#: admin/cerber-dashboard.php:
|
2397 |
msgid "My IP"
|
2398 |
msgstr ""
|
2399 |
|
@@ -2418,13 +2426,13 @@ msgstr ""
|
|
2418 |
msgid "Network:"
|
2419 |
msgstr ""
|
2420 |
|
2421 |
-
#: cerber-common.php:
|
2422 |
-
#: admin/cerber-dashboard.php:
|
2423 |
#: admin/cerber-dashboard.php:2230
|
2424 |
msgid "Never"
|
2425 |
msgstr ""
|
2426 |
|
2427 |
-
#: cerber-load.php:
|
2428 |
msgid "New Custom login URL"
|
2429 |
msgstr ""
|
2430 |
|
@@ -2436,7 +2444,7 @@ msgstr ""
|
|
2436 |
msgid "New files"
|
2437 |
msgstr ""
|
2438 |
|
2439 |
-
#: admin/cerber-dashboard.php:
|
2440 |
msgid "New users"
|
2441 |
msgstr ""
|
2442 |
|
@@ -2448,11 +2456,15 @@ msgstr ""
|
|
2448 |
msgid "Newest"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
-
#: admin/cerber-dashboard.php:
|
2452 |
#: admin/cerber-dashboard.php:2789 admin/cerber-admin.php:1340
|
2453 |
msgid "No activity has been logged yet."
|
2454 |
msgstr ""
|
2455 |
|
|
|
|
|
|
|
|
|
2456 |
#: admin/cerber-admin.php:958
|
2457 |
msgid "No data for generating reports"
|
2458 |
msgstr ""
|
@@ -2461,7 +2473,7 @@ msgstr ""
|
|
2461 |
msgid "No devices found"
|
2462 |
msgstr ""
|
2463 |
|
2464 |
-
#: admin/cerber-dashboard.php:
|
2465 |
msgid "No events found using the given search criteria"
|
2466 |
msgstr ""
|
2467 |
|
@@ -2481,7 +2493,7 @@ msgstr ""
|
|
2481 |
msgid "No limit"
|
2482 |
msgstr ""
|
2483 |
|
2484 |
-
#: admin/cerber-dashboard.php:
|
2485 |
msgid "No lockouts at the moment. The sky is clear."
|
2486 |
msgstr ""
|
2487 |
|
@@ -2505,11 +2517,11 @@ msgstr ""
|
|
2505 |
msgid "No websites configured."
|
2506 |
msgstr ""
|
2507 |
|
2508 |
-
#: cerber-lab.php:
|
2509 |
msgid "NO, maybe later"
|
2510 |
msgstr ""
|
2511 |
|
2512 |
-
#: admin/cerber-dashboard.php:
|
2513 |
msgid "Non-authenticated"
|
2514 |
msgstr ""
|
2515 |
|
@@ -2560,7 +2572,7 @@ msgstr ""
|
|
2560 |
msgid "notifications are allowed per hour (0 means unlimited)"
|
2561 |
msgstr ""
|
2562 |
|
2563 |
-
#: cerber-load.php:
|
2564 |
msgid "Number of active lockouts"
|
2565 |
msgstr ""
|
2566 |
|
@@ -2568,7 +2580,7 @@ msgstr ""
|
|
2568 |
msgid "Number of allowed concurrent user sessions"
|
2569 |
msgstr ""
|
2570 |
|
2571 |
-
#: cerber-load.php:
|
2572 |
msgid "Number of lockouts is increasing"
|
2573 |
msgstr ""
|
2574 |
|
@@ -2580,7 +2592,7 @@ msgstr ""
|
|
2580 |
msgid "OK"
|
2581 |
msgstr ""
|
2582 |
|
2583 |
-
#: cerber-lab.php:
|
2584 |
msgid "OK, nail them all"
|
2585 |
msgstr ""
|
2586 |
|
@@ -2619,7 +2631,7 @@ msgstr ""
|
|
2619 |
msgid "Optional alert limits"
|
2620 |
msgstr ""
|
2621 |
|
2622 |
-
#: admin/cerber-dashboard.php:
|
2623 |
msgid "Optional comment for this entry"
|
2624 |
msgstr ""
|
2625 |
|
@@ -2651,21 +2663,21 @@ msgstr ""
|
|
2651 |
msgid "Parsing the list of files"
|
2652 |
msgstr ""
|
2653 |
|
2654 |
-
#: cerber-common.php:
|
2655 |
msgid "Password changed"
|
2656 |
msgstr ""
|
2657 |
|
2658 |
#. %s is the name of a website administrator who changed the password.
|
2659 |
-
#: cerber-common.php:
|
2660 |
#, php-format
|
2661 |
msgid "Password changed by %s"
|
2662 |
msgstr ""
|
2663 |
|
2664 |
-
#: cerber-common.php:
|
2665 |
msgid "Password reset request denied"
|
2666 |
msgstr ""
|
2667 |
|
2668 |
-
#: cerber-common.php:
|
2669 |
msgid "Password reset requested"
|
2670 |
msgstr ""
|
2671 |
|
@@ -2762,7 +2774,7 @@ msgstr ""
|
|
2762 |
msgid "Preparing for the scan"
|
2763 |
msgstr ""
|
2764 |
|
2765 |
-
#: cerber-common.php:
|
2766 |
#, php-format
|
2767 |
msgctxt "preposition of a period of time like: in 6 hours"
|
2768 |
msgid "in %s"
|
@@ -2794,7 +2806,7 @@ msgstr ""
|
|
2794 |
msgid "Proactive security rules"
|
2795 |
msgstr ""
|
2796 |
|
2797 |
-
#: cerber-common.php:
|
2798 |
msgid "Probing for vulnerable code"
|
2799 |
msgstr ""
|
2800 |
|
@@ -2882,7 +2894,7 @@ msgstr ""
|
|
2882 |
msgid "Read-only mode"
|
2883 |
msgstr ""
|
2884 |
|
2885 |
-
#: cerber-load.php:
|
2886 |
msgid "Reason"
|
2887 |
msgstr ""
|
2888 |
|
@@ -2890,11 +2902,11 @@ msgstr ""
|
|
2890 |
msgid "reCAPTCHA settings"
|
2891 |
msgstr ""
|
2892 |
|
2893 |
-
#: cerber-common.php:
|
2894 |
msgid "reCAPTCHA settings are incorrect"
|
2895 |
msgstr ""
|
2896 |
|
2897 |
-
#: cerber-common.php:
|
2898 |
msgid "reCAPTCHA verification failed"
|
2899 |
msgstr ""
|
2900 |
|
@@ -2970,7 +2982,7 @@ msgstr ""
|
|
2970 |
msgid "Regular time intervals (days)"
|
2971 |
msgstr ""
|
2972 |
|
2973 |
-
#: admin/cerber-dashboard.php:
|
2974 |
msgid "Remove"
|
2975 |
msgstr ""
|
2976 |
|
@@ -2986,19 +2998,19 @@ msgstr ""
|
|
2986 |
msgid "Request"
|
2987 |
msgstr ""
|
2988 |
|
2989 |
-
#: admin/cerber-dashboard.php:
|
2990 |
msgid "Request ID"
|
2991 |
msgstr ""
|
2992 |
|
2993 |
-
#: cerber-common.php:
|
2994 |
msgid "Request to REST API denied"
|
2995 |
msgstr ""
|
2996 |
|
2997 |
-
#: cerber-common.php:
|
2998 |
msgid "Request to the Google reCAPTCHA service failed"
|
2999 |
msgstr ""
|
3000 |
|
3001 |
-
#: cerber-common.php:
|
3002 |
msgid "Request to XML-RPC API denied"
|
3003 |
msgstr ""
|
3004 |
|
@@ -3062,7 +3074,7 @@ msgstr ""
|
|
3062 |
msgid "Return to the website list"
|
3063 |
msgstr ""
|
3064 |
|
3065 |
-
#: cerber-common.php:
|
3066 |
msgid "Role update denied"
|
3067 |
msgstr ""
|
3068 |
|
@@ -3130,7 +3142,7 @@ msgstr ""
|
|
3130 |
msgid "Scanned"
|
3131 |
msgstr ""
|
3132 |
|
3133 |
-
#: cerber-load.php:
|
3134 |
msgid "Scanner Report"
|
3135 |
msgstr ""
|
3136 |
|
@@ -3162,11 +3174,11 @@ msgstr ""
|
|
3162 |
msgid "Search for IP address"
|
3163 |
msgstr ""
|
3164 |
|
3165 |
-
#: admin/cerber-dashboard.php:
|
3166 |
msgid "Search for IP or username"
|
3167 |
msgstr ""
|
3168 |
|
3169 |
-
#: admin/cerber-dashboard.php:
|
3170 |
msgid "Search in URL"
|
3171 |
msgstr ""
|
3172 |
|
@@ -3174,7 +3186,7 @@ msgstr ""
|
|
3174 |
msgid "Search results for:"
|
3175 |
msgstr ""
|
3176 |
|
3177 |
-
#: cerber-load.php:
|
3178 |
msgid "Search string"
|
3179 |
msgstr ""
|
3180 |
|
@@ -3274,7 +3286,7 @@ msgstr[1] ""
|
|
3274 |
msgid "Sessions"
|
3275 |
msgstr ""
|
3276 |
|
3277 |
-
#: cerber-common.php:
|
3278 |
msgid "Setting update denied"
|
3279 |
msgstr ""
|
3280 |
|
@@ -3407,7 +3419,7 @@ msgstr ""
|
|
3407 |
msgid "Space Occupied"
|
3408 |
msgstr ""
|
3409 |
|
3410 |
-
#: cerber-common.php:
|
3411 |
msgid "Spam comment denied"
|
3412 |
msgstr ""
|
3413 |
|
@@ -3415,7 +3427,7 @@ msgstr ""
|
|
3415 |
msgid "Spam comments denied"
|
3416 |
msgstr ""
|
3417 |
|
3418 |
-
#: cerber-common.php:
|
3419 |
msgid "Spam form submission denied"
|
3420 |
msgstr ""
|
3421 |
|
@@ -3501,7 +3513,7 @@ msgstr ""
|
|
3501 |
msgid "Submit forms"
|
3502 |
msgstr ""
|
3503 |
|
3504 |
-
#: admin/cerber-dashboard.php:
|
3505 |
msgid "Suspicious activity"
|
3506 |
msgstr ""
|
3507 |
|
@@ -3565,7 +3577,7 @@ msgstr ""
|
|
3565 |
msgid "Terminate user sessions"
|
3566 |
msgstr ""
|
3567 |
|
3568 |
-
#: admin/cerber-dashboard.php:
|
3569 |
msgid "TEST MESSAGE"
|
3570 |
msgstr ""
|
3571 |
|
@@ -3661,11 +3673,11 @@ msgstr ""
|
|
3661 |
msgid "The website you are trying to add is already in the list"
|
3662 |
msgstr ""
|
3663 |
|
3664 |
-
#: cerber-load.php:
|
3665 |
msgid "The WP Cerber Security plugin has been deactivated"
|
3666 |
msgstr ""
|
3667 |
|
3668 |
-
#: cerber-load.php:
|
3669 |
msgid "The WP Cerber Security plugin is now active"
|
3670 |
msgstr ""
|
3671 |
|
@@ -3742,16 +3754,16 @@ msgctxt "This is a risk level."
|
|
3742 |
msgid "Medium"
|
3743 |
msgstr ""
|
3744 |
|
3745 |
-
#: cerber-load.php:4974
|
3746 |
-
msgid "This message created by"
|
3747 |
-
msgstr ""
|
3748 |
-
|
3749 |
#: cerber-settings.php:665
|
3750 |
msgid ""
|
3751 |
"This message is displayed to a user if the IP address of the user's computer "
|
3752 |
"is not whitelisted"
|
3753 |
msgstr ""
|
3754 |
|
|
|
|
|
|
|
|
|
3755 |
#: admin/cerber-dashboard.php:3480
|
3756 |
msgid ""
|
3757 |
"This scan report was generated by the previous version of WP Cerber. Please "
|
@@ -3786,11 +3798,11 @@ msgid ""
|
|
3786 |
"the plugin cache."
|
3787 |
msgstr ""
|
3788 |
|
3789 |
-
#: cerber-load.php:
|
3790 |
msgid "To change reporting settings visit"
|
3791 |
msgstr ""
|
3792 |
|
3793 |
-
#: cerber-load.php:
|
3794 |
msgid "To delete the alert, click here"
|
3795 |
msgstr ""
|
3796 |
|
@@ -3859,7 +3871,8 @@ msgstr ""
|
|
3859 |
msgid "Traffic Inspection"
|
3860 |
msgstr ""
|
3861 |
|
3862 |
-
#: admin/cerber-dashboard.php:62 admin/cerber-dashboard.php:
|
|
|
3863 |
msgid "Traffic Inspector"
|
3864 |
msgstr ""
|
3865 |
|
@@ -3909,11 +3922,11 @@ msgstr ""
|
|
3909 |
msgid "Unable to check the integrity of WordPress files due to a network error"
|
3910 |
msgstr ""
|
3911 |
|
3912 |
-
#: cerber-common.php:
|
3913 |
msgid "Unable to copy the file"
|
3914 |
msgstr ""
|
3915 |
|
3916 |
-
#: cerber-common.php:
|
3917 |
msgid "Unable to create the directory"
|
3918 |
msgstr ""
|
3919 |
|
@@ -3921,7 +3934,7 @@ msgstr ""
|
|
3921 |
msgid "Unable to delete"
|
3922 |
msgstr ""
|
3923 |
|
3924 |
-
#: cerber-common.php:
|
3925 |
msgid "Unable to delete the file"
|
3926 |
msgstr ""
|
3927 |
|
@@ -3933,7 +3946,7 @@ msgstr ""
|
|
3933 |
msgid "Unable to process file"
|
3934 |
msgstr ""
|
3935 |
|
3936 |
-
#: admin/cerber-dashboard.php:
|
3937 |
msgid "Unable to send a test message"
|
3938 |
msgstr ""
|
3939 |
|
@@ -3949,14 +3962,14 @@ msgstr ""
|
|
3949 |
msgid "Unattended suspicious file"
|
3950 |
msgstr ""
|
3951 |
|
3952 |
-
#: cerber-load.php:
|
3953 |
-
#: cerber-common.php:
|
3954 |
-
#: admin/cerber-dashboard.php:
|
3955 |
#: admin/cerber-dashboard.php:4983
|
3956 |
msgid "Unknown"
|
3957 |
msgstr ""
|
3958 |
|
3959 |
-
#: admin/cerber-dashboard.php:
|
3960 |
msgid "unknown"
|
3961 |
msgstr ""
|
3962 |
|
@@ -3964,11 +3977,11 @@ msgstr ""
|
|
3964 |
msgid "Unknown Google's bot"
|
3965 |
msgstr ""
|
3966 |
|
3967 |
-
#: cerber-common.php:
|
3968 |
msgid "Unknown label"
|
3969 |
msgstr ""
|
3970 |
|
3971 |
-
#: cerber-load.php:
|
3972 |
msgid "unspecified"
|
3973 |
msgstr ""
|
3974 |
|
@@ -4076,7 +4089,7 @@ msgstr ""
|
|
4076 |
msgid "Use XML-RPC"
|
4077 |
msgstr ""
|
4078 |
|
4079 |
-
#: cerber-load.php:
|
4080 |
msgid "User"
|
4081 |
msgstr ""
|
4082 |
|
@@ -4086,7 +4099,7 @@ msgid_plural "users"
|
|
4086 |
msgstr[0] ""
|
4087 |
msgstr[1] ""
|
4088 |
|
4089 |
-
#: cerber-common.php:
|
4090 |
msgid "User activated"
|
4091 |
msgstr ""
|
4092 |
|
@@ -4098,27 +4111,27 @@ msgstr ""
|
|
4098 |
msgid "User Agent"
|
4099 |
msgstr ""
|
4100 |
|
4101 |
-
#: cerber-common.php:
|
4102 |
msgid "User application password created"
|
4103 |
msgstr ""
|
4104 |
|
4105 |
#. %s is the name of a website administrator who created the password.
|
4106 |
-
#: cerber-common.php:
|
4107 |
#, php-format
|
4108 |
msgid "User application password created by %s"
|
4109 |
msgstr ""
|
4110 |
|
4111 |
-
#: cerber-common.php:
|
4112 |
msgid "User application password deleted"
|
4113 |
msgstr ""
|
4114 |
|
4115 |
#. %s is the name of a website administrator who deleted the password.
|
4116 |
-
#: cerber-common.php:
|
4117 |
#, php-format
|
4118 |
msgid "User application password deleted by %s"
|
4119 |
msgstr ""
|
4120 |
|
4121 |
-
#: cerber-common.php:
|
4122 |
msgid "User application password updated"
|
4123 |
msgstr ""
|
4124 |
|
@@ -4126,31 +4139,31 @@ msgstr ""
|
|
4126 |
msgid "User blocked by administrator"
|
4127 |
msgstr ""
|
4128 |
|
4129 |
-
#: cerber-common.php:
|
4130 |
msgid "User created"
|
4131 |
msgstr ""
|
4132 |
|
4133 |
#. %s is the name of a website administrator who created the user.
|
4134 |
-
#: cerber-common.php:
|
4135 |
#, php-format
|
4136 |
msgid "User created by %s"
|
4137 |
msgstr ""
|
4138 |
|
4139 |
-
#: cerber-common.php:
|
4140 |
msgid "User creation denied"
|
4141 |
msgstr ""
|
4142 |
|
4143 |
-
#: cerber-common.php:
|
4144 |
msgid "User deleted"
|
4145 |
msgstr ""
|
4146 |
|
4147 |
#. %s is the name of a website administrator who deleted the user.
|
4148 |
-
#: cerber-common.php:
|
4149 |
#, php-format
|
4150 |
msgid "User deleted by %s"
|
4151 |
msgstr ""
|
4152 |
|
4153 |
-
#: admin/cerber-dashboard.php:
|
4154 |
msgid "User ID"
|
4155 |
msgstr ""
|
4156 |
|
@@ -4166,7 +4179,7 @@ msgstr ""
|
|
4166 |
msgid "User is not permitted to log into the website"
|
4167 |
msgstr ""
|
4168 |
|
4169 |
-
#: admin/cerber-dashboard.php:
|
4170 |
msgid "User login"
|
4171 |
msgstr ""
|
4172 |
|
@@ -4178,7 +4191,7 @@ msgstr ""
|
|
4178 |
msgid "User message"
|
4179 |
msgstr ""
|
4180 |
|
4181 |
-
#: cerber-common.php:
|
4182 |
msgid "User metadata update denied"
|
4183 |
msgstr ""
|
4184 |
|
@@ -4186,7 +4199,7 @@ msgstr ""
|
|
4186 |
msgid "User Policies"
|
4187 |
msgstr ""
|
4188 |
|
4189 |
-
#: cerber-common.php:
|
4190 |
msgid "User registered"
|
4191 |
msgstr ""
|
4192 |
|
@@ -4198,7 +4211,7 @@ msgstr ""
|
|
4198 |
msgid "User registrations are limited to these roles"
|
4199 |
msgstr ""
|
4200 |
|
4201 |
-
#: cerber-common.php:
|
4202 |
msgid "User row update denied"
|
4203 |
msgstr ""
|
4204 |
|
@@ -4206,12 +4219,12 @@ msgstr ""
|
|
4206 |
msgid "User session expiration time"
|
4207 |
msgstr ""
|
4208 |
|
4209 |
-
#: cerber-common.php:
|
4210 |
msgid "User session terminated"
|
4211 |
msgstr ""
|
4212 |
|
4213 |
#. %s is the name of a website administrator who terminated the session.
|
4214 |
-
#: cerber-common.php:
|
4215 |
#, php-format
|
4216 |
msgid "User session terminated by %s"
|
4217 |
msgstr ""
|
@@ -4220,7 +4233,15 @@ msgstr ""
|
|
4220 |
msgid "User Sessions"
|
4221 |
msgstr ""
|
4222 |
|
4223 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4224 |
msgid "Username"
|
4225 |
msgstr ""
|
4226 |
|
@@ -4236,7 +4257,7 @@ msgstr ""
|
|
4236 |
msgid "username is prohibited"
|
4237 |
msgstr ""
|
4238 |
|
4239 |
-
#: cerber-load.php:
|
4240 |
msgid "Username used"
|
4241 |
msgstr ""
|
4242 |
|
@@ -4247,7 +4268,7 @@ msgid ""
|
|
4247 |
"blocked. Use comma to separate logins."
|
4248 |
msgstr ""
|
4249 |
|
4250 |
-
#: admin/cerber-dashboard.php:
|
4251 |
msgid "Users"
|
4252 |
msgstr ""
|
4253 |
|
@@ -4307,16 +4328,16 @@ msgstr ""
|
|
4307 |
msgid "View Activity"
|
4308 |
msgstr ""
|
4309 |
|
4310 |
-
#: cerber-load.php:
|
4311 |
msgid "View activity for this IP"
|
4312 |
msgstr ""
|
4313 |
|
4314 |
-
#: cerber-load.php:
|
4315 |
msgid "View activity in the Dashboard"
|
4316 |
msgstr ""
|
4317 |
|
4318 |
-
#: admin/cerber-dashboard.php:
|
4319 |
-
#: admin/cerber-dashboard.php:
|
4320 |
#: admin/cerber-dashboard.php:4774
|
4321 |
msgid "View all"
|
4322 |
msgstr ""
|
@@ -4325,7 +4346,7 @@ msgstr ""
|
|
4325 |
msgid "view all"
|
4326 |
msgstr ""
|
4327 |
|
4328 |
-
#: admin/cerber-dashboard.php:
|
4329 |
msgid "View all logged events"
|
4330 |
msgstr ""
|
4331 |
|
@@ -4345,7 +4366,7 @@ msgstr ""
|
|
4345 |
msgid "View denied REST API requests"
|
4346 |
msgstr ""
|
4347 |
|
4348 |
-
#: cerber-load.php:
|
4349 |
msgid "View lockouts in the Dashboard"
|
4350 |
msgstr ""
|
4351 |
|
@@ -4365,7 +4386,7 @@ msgstr ""
|
|
4365 |
msgid "Vulnerability found"
|
4366 |
msgstr ""
|
4367 |
|
4368 |
-
#: cerber-lab.php:
|
4369 |
msgid "Want to make WP Cerber even more powerful?"
|
4370 |
msgstr ""
|
4371 |
|
@@ -4373,11 +4394,11 @@ msgstr ""
|
|
4373 |
msgid "We have not found any integrity data to verify"
|
4374 |
msgstr ""
|
4375 |
|
4376 |
-
#: cerber-load.php:
|
4377 |
msgid "We need your support to keep moving forward"
|
4378 |
msgstr ""
|
4379 |
|
4380 |
-
#: cerber-load.php:
|
4381 |
msgid "We're sorry, you are not allowed to proceed"
|
4382 |
msgstr ""
|
4383 |
|
@@ -4385,7 +4406,7 @@ msgstr ""
|
|
4385 |
msgid "We've sent a verification PIN code to your email"
|
4386 |
msgstr ""
|
4387 |
|
4388 |
-
#: cerber-load.php:
|
4389 |
msgid "Website"
|
4390 |
msgstr ""
|
4391 |
|
@@ -4408,11 +4429,11 @@ msgstr ""
|
|
4408 |
msgid "Website URL"
|
4409 |
msgstr ""
|
4410 |
|
4411 |
-
#: cerber-load.php:
|
4412 |
msgid "Weekly Report"
|
4413 |
msgstr ""
|
4414 |
|
4415 |
-
#: cerber-load.php:
|
4416 |
msgid "Weekly report"
|
4417 |
msgstr ""
|
4418 |
|
@@ -4456,7 +4477,7 @@ msgid ""
|
|
4456 |
"loaded. The Custom login URL and Access Lists will not be changed."
|
4457 |
msgstr ""
|
4458 |
|
4459 |
-
#: admin/cerber-dashboard.php:
|
4460 |
#: admin/cerber-dashboard.php:1781 admin/cerber-dashboard.php:2207
|
4461 |
#: admin/cerber-tools.php:69
|
4462 |
msgid "White IP Access List"
|
@@ -4478,16 +4499,16 @@ msgstr ""
|
|
4478 |
msgid "WordPress uploads analysis"
|
4479 |
msgstr ""
|
4480 |
|
4481 |
-
#: cerber-load.php:
|
4482 |
msgid "WP Cerber is now active and has started protecting your site"
|
4483 |
msgstr ""
|
4484 |
|
4485 |
-
#: cerber-load.php:
|
4486 |
#, php-format
|
4487 |
msgid "WP Cerber requires PHP %s or higher. You are running %s."
|
4488 |
msgstr ""
|
4489 |
|
4490 |
-
#: cerber-load.php:
|
4491 |
#, php-format
|
4492 |
msgid "WP Cerber requires WordPress %s or higher. You are running %s."
|
4493 |
msgstr ""
|
@@ -4500,7 +4521,7 @@ msgstr ""
|
|
4500 |
msgid "Write failed login attempts to the file"
|
4501 |
msgstr ""
|
4502 |
|
4503 |
-
#: cerber-common.php:
|
4504 |
#: admin/cerber-users.php:1212
|
4505 |
msgid "You"
|
4506 |
msgstr ""
|
@@ -4522,7 +4543,7 @@ msgstr ""
|
|
4522 |
msgid "You are not allowed to register."
|
4523 |
msgstr ""
|
4524 |
|
4525 |
-
#: admin/cerber-dashboard.php:
|
4526 |
msgid "You cannot add your IP address or network"
|
4527 |
msgstr ""
|
4528 |
|
@@ -4577,33 +4598,33 @@ msgid ""
|
|
4577 |
"safeguard your account."
|
4578 |
msgstr ""
|
4579 |
|
4580 |
-
#: admin/cerber-dashboard.php:
|
4581 |
msgid "You will be notified when such an event occurs"
|
4582 |
msgstr ""
|
4583 |
|
4584 |
-
#: admin/cerber-dashboard.php:
|
4585 |
msgid "Your IP"
|
4586 |
msgstr ""
|
4587 |
|
4588 |
-
#: cerber-load.php:
|
4589 |
#, php-format
|
4590 |
msgid "Your IP address %s has been added to the White IP Access List"
|
4591 |
msgstr ""
|
4592 |
|
4593 |
-
#: cerber-load.php:
|
4594 |
#, php-format
|
4595 |
msgid "Your last sign-in was %s from %s"
|
4596 |
msgstr ""
|
4597 |
|
4598 |
-
#: cerber-load.php:
|
4599 |
msgid "Your license is valid until"
|
4600 |
msgstr ""
|
4601 |
|
4602 |
-
#: cerber-load.php:
|
4603 |
msgid "Your login page:"
|
4604 |
msgstr ""
|
4605 |
|
4606 |
-
#: cerber-load.php:
|
4607 |
msgid ""
|
4608 |
"Your request looks suspiciously similar to automated requests from spam "
|
4609 |
"posting software or it has been denied by a security policy configured by "
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: WP Cerber Security, Anti-spam & Malware Scan\n"
|
6 |
"Report-Msgid-Bugs-To: \n"
|
7 |
+
"POT-Creation-Date: 2022-11-09 00:12+0000\n"
|
8 |
"POT-Revision-Date: Fri Mar 12 2021 20:21:05 GMT+0300 (Moscow Standard Time)\n"
|
9 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
10 |
"Last-Translator: \n"
|
41 |
msgstr ""
|
42 |
|
43 |
#. Time difference between two dates, in seconds (sec=second). 1: Number of seconds
|
44 |
+
#: cerber-common.php:2237
|
45 |
#, php-format
|
46 |
msgid "%s sec"
|
47 |
msgid_plural "%s secs"
|
66 |
msgid "A database error occurred while importing access list entries"
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: cerber-load.php:4920
|
70 |
msgid "A new activity has occurred"
|
71 |
msgstr ""
|
72 |
|
74 |
msgid "A new version is available"
|
75 |
msgstr ""
|
76 |
|
77 |
+
#: cerber-common.php:2487
|
78 |
#, php-format
|
79 |
msgid "A new version of %s is available. Please install it."
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: cerber-load.php:4877 cerber-load.php:4879
|
83 |
msgid "A new version of WP Cerber is available to install"
|
84 |
msgstr ""
|
85 |
|
88 |
msgstr ""
|
89 |
|
90 |
#. %s is the name of a mobile device or/and email addresses.
|
91 |
+
#: admin/cerber-dashboard.php:752
|
92 |
#, php-format
|
93 |
msgid "A test message has been sent to %s"
|
94 |
msgstr ""
|
124 |
msgid "Accounts & Roles"
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: admin/cerber-dashboard.php:250 admin/cerber-users.php:1059
|
128 |
#: admin/cerber-admin.php:775 admin/cerber-admin.php:930
|
129 |
msgid "Action"
|
130 |
msgstr ""
|
133 |
msgid "Activated"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: admin/cerber-dashboard.php:2186 admin/cerber-dashboard.php:2216
|
137 |
msgid "active"
|
138 |
msgstr ""
|
139 |
|
145 |
msgid "Active sessions"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: cerber-load.php:5983 cerber-settings.php:368 admin/cerber-dashboard.php:2250
|
149 |
#: admin/cerber-dashboard.php:5462 admin/cerber-users.php:1245
|
150 |
msgid "Activity"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: cerber-load.php:5335
|
154 |
msgid "Activity details"
|
155 |
msgstr ""
|
156 |
|
170 |
msgid "Add a remote website"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: admin/cerber-dashboard.php:387
|
174 |
msgid "Add Entry"
|
175 |
msgstr ""
|
176 |
|
195 |
msgid "Added"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: admin/cerber-dashboard.php:1033
|
199 |
msgid "Additional Details"
|
200 |
msgstr ""
|
201 |
|
271 |
msgid "Allow these namespaces"
|
272 |
msgstr ""
|
273 |
|
274 |
+
#: cerber-lab.php:896
|
275 |
msgid ""
|
276 |
"Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. "
|
277 |
"This helps the plugin team to develop new algorithms for WP Cerber that will "
|
339 |
msgid "Any country is permitted"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: cerber-common.php:1893
|
343 |
msgid "API request authorization failed"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: cerber-common.php:1892
|
347 |
msgid "API request authorized"
|
348 |
msgstr ""
|
349 |
|
378 |
msgid "Are you sure? This permanently invalidates the token."
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: cerber-common.php:2071
|
382 |
msgid "Attempt to access"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: cerber-common.php:1865 cerber-common.php:2072
|
386 |
msgid "Attempt to access prohibited URL"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: cerber-common.php:1870
|
390 |
msgid "Attempt to log in denied"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: cerber-common.php:1866 cerber-common.php:2073
|
394 |
msgid "Attempt to log in with non-existing username"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: cerber-common.php:1867 cerber-common.php:2074
|
398 |
msgid "Attempt to log in with prohibited username"
|
399 |
msgstr ""
|
400 |
|
401 |
+
#: cerber-common.php:1871
|
402 |
msgid "Attempt to register denied"
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: cerber-common.php:2080
|
406 |
msgid "Attempt to upload a file with malicious code"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: cerber-common.php:1873
|
410 |
msgid "Attempt to upload malicious file denied"
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: cerber-load.php:5349
|
414 |
msgid "Attempts to log in with non-existing usernames"
|
415 |
msgstr ""
|
416 |
|
470 |
msgid "Average Size"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: cerber-load.php:8380
|
474 |
msgid "Awesome!"
|
475 |
msgstr ""
|
476 |
|
488 |
"key on the Google website"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: admin/cerber-dashboard.php:324 admin/cerber-dashboard.php:1702
|
492 |
#: admin/cerber-dashboard.php:1784 admin/cerber-dashboard.php:2208
|
493 |
#: admin/cerber-tools.php:70
|
494 |
msgid "Black IP Access List"
|
572 |
msgid "Blocked Users"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: cerber-common.php:2076
|
576 |
msgid "Bot activity is detected"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: cerber-common.php:1911
|
580 |
msgid "Bot detected"
|
581 |
msgstr ""
|
582 |
|
600 |
msgid "by date of registration"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: cerber-load.php:8360
|
604 |
msgid ""
|
605 |
"By sharing your unique opinion on WP Cerber, you help the engineers behind "
|
606 |
"the plugin make greater progress and help other professionals find the right "
|
608 |
"free to use your native language. Thanks!"
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: cerber-load.php:4897
|
612 |
msgid "By the user"
|
613 |
msgstr ""
|
614 |
|
615 |
+
#: cerber-common.php:2364
|
616 |
msgid "Bytes"
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: cerber-load.php:6254
|
620 |
msgid "Can't activate WP Cerber due to a database error."
|
621 |
msgstr ""
|
622 |
|
692 |
msgid "Channels to send alerts"
|
693 |
msgstr ""
|
694 |
|
695 |
+
#: admin/cerber-dashboard.php:370 admin/cerber-dashboard.php:1771
|
696 |
#: admin/cerber-dashboard.php:1827 admin/cerber-dashboard.php:2037
|
697 |
msgid "Check for activities"
|
698 |
msgstr ""
|
701 |
msgid "Check for requests"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: admin/cerber-dashboard.php:1489
|
705 |
msgid "Check for requests from the IP address"
|
706 |
msgstr ""
|
707 |
|
717 |
msgid "Checksum mismatch"
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: cerber-common.php:1836
|
721 |
msgid "Citadel activated!"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: cerber-settings.php:339 admin/cerber-dashboard.php:2209
|
725 |
msgid "Citadel mode"
|
726 |
msgstr ""
|
727 |
|
729 |
msgid "Citadel mode duration"
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: cerber-load.php:4834
|
733 |
#, php-format
|
734 |
msgid ""
|
735 |
"Citadel mode has been activated after %d failed login attempts in %d minutes."
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: cerber-load.php:4832 cerber-common.php:1912
|
739 |
msgid "Citadel mode is active"
|
740 |
msgstr ""
|
741 |
|
755 |
msgid "Click on a country name to add it to the list of selected countries"
|
756 |
msgstr ""
|
757 |
|
758 |
+
#: admin/cerber-dashboard.php:259
|
759 |
msgid "Click the IP address to see its activity"
|
760 |
msgstr ""
|
761 |
|
771 |
msgid "Click to send test"
|
772 |
msgstr ""
|
773 |
|
774 |
+
#: cerber-common.php:1840
|
775 |
msgid "Comment denied"
|
776 |
msgstr ""
|
777 |
|
821 |
msgid "Countries"
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: admin/cerber-dashboard.php:247 admin/cerber-dashboard.php:1418
|
825 |
msgid "Country"
|
826 |
msgstr ""
|
827 |
|
889 |
msgid "Data Shield Policies"
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: admin/cerber-dashboard.php:1031 admin/cerber-dashboard.php:1419
|
893 |
#: admin/cerber-dashboard.php:4224 admin/cerber-dashboard.php:4709
|
894 |
msgid "Date"
|
895 |
msgstr ""
|
902 |
msgid "Date format for CSV export"
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: cerber-load.php:4979 cerber-2fa.php:522
|
906 |
msgid "Date:"
|
907 |
msgstr ""
|
908 |
|
923 |
msgid "Default processing"
|
924 |
msgstr ""
|
925 |
|
926 |
+
#: admin/cerber-dashboard.php:824
|
927 |
msgid "Default settings have been loaded"
|
928 |
msgstr ""
|
929 |
|
944 |
msgid "Deferred rendering"
|
945 |
msgstr ""
|
946 |
|
947 |
+
#: admin/cerber-dashboard.php:1474 admin/cerber-tools.php:378
|
948 |
#: admin/cerber-admin.php:228
|
949 |
msgid "Delete"
|
950 |
msgstr ""
|
989 |
msgid "Deleted"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: cerber-common.php:1910 cerber-common.php:1919
|
993 |
msgid "Denied"
|
994 |
msgstr ""
|
995 |
|
1009 |
msgid "Deny it completely"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: cerber-common.php:3475
|
1013 |
msgid "Destination folder access denied"
|
1014 |
msgstr ""
|
1015 |
|
1113 |
msgid "Disabled"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: admin/cerber-dashboard.php:2193 admin/cerber-dashboard.php:2211
|
1117 |
msgid "disabled"
|
1118 |
msgstr ""
|
1119 |
|
1202 |
msgid "Duration"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: cerber-common.php:1580
|
1206 |
#, php-format
|
1207 |
msgctxt "e.g. blocked by John at 11:00"
|
1208 |
msgid "blocked by %s at %s"
|
1315 |
msgid "Enable traffic inspection"
|
1316 |
msgstr ""
|
1317 |
|
1318 |
+
#: admin/cerber-dashboard.php:2211
|
1319 |
+
msgid "enabled"
|
1320 |
+
msgstr ""
|
1321 |
+
|
1322 |
#: cerber-settings.php:726 admin/cerber-users.php:479
|
1323 |
msgid "Enabled, access to API using standard user passwords is allowed"
|
1324 |
msgstr ""
|
1386 |
msgid "Errors"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
+
#: admin/cerber-dashboard.php:1032 admin/cerber-dashboard.php:1420
|
1390 |
msgid "Event"
|
1391 |
msgstr ""
|
1392 |
|
1407 |
msgid "Last malware scan"
|
1408 |
msgstr ""
|
1409 |
|
1410 |
+
#: cerber-common.php:1968 cerber-common.php:2085
|
1411 |
+
msgid "Exceeded the limit on the number of attempts to enter 2FA code"
|
1412 |
+
msgstr ""
|
1413 |
+
|
1414 |
#: cerber-scanner.php:1638
|
1415 |
msgid "Executable code found"
|
1416 |
msgstr ""
|
1427 |
msgid "Executable files are not supported. Please upload a ZIP archive."
|
1428 |
msgstr ""
|
1429 |
|
1430 |
+
#: admin/cerber-dashboard.php:248 admin/cerber-users.php:1056
|
1431 |
msgid "Expires"
|
1432 |
msgstr ""
|
1433 |
|
1435 |
msgid "expires"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
+
#: admin/cerber-dashboard.php:1451 admin/cerber-dashboard.php:4802
|
1439 |
msgid "Export"
|
1440 |
msgstr ""
|
1441 |
|
1491 |
msgid "File Name"
|
1492 |
msgstr ""
|
1493 |
|
1494 |
+
#: cerber-common.php:3478
|
1495 |
msgid "File not found"
|
1496 |
msgstr ""
|
1497 |
|
1499 |
msgid "File recovered"
|
1500 |
msgstr ""
|
1501 |
|
1502 |
+
#: cerber-common.php:1874
|
1503 |
msgid "File upload denied"
|
1504 |
msgstr ""
|
1505 |
|
1539 |
msgid "Files without extension"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
+
#: admin/cerber-dashboard.php:1515
|
1543 |
msgid "Filter"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
+
#: admin/cerber-dashboard.php:1503 admin/cerber-users.php:1101
|
1547 |
msgid "Filter by registered user"
|
1548 |
msgstr ""
|
1549 |
|
1577 |
msgid "Form fields data"
|
1578 |
msgstr ""
|
1579 |
|
1580 |
+
#: cerber-common.php:1839
|
1581 |
msgid "Form submission denied"
|
1582 |
msgstr ""
|
1583 |
|
1585 |
msgid "Form submissions"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
+
#: cerber-load.php:4901
|
1589 |
msgid "From the country"
|
1590 |
msgstr ""
|
1591 |
|
1592 |
+
#: cerber-load.php:4898
|
1593 |
msgid "From the IP address"
|
1594 |
msgstr ""
|
1595 |
|
1605 |
msgid "Full Scan Report"
|
1606 |
msgstr ""
|
1607 |
|
1608 |
+
#: admin/cerber-dashboard.php:1476
|
1609 |
msgid "Get me notified when such an event occurs"
|
1610 |
msgstr ""
|
1611 |
|
1613 |
msgid "Get notified instantly with mobile and desktop notifications"
|
1614 |
msgstr ""
|
1615 |
|
1616 |
+
#: cerber-load.php:4907 cerber-load.php:6300
|
1617 |
msgid "Getting Started Guide"
|
1618 |
msgstr ""
|
1619 |
|
1649 |
msgid "Here are the details of the sign-in attempt"
|
1650 |
msgstr ""
|
1651 |
|
1652 |
+
#: cerber-load.php:4878
|
1653 |
msgid "Hi!"
|
1654 |
msgstr ""
|
1655 |
|
1669 |
msgid "Host Info"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
+
#: admin/cerber-dashboard.php:246 admin/cerber-dashboard.php:1417
|
1673 |
msgid "Hostname"
|
1674 |
msgstr ""
|
1675 |
|
1748 |
"email address on the account."
|
1749 |
msgstr ""
|
1750 |
|
1751 |
+
#: cerber-load.php:4710
|
1752 |
msgid ""
|
1753 |
"If you believe you should be able to perform this request, please let us "
|
1754 |
"know."
|
1793 |
"Immediately block IP when attempting to log in with a non-existing username"
|
1794 |
msgstr ""
|
1795 |
|
1796 |
+
#: cerber-load.php:6309
|
1797 |
msgid "Import settings"
|
1798 |
msgstr ""
|
1799 |
|
1885 |
msgid "Invalid cookies cleared"
|
1886 |
msgstr ""
|
1887 |
|
1888 |
+
#: cerber-common.php:1902
|
1889 |
msgid "Invalid master credentials"
|
1890 |
msgstr ""
|
1891 |
|
1901 |
msgid "Invisible reCAPTCHA"
|
1902 |
msgstr ""
|
1903 |
|
1904 |
+
#: admin/cerber-dashboard.php:245 admin/cerber-dashboard.php:1030
|
1905 |
#: admin/cerber-dashboard.php:1416 admin/cerber-dashboard.php:4711
|
1906 |
#: admin/cerber-users.php:1057
|
1907 |
msgid "IP Address"
|
1908 |
msgstr ""
|
1909 |
|
1910 |
+
#: cerber-load.php:5988 cerber-load.php:5989 admin/cerber-dashboard.php:4223
|
1911 |
msgid "IP address"
|
1912 |
msgstr ""
|
1913 |
|
1914 |
+
#: admin/cerber-dashboard.php:414
|
1915 |
#, php-format
|
1916 |
msgid "IP address %s has been added to Black IP Access List"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
+
#: admin/cerber-dashboard.php:417
|
1920 |
#, php-format
|
1921 |
msgid "IP address %s has been added to White IP Access List"
|
1922 |
msgstr ""
|
1929 |
msgid "IP address is not allowed"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
+
#: admin/cerber-dashboard.php:386
|
1933 |
msgid "IP address, range, wildcard, or CIDR"
|
1934 |
msgstr ""
|
1935 |
|
1941 |
msgid "IP blacklisted"
|
1942 |
msgstr ""
|
1943 |
|
1944 |
+
#: cerber-common.php:1832 admin/cerber-dashboard.php:1175
|
1945 |
msgid "IP blocked"
|
1946 |
msgstr ""
|
1947 |
|
1948 |
+
#: cerber-common.php:1833
|
1949 |
msgid "IP subnet blocked"
|
1950 |
msgstr ""
|
1951 |
|
1999 |
"with public web access, report them, and remove malicious ones."
|
2000 |
msgstr ""
|
2001 |
|
2002 |
+
#: cerber-lab.php:899 admin/cerber-admin-settings.php:107
|
2003 |
#: admin/cerber-admin-settings.php:266
|
2004 |
msgid "Know more"
|
2005 |
msgstr ""
|
2012 |
msgid "Largest"
|
2013 |
msgstr ""
|
2014 |
|
2015 |
+
#: cerber-load.php:4835
|
2016 |
#, php-format
|
2017 |
msgid "Last failed attempt was at %s from IP %s using username: %s."
|
2018 |
msgstr ""
|
2021 |
msgid "Last lockout"
|
2022 |
msgstr ""
|
2023 |
|
2024 |
+
#: cerber-load.php:4869
|
2025 |
#, php-format
|
2026 |
msgid "Last lockout was added: %s for IP %s"
|
2027 |
msgstr ""
|
2066 |
msgid "Limit on concurrent user sessions"
|
2067 |
msgstr ""
|
2068 |
|
2069 |
+
#: cerber-common.php:2075
|
2070 |
msgid "Limit on failed reCAPTCHA verifications is reached"
|
2071 |
msgstr ""
|
2072 |
|
2073 |
+
#: cerber-common.php:2070
|
2074 |
msgid "Limit on login attempts is reached"
|
2075 |
msgstr ""
|
2076 |
|
2078 |
msgid "Limit reached"
|
2079 |
msgstr ""
|
2080 |
|
2081 |
+
#: admin/cerber-dashboard.php:380
|
2082 |
msgid "List is empty"
|
2083 |
msgstr ""
|
2084 |
|
2106 |
msgid "Local hash not found"
|
2107 |
msgstr ""
|
2108 |
|
2109 |
+
#: admin/cerber-dashboard.php:1034 admin/cerber-dashboard.php:1421
|
2110 |
#: admin/cerber-dashboard.php:4714
|
2111 |
msgid "Local User"
|
2112 |
msgstr ""
|
2121 |
"Lock out IP address for %s minutes after %s failed attempts within %s minutes"
|
2122 |
msgstr ""
|
2123 |
|
2124 |
+
#: admin/cerber-dashboard.php:1790
|
2125 |
msgid "Locked out"
|
2126 |
msgstr ""
|
2127 |
|
2128 |
+
#: admin/cerber-dashboard.php:720
|
2129 |
#, php-format
|
2130 |
msgid "Lockout for %s was removed"
|
2131 |
msgstr ""
|
2170 |
msgid "Log Out"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
+
#: cerber-common.php:1827
|
2174 |
msgid "Logged in"
|
2175 |
msgstr ""
|
2176 |
|
2177 |
+
#: cerber-common.php:1828
|
2178 |
msgid "Logged out"
|
2179 |
msgstr ""
|
2180 |
|
2195 |
msgid "Logging mode"
|
2196 |
msgstr ""
|
2197 |
|
2198 |
+
#: cerber-common.php:1829
|
2199 |
msgid "Login failed"
|
2200 |
msgstr ""
|
2201 |
|
2219 |
msgid "Login from a different network Class C"
|
2220 |
msgstr ""
|
2221 |
|
2222 |
+
#: admin/cerber-dashboard.php:1160
|
2223 |
msgid "Login issues"
|
2224 |
msgstr ""
|
2225 |
|
2267 |
msgid "Malicious activity detected"
|
2268 |
msgstr ""
|
2269 |
|
2270 |
+
#: cerber-common.php:1923 cerber-common.php:2079
|
2271 |
msgid "Malicious code detected"
|
2272 |
msgstr ""
|
2273 |
|
2279 |
msgid "Malicious IP addresses detected"
|
2280 |
msgstr ""
|
2281 |
|
2282 |
+
#: cerber-common.php:1885
|
2283 |
msgid "Malicious request denied"
|
2284 |
msgstr ""
|
2285 |
|
2381 |
msgid "Move spam comments to trash after"
|
2382 |
msgstr ""
|
2383 |
|
2384 |
+
#: cerber-common.php:2082
|
2385 |
msgid "Multiple erroneous requests"
|
2386 |
msgstr ""
|
2387 |
|
2389 |
msgid "Multiple suspicious activities"
|
2390 |
msgstr ""
|
2391 |
|
2392 |
+
#: cerber-common.php:2077
|
2393 |
msgid "Multiple suspicious activities were detected"
|
2394 |
msgstr ""
|
2395 |
|
2396 |
+
#: cerber-common.php:2083
|
2397 |
msgid "Multiple suspicious requests"
|
2398 |
msgstr ""
|
2399 |
|
2400 |
+
#: admin/cerber-dashboard.php:1179
|
2401 |
msgid "My activity"
|
2402 |
msgstr ""
|
2403 |
|
2404 |
+
#: admin/cerber-dashboard.php:1180 admin/cerber-dashboard.php:4784
|
2405 |
msgid "My IP"
|
2406 |
msgstr ""
|
2407 |
|
2426 |
msgid "Network:"
|
2427 |
msgstr ""
|
2428 |
|
2429 |
+
#: cerber-common.php:2249 nexus/cerber-slave-list.php:347
|
2430 |
+
#: admin/cerber-dashboard.php:530 admin/cerber-dashboard.php:2181
|
2431 |
#: admin/cerber-dashboard.php:2230
|
2432 |
msgid "Never"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
+
#: cerber-load.php:4916
|
2436 |
msgid "New Custom login URL"
|
2437 |
msgstr ""
|
2438 |
|
2444 |
msgid "New files"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
+
#: admin/cerber-dashboard.php:1159
|
2448 |
msgid "New users"
|
2449 |
msgstr ""
|
2450 |
|
2456 |
msgid "Newest"
|
2457 |
msgstr ""
|
2458 |
|
2459 |
+
#: admin/cerber-dashboard.php:1468 admin/cerber-dashboard.php:1912
|
2460 |
#: admin/cerber-dashboard.php:2789 admin/cerber-admin.php:1340
|
2461 |
msgid "No activity has been logged yet."
|
2462 |
msgstr ""
|
2463 |
|
2464 |
+
#: admin/cerber-dashboard.php:2216
|
2465 |
+
msgid "no connection"
|
2466 |
+
msgstr ""
|
2467 |
+
|
2468 |
#: admin/cerber-admin.php:958
|
2469 |
msgid "No data for generating reports"
|
2470 |
msgstr ""
|
2473 |
msgid "No devices found"
|
2474 |
msgstr ""
|
2475 |
|
2476 |
+
#: admin/cerber-dashboard.php:1471
|
2477 |
msgid "No events found using the given search criteria"
|
2478 |
msgstr ""
|
2479 |
|
2493 |
msgid "No limit"
|
2494 |
msgstr ""
|
2495 |
|
2496 |
+
#: admin/cerber-dashboard.php:276 admin/cerber-dashboard.php:2849
|
2497 |
msgid "No lockouts at the moment. The sky is clear."
|
2498 |
msgstr ""
|
2499 |
|
2517 |
msgid "No websites configured."
|
2518 |
msgstr ""
|
2519 |
|
2520 |
+
#: cerber-lab.php:898
|
2521 |
msgid "NO, maybe later"
|
2522 |
msgstr ""
|
2523 |
|
2524 |
+
#: admin/cerber-dashboard.php:1177 admin/cerber-dashboard.php:4778
|
2525 |
msgid "Non-authenticated"
|
2526 |
msgstr ""
|
2527 |
|
2572 |
msgid "notifications are allowed per hour (0 means unlimited)"
|
2573 |
msgstr ""
|
2574 |
|
2575 |
+
#: cerber-load.php:4866
|
2576 |
msgid "Number of active lockouts"
|
2577 |
msgstr ""
|
2578 |
|
2580 |
msgid "Number of allowed concurrent user sessions"
|
2581 |
msgstr ""
|
2582 |
|
2583 |
+
#: cerber-load.php:4864
|
2584 |
msgid "Number of lockouts is increasing"
|
2585 |
msgstr ""
|
2586 |
|
2592 |
msgid "OK"
|
2593 |
msgstr ""
|
2594 |
|
2595 |
+
#: cerber-lab.php:897
|
2596 |
msgid "OK, nail them all"
|
2597 |
msgstr ""
|
2598 |
|
2631 |
msgid "Optional alert limits"
|
2632 |
msgstr ""
|
2633 |
|
2634 |
+
#: admin/cerber-dashboard.php:388
|
2635 |
msgid "Optional comment for this entry"
|
2636 |
msgstr ""
|
2637 |
|
2663 |
msgid "Parsing the list of files"
|
2664 |
msgstr ""
|
2665 |
|
2666 |
+
#: cerber-common.php:1849
|
2667 |
msgid "Password changed"
|
2668 |
msgstr ""
|
2669 |
|
2670 |
#. %s is the name of a website administrator who changed the password.
|
2671 |
+
#: cerber-common.php:1851
|
2672 |
#, php-format
|
2673 |
msgid "Password changed by %s"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
+
#: cerber-common.php:1857
|
2677 |
msgid "Password reset request denied"
|
2678 |
msgstr ""
|
2679 |
|
2680 |
+
#: cerber-common.php:1852
|
2681 |
msgid "Password reset requested"
|
2682 |
msgstr ""
|
2683 |
|
2774 |
msgid "Preparing for the scan"
|
2775 |
msgstr ""
|
2776 |
|
2777 |
+
#: cerber-common.php:2244
|
2778 |
#, php-format
|
2779 |
msgctxt "preposition of a period of time like: in 6 hours"
|
2780 |
msgid "in %s"
|
2806 |
msgid "Proactive security rules"
|
2807 |
msgstr ""
|
2808 |
|
2809 |
+
#: cerber-common.php:1872 cerber-common.php:2078
|
2810 |
msgid "Probing for vulnerable code"
|
2811 |
msgstr ""
|
2812 |
|
2894 |
msgid "Read-only mode"
|
2895 |
msgstr ""
|
2896 |
|
2897 |
+
#: cerber-load.php:4870 admin/cerber-dashboard.php:249
|
2898 |
msgid "Reason"
|
2899 |
msgstr ""
|
2900 |
|
2902 |
msgid "reCAPTCHA settings"
|
2903 |
msgstr ""
|
2904 |
|
2905 |
+
#: cerber-common.php:1861 cerber-common.php:1962
|
2906 |
msgid "reCAPTCHA settings are incorrect"
|
2907 |
msgstr ""
|
2908 |
|
2909 |
+
#: cerber-common.php:1860 cerber-common.php:1961
|
2910 |
msgid "reCAPTCHA verification failed"
|
2911 |
msgstr ""
|
2912 |
|
2982 |
msgid "Regular time intervals (days)"
|
2983 |
msgstr ""
|
2984 |
|
2985 |
+
#: admin/cerber-dashboard.php:238 admin/cerber-dashboard.php:374
|
2986 |
msgid "Remove"
|
2987 |
msgstr ""
|
2988 |
|
2998 |
msgid "Request"
|
2999 |
msgstr ""
|
3000 |
|
3001 |
+
#: admin/cerber-dashboard.php:1507
|
3002 |
msgid "Request ID"
|
3003 |
msgstr ""
|
3004 |
|
3005 |
+
#: cerber-common.php:1876
|
3006 |
msgid "Request to REST API denied"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
+
#: cerber-common.php:1862 cerber-common.php:1963
|
3010 |
msgid "Request to the Google reCAPTCHA service failed"
|
3011 |
msgstr ""
|
3012 |
|
3013 |
+
#: cerber-common.php:1877
|
3014 |
msgid "Request to XML-RPC API denied"
|
3015 |
msgstr ""
|
3016 |
|
3074 |
msgid "Return to the website list"
|
3075 |
msgstr ""
|
3076 |
|
3077 |
+
#: cerber-common.php:1881
|
3078 |
msgid "Role update denied"
|
3079 |
msgstr ""
|
3080 |
|
3142 |
msgid "Scanned"
|
3143 |
msgstr ""
|
3144 |
|
3145 |
+
#: cerber-load.php:4935
|
3146 |
msgid "Scanner Report"
|
3147 |
msgstr ""
|
3148 |
|
3174 |
msgid "Search for IP address"
|
3175 |
msgstr ""
|
3176 |
|
3177 |
+
#: admin/cerber-dashboard.php:1504
|
3178 |
msgid "Search for IP or username"
|
3179 |
msgstr ""
|
3180 |
|
3181 |
+
#: admin/cerber-dashboard.php:1508
|
3182 |
msgid "Search in URL"
|
3183 |
msgstr ""
|
3184 |
|
3186 |
msgid "Search results for:"
|
3187 |
msgstr ""
|
3188 |
|
3189 |
+
#: cerber-load.php:6003 cerber-load.php:6004
|
3190 |
msgid "Search string"
|
3191 |
msgstr ""
|
3192 |
|
3286 |
msgid "Sessions"
|
3287 |
msgstr ""
|
3288 |
|
3289 |
+
#: cerber-common.php:1882
|
3290 |
msgid "Setting update denied"
|
3291 |
msgstr ""
|
3292 |
|
3419 |
msgid "Space Occupied"
|
3420 |
msgstr ""
|
3421 |
|
3422 |
+
#: cerber-common.php:1837
|
3423 |
msgid "Spam comment denied"
|
3424 |
msgstr ""
|
3425 |
|
3427 |
msgid "Spam comments denied"
|
3428 |
msgstr ""
|
3429 |
|
3430 |
+
#: cerber-common.php:1838
|
3431 |
msgid "Spam form submission denied"
|
3432 |
msgstr ""
|
3433 |
|
3513 |
msgid "Submit forms"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
+
#: admin/cerber-dashboard.php:1165
|
3517 |
msgid "Suspicious activity"
|
3518 |
msgstr ""
|
3519 |
|
3577 |
msgid "Terminate user sessions"
|
3578 |
msgstr ""
|
3579 |
|
3580 |
+
#: admin/cerber-dashboard.php:747
|
3581 |
msgid "TEST MESSAGE"
|
3582 |
msgstr ""
|
3583 |
|
3673 |
msgid "The website you are trying to add is already in the list"
|
3674 |
msgstr ""
|
3675 |
|
3676 |
+
#: cerber-load.php:4885
|
3677 |
msgid "The WP Cerber Security plugin has been deactivated"
|
3678 |
msgstr ""
|
3679 |
|
3680 |
+
#: cerber-load.php:4905
|
3681 |
msgid "The WP Cerber Security plugin is now active"
|
3682 |
msgstr ""
|
3683 |
|
3754 |
msgid "Medium"
|
3755 |
msgstr ""
|
3756 |
|
|
|
|
|
|
|
|
|
3757 |
#: cerber-settings.php:665
|
3758 |
msgid ""
|
3759 |
"This message is displayed to a user if the IP address of the user's computer "
|
3760 |
"is not whitelisted"
|
3761 |
msgstr ""
|
3762 |
|
3763 |
+
#: cerber-load.php:4978
|
3764 |
+
msgid "This message was created by"
|
3765 |
+
msgstr ""
|
3766 |
+
|
3767 |
#: admin/cerber-dashboard.php:3480
|
3768 |
msgid ""
|
3769 |
"This scan report was generated by the previous version of WP Cerber. Please "
|
3798 |
"the plugin cache."
|
3799 |
msgstr ""
|
3800 |
|
3801 |
+
#: cerber-load.php:4930 cerber-load.php:4938
|
3802 |
msgid "To change reporting settings visit"
|
3803 |
msgstr ""
|
3804 |
|
3805 |
+
#: cerber-load.php:6028
|
3806 |
msgid "To delete the alert, click here"
|
3807 |
msgstr ""
|
3808 |
|
3871 |
msgid "Traffic Inspection"
|
3872 |
msgstr ""
|
3873 |
|
3874 |
+
#: admin/cerber-dashboard.php:62 admin/cerber-dashboard.php:2212
|
3875 |
+
#: admin/cerber-dashboard.php:5532
|
3876 |
msgid "Traffic Inspector"
|
3877 |
msgstr ""
|
3878 |
|
3922 |
msgid "Unable to check the integrity of WordPress files due to a network error"
|
3923 |
msgstr ""
|
3924 |
|
3925 |
+
#: cerber-common.php:3481
|
3926 |
msgid "Unable to copy the file"
|
3927 |
msgstr ""
|
3928 |
|
3929 |
+
#: cerber-common.php:3470
|
3930 |
msgid "Unable to create the directory"
|
3931 |
msgstr ""
|
3932 |
|
3934 |
msgid "Unable to delete"
|
3935 |
msgstr ""
|
3936 |
|
3937 |
+
#: cerber-common.php:3487
|
3938 |
msgid "Unable to delete the file"
|
3939 |
msgstr ""
|
3940 |
|
3946 |
msgid "Unable to process file"
|
3947 |
msgstr ""
|
3948 |
|
3949 |
+
#: admin/cerber-dashboard.php:755
|
3950 |
msgid "Unable to send a test message"
|
3951 |
msgstr ""
|
3952 |
|
3962 |
msgid "Unattended suspicious file"
|
3963 |
msgstr ""
|
3964 |
|
3965 |
+
#: cerber-load.php:4889 cerber-whois.php:241 cerber-whois.php:272
|
3966 |
+
#: cerber-common.php:2096 nexus/cerber-slave-list.php:333
|
3967 |
+
#: admin/cerber-dashboard.php:502 admin/cerber-dashboard.php:4377
|
3968 |
#: admin/cerber-dashboard.php:4983
|
3969 |
msgid "Unknown"
|
3970 |
msgstr ""
|
3971 |
|
3972 |
+
#: admin/cerber-dashboard.php:651
|
3973 |
msgid "unknown"
|
3974 |
msgstr ""
|
3975 |
|
3977 |
msgid "Unknown Google's bot"
|
3978 |
msgstr ""
|
3979 |
|
3980 |
+
#: cerber-common.php:1981
|
3981 |
msgid "Unknown label"
|
3982 |
msgstr ""
|
3983 |
|
3984 |
+
#: cerber-load.php:4861
|
3985 |
msgid "unspecified"
|
3986 |
msgstr ""
|
3987 |
|
4089 |
msgid "Use XML-RPC"
|
4090 |
msgstr ""
|
4091 |
|
4092 |
+
#: cerber-load.php:5993 cerber-load.php:5994 admin/cerber-users.php:1053
|
4093 |
msgid "User"
|
4094 |
msgstr ""
|
4095 |
|
4099 |
msgstr[0] ""
|
4100 |
msgstr[1] ""
|
4101 |
|
4102 |
+
#: cerber-common.php:1899
|
4103 |
msgid "User activated"
|
4104 |
msgstr ""
|
4105 |
|
4111 |
msgid "User Agent"
|
4112 |
msgstr ""
|
4113 |
|
4114 |
+
#: cerber-common.php:1889
|
4115 |
msgid "User application password created"
|
4116 |
msgstr ""
|
4117 |
|
4118 |
#. %s is the name of a website administrator who created the password.
|
4119 |
+
#: cerber-common.php:1891
|
4120 |
#, php-format
|
4121 |
msgid "User application password created by %s"
|
4122 |
msgstr ""
|
4123 |
|
4124 |
+
#: cerber-common.php:1894
|
4125 |
msgid "User application password deleted"
|
4126 |
msgstr ""
|
4127 |
|
4128 |
#. %s is the name of a website administrator who deleted the password.
|
4129 |
+
#: cerber-common.php:1896
|
4130 |
#, php-format
|
4131 |
msgid "User application password deleted by %s"
|
4132 |
msgstr ""
|
4133 |
|
4134 |
+
#: cerber-common.php:1888
|
4135 |
msgid "User application password updated"
|
4136 |
msgstr ""
|
4137 |
|
4139 |
msgid "User blocked by administrator"
|
4140 |
msgstr ""
|
4141 |
|
4142 |
+
#: cerber-common.php:1820
|
4143 |
msgid "User created"
|
4144 |
msgstr ""
|
4145 |
|
4146 |
#. %s is the name of a website administrator who created the user.
|
4147 |
+
#: cerber-common.php:1822
|
4148 |
#, php-format
|
4149 |
msgid "User created by %s"
|
4150 |
msgstr ""
|
4151 |
|
4152 |
+
#: cerber-common.php:1879
|
4153 |
msgid "User creation denied"
|
4154 |
msgstr ""
|
4155 |
|
4156 |
+
#: cerber-common.php:1824
|
4157 |
msgid "User deleted"
|
4158 |
msgstr ""
|
4159 |
|
4160 |
#. %s is the name of a website administrator who deleted the user.
|
4161 |
+
#: cerber-common.php:1826
|
4162 |
#, php-format
|
4163 |
msgid "User deleted by %s"
|
4164 |
msgstr ""
|
4165 |
|
4166 |
+
#: admin/cerber-dashboard.php:1036 admin/cerber-dashboard.php:4229
|
4167 |
msgid "User ID"
|
4168 |
msgstr ""
|
4169 |
|
4179 |
msgid "User is not permitted to log into the website"
|
4180 |
msgstr ""
|
4181 |
|
4182 |
+
#: admin/cerber-dashboard.php:1035
|
4183 |
msgid "User login"
|
4184 |
msgstr ""
|
4185 |
|
4191 |
msgid "User message"
|
4192 |
msgstr ""
|
4193 |
|
4194 |
+
#: cerber-common.php:1883
|
4195 |
msgid "User metadata update denied"
|
4196 |
msgstr ""
|
4197 |
|
4199 |
msgid "User Policies"
|
4200 |
msgstr ""
|
4201 |
|
4202 |
+
#: cerber-common.php:1823
|
4203 |
msgid "User registered"
|
4204 |
msgstr ""
|
4205 |
|
4211 |
msgid "User registrations are limited to these roles"
|
4212 |
msgstr ""
|
4213 |
|
4214 |
+
#: cerber-common.php:1880
|
4215 |
msgid "User row update denied"
|
4216 |
msgstr ""
|
4217 |
|
4219 |
msgid "User session expiration time"
|
4220 |
msgstr ""
|
4221 |
|
4222 |
+
#: cerber-common.php:1853
|
4223 |
msgid "User session terminated"
|
4224 |
msgstr ""
|
4225 |
|
4226 |
#. %s is the name of a website administrator who terminated the session.
|
4227 |
+
#: cerber-common.php:1855
|
4228 |
#, php-format
|
4229 |
msgid "User session terminated by %s"
|
4230 |
msgstr ""
|
4233 |
msgid "User Sessions"
|
4234 |
msgstr ""
|
4235 |
|
4236 |
+
#: cerber-common.php:1967
|
4237 |
+
msgid "User's browser does not match the one used to log in"
|
4238 |
+
msgstr ""
|
4239 |
+
|
4240 |
+
#: cerber-common.php:1966
|
4241 |
+
msgid "User's IP address does not match the one used to log in"
|
4242 |
+
msgstr ""
|
4243 |
+
|
4244 |
+
#: admin/cerber-dashboard.php:1037 admin/cerber-dashboard.php:1422
|
4245 |
msgid "Username"
|
4246 |
msgstr ""
|
4247 |
|
4257 |
msgid "username is prohibited"
|
4258 |
msgstr ""
|
4259 |
|
4260 |
+
#: cerber-load.php:5998 cerber-load.php:5999
|
4261 |
msgid "Username used"
|
4262 |
msgstr ""
|
4263 |
|
4268 |
"blocked. Use comma to separate logins."
|
4269 |
msgstr ""
|
4270 |
|
4271 |
+
#: admin/cerber-dashboard.php:1176 admin/cerber-dashboard.php:4777
|
4272 |
msgid "Users"
|
4273 |
msgstr ""
|
4274 |
|
4328 |
msgid "View Activity"
|
4329 |
msgstr ""
|
4330 |
|
4331 |
+
#: cerber-load.php:4873
|
4332 |
msgid "View activity for this IP"
|
4333 |
msgstr ""
|
4334 |
|
4335 |
+
#: cerber-load.php:4837 cerber-load.php:6027
|
4336 |
msgid "View activity in the Dashboard"
|
4337 |
msgstr ""
|
4338 |
|
4339 |
+
#: admin/cerber-dashboard.php:1144 admin/cerber-dashboard.php:1155
|
4340 |
+
#: admin/cerber-dashboard.php:1168 admin/cerber-dashboard.php:2852
|
4341 |
#: admin/cerber-dashboard.php:4774
|
4342 |
msgid "View all"
|
4343 |
msgstr ""
|
4346 |
msgid "view all"
|
4347 |
msgstr ""
|
4348 |
|
4349 |
+
#: admin/cerber-dashboard.php:1481
|
4350 |
msgid "View all logged events"
|
4351 |
msgstr ""
|
4352 |
|
4366 |
msgid "View denied REST API requests"
|
4367 |
msgstr ""
|
4368 |
|
4369 |
+
#: cerber-load.php:4874
|
4370 |
msgid "View lockouts in the Dashboard"
|
4371 |
msgstr ""
|
4372 |
|
4386 |
msgid "Vulnerability found"
|
4387 |
msgstr ""
|
4388 |
|
4389 |
+
#: cerber-lab.php:895
|
4390 |
msgid "Want to make WP Cerber even more powerful?"
|
4391 |
msgstr ""
|
4392 |
|
4394 |
msgid "We have not found any integrity data to verify"
|
4395 |
msgstr ""
|
4396 |
|
4397 |
+
#: cerber-load.php:8358
|
4398 |
msgid "We need your support to keep moving forward"
|
4399 |
msgstr ""
|
4400 |
|
4401 |
+
#: cerber-load.php:4708
|
4402 |
msgid "We're sorry, you are not allowed to proceed"
|
4403 |
msgstr ""
|
4404 |
|
4406 |
msgid "We've sent a verification PIN code to your email"
|
4407 |
msgstr ""
|
4408 |
|
4409 |
+
#: cerber-load.php:4882 cerber-load.php:4895 nexus/cerber-slave-list.php:44
|
4410 |
msgid "Website"
|
4411 |
msgstr ""
|
4412 |
|
4429 |
msgid "Website URL"
|
4430 |
msgstr ""
|
4431 |
|
4432 |
+
#: cerber-load.php:5323
|
4433 |
msgid "Weekly Report"
|
4434 |
msgstr ""
|
4435 |
|
4436 |
+
#: cerber-load.php:4927
|
4437 |
msgid "Weekly report"
|
4438 |
msgstr ""
|
4439 |
|
4477 |
"loaded. The Custom login URL and Access Lists will not be changed."
|
4478 |
msgstr ""
|
4479 |
|
4480 |
+
#: admin/cerber-dashboard.php:320 admin/cerber-dashboard.php:1699
|
4481 |
#: admin/cerber-dashboard.php:1781 admin/cerber-dashboard.php:2207
|
4482 |
#: admin/cerber-tools.php:69
|
4483 |
msgid "White IP Access List"
|
4499 |
msgid "WordPress uploads analysis"
|
4500 |
msgstr ""
|
4501 |
|
4502 |
+
#: cerber-load.php:4906 cerber-load.php:6296
|
4503 |
msgid "WP Cerber is now active and has started protecting your site"
|
4504 |
msgstr ""
|
4505 |
|
4506 |
+
#: cerber-load.php:6240 cerber-common.php:618
|
4507 |
#, php-format
|
4508 |
msgid "WP Cerber requires PHP %s or higher. You are running %s."
|
4509 |
msgstr ""
|
4510 |
|
4511 |
+
#: cerber-load.php:6244 cerber-common.php:622
|
4512 |
#, php-format
|
4513 |
msgid "WP Cerber requires WordPress %s or higher. You are running %s."
|
4514 |
msgstr ""
|
4521 |
msgid "Write failed login attempts to the file"
|
4522 |
msgstr ""
|
4523 |
|
4524 |
+
#: cerber-common.php:1573 admin/cerber-dashboard.php:2125
|
4525 |
#: admin/cerber-users.php:1212
|
4526 |
msgid "You"
|
4527 |
msgstr ""
|
4543 |
msgid "You are not allowed to register."
|
4544 |
msgstr ""
|
4545 |
|
4546 |
+
#: admin/cerber-dashboard.php:410
|
4547 |
msgid "You cannot add your IP address or network"
|
4548 |
msgstr ""
|
4549 |
|
4598 |
"safeguard your account."
|
4599 |
msgstr ""
|
4600 |
|
4601 |
+
#: admin/cerber-dashboard.php:1474
|
4602 |
msgid "You will be notified when such an event occurs"
|
4603 |
msgstr ""
|
4604 |
|
4605 |
+
#: admin/cerber-dashboard.php:332
|
4606 |
msgid "Your IP"
|
4607 |
msgstr ""
|
4608 |
|
4609 |
+
#: cerber-load.php:6282
|
4610 |
#, php-format
|
4611 |
msgid "Your IP address %s has been added to the White IP Access List"
|
4612 |
msgstr ""
|
4613 |
|
4614 |
+
#: cerber-load.php:5161
|
4615 |
#, php-format
|
4616 |
msgid "Your last sign-in was %s from %s"
|
4617 |
msgstr ""
|
4618 |
|
4619 |
+
#: cerber-load.php:4975
|
4620 |
msgid "Your license is valid until"
|
4621 |
msgstr ""
|
4622 |
|
4623 |
+
#: cerber-load.php:4970
|
4624 |
msgid "Your login page:"
|
4625 |
msgstr ""
|
4626 |
|
4627 |
+
#: cerber-load.php:4709
|
4628 |
msgid ""
|
4629 |
"Your request looks suspiciously similar to automated requests from spam "
|
4630 |
"posting software or it has been denied by a security policy configured by "
|
readme.txt
CHANGED
@@ -4,8 +4,8 @@ Tags: security, malware scanner, antispam, firewall, limit login attempts, custo
|
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SQ5EC8WQP654Q&source=url
|
5 |
Requires at least: 4.9
|
6 |
Requires PHP: 7.0
|
7 |
-
Tested up to: 6.
|
8 |
-
Stable tag: 9.
|
9 |
License: GPLv2
|
10 |
|
11 |
Protection against hacker attacks and bots. Malware scanner & integrity checker. User activity log. Antispam reCAPTCHA. Limit login attempts.
|
@@ -316,8 +316,17 @@ To get access to your dashboard you need to copy the WP Cerber Reset folder to t
|
|
316 |
|
317 |
== Changelog ==
|
318 |
|
319 |
-
= 9.
|
320 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
|
322 |
= 9.2 =
|
323 |
* New: Custom login error message. If showing the default WordPress login error message is disabled, you can optionally specify your own login error message. Available in the professional version.
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SQ5EC8WQP654Q&source=url
|
5 |
Requires at least: 4.9
|
6 |
Requires PHP: 7.0
|
7 |
+
Tested up to: 6.1
|
8 |
+
Stable tag: 9.3.3
|
9 |
License: GPLv2
|
10 |
|
11 |
Protection against hacker attacks and bots. Malware scanner & integrity checker. User activity log. Antispam reCAPTCHA. Limit login attempts.
|
316 |
|
317 |
== Changelog ==
|
318 |
|
319 |
+
= 9.3.2 =
|
320 |
+
* Improved: Every locked-out IP address on the "Lockout" tab has a link to check its suspicious activity in the Activity log.
|
321 |
+
* Improved: The activity log provides more details on [two-factor authentication (2FA)](https://wpcerber.com/two-factor-authentication-for-wordpress/) events with several new statuses that are logged if an attempt to log in using 2FA was aborted.
|
322 |
+
* Improved: The activity log provides more details when a user was forcefully logged out (user session has been terminated) due to a restriction.
|
323 |
+
* Fixed minor vulnerability: If WordPress is installed in a subfolder and [access to WordPress REST API has been blocked on the "Hardening" tab](https://wpcerber.com/restrict-access-to-wordpress-rest-api/), a bad actor can get access to REST API by using a specially formatted request.
|
324 |
+
* Fixed bug: Multiple duplicate notifications are sent via email and [Pushbullet](https://wpcerber.com/wordpress-mobile-and-browser-notifications-pushbullet/) if an IP address is permanently getting blocked due to multiply consequent malicious requests.
|
325 |
+
|
326 |
+
= 9.3 =
|
327 |
+
* This is a bug fix and code optimization version
|
328 |
+
* Fixed: Unable to remove a blocked IP network class C (with an asterisk) from the list of locked out IP addresses by clicking the "Remove" link on the Lockouts tab.
|
329 |
+
* Fixed: "Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in … /cerber-common.php on line 4634". The bug occurs if the PHP constant WP_ACCESSIBLE_HOSTS is defined and it does not contain 'downloads.wpcerber.com'.
|
330 |
|
331 |
= 9.2 =
|
332 |
* New: Custom login error message. If showing the default WordPress login error message is disabled, you can optionally specify your own login error message. Available in the professional version.
|
wp-cerber.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
Author: Cerber Tech Inc.
|
7 |
Author URI: https://wpcerber.com
|
8 |
Update URI: https://downloads.wpcerber.com/versions/wp-cerber.json
|
9 |
-
Version: 9.
|
10 |
Text Domain: wp-cerber
|
11 |
Domain Path: /languages
|
12 |
Network: true
|
@@ -32,7 +32,7 @@
|
|
32 |
|
33 |
*/
|
34 |
|
35 |
-
const CERBER_VER = '9.
|
36 |
const CERBER_PLUGIN_ID = 'wp-cerber/wp-cerber.php';
|
37 |
|
38 |
function cerber_plugin_file() {
|
6 |
Author: Cerber Tech Inc.
|
7 |
Author URI: https://wpcerber.com
|
8 |
Update URI: https://downloads.wpcerber.com/versions/wp-cerber.json
|
9 |
+
Version: 9.3.3
|
10 |
Text Domain: wp-cerber
|
11 |
Domain Path: /languages
|
12 |
Network: true
|
32 |
|
33 |
*/
|
34 |
|
35 |
+
const CERBER_VER = '9.3.3';
|
36 |
const CERBER_PLUGIN_ID = 'wp-cerber/wp-cerber.php';
|
37 |
|
38 |
function cerber_plugin_file() {
|