Cerber Security & Antispam - Version 6.0

Version Description

  • New: Traffic Inspector. Its a specialized request inspection algorithm that performs inspection all suspicious incoming HTTP requests and block them before they can harm a website.
  • New: Traffic Inspector optionally logs all or just suspicious and malicious requests so you can inspect them.
  • New: Added ability to clean up Cerbers DB tables.
  • New: If the web server has some issues and those issues can affect plugin functionality, they are shown on the Diagnostic page.
  • Added protection to prevent scheduled tasks from being executed multiple times an hour.
  • JavaScript antispam code is improved to eliminate excessive fields in GET requests.
  • To eliminate possible warning messages, the inet_pton() function has been replaced with filter_var().
Download this release

Release Info

Developer Gioni
Plugin Icon 128x128 Cerber Security & Antispam
Version 6.0
Comparing to
See all releases

Code changes from version 5.9 to 6.0

assets/admin.css CHANGED
@@ -82,7 +82,7 @@
82
  margin: 1em 0;
83
  }
84
 
85
- @media (max-width: 1200px) {
86
  #crb-aside {
87
  display: none;
88
  }
@@ -181,6 +181,22 @@
181
  padding-right: 0.4em;
182
  }
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  /* Messages */
185
  .crb-alarm {
186
  display: block;
@@ -223,15 +239,17 @@
223
 
224
  /* Tables */
225
 
226
- .crb-table {
227
- /*margin-top: 1em;*/
228
- }
229
 
230
- .crb-table tr:nth-child(even) {
231
  background: #f9f9f9
232
  }
233
-
234
- .crb-table tr:nth-child(odd) {
 
 
 
 
 
235
  background: #FFF
236
  }
237
 
@@ -240,6 +258,104 @@
240
  color: #222;
241
  }
242
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243
  /* IP info like WHOIS details */
244
 
245
  .ip-info-label {
@@ -274,11 +390,6 @@
274
  text-decoration: none;
275
  }
276
 
277
- #crb-activity td:nth-child(2),
278
- #crb-activity td:nth-child(5){
279
- word-break: break-all;
280
- }
281
-
282
  .crb-activity {
283
  margin-right: 0.7em;
284
  white-space: nowrap;
@@ -304,8 +415,17 @@ p.act-url{
304
  width: 1em;
305
  height: 1em;
306
  margin-right: 1em;
307
- background-color: inherit;
 
 
 
 
308
  }
 
 
 
 
 
309
 
310
  .ip-aclB,.color-black {
311
  background-color: #000;
@@ -333,7 +453,7 @@ p.act-url{
333
  border-right: 4px solid rgba(0, 0, 0, 0);
334
  }
335
 
336
- .red_label, .actv10, .actv11, .actv12, .actv16, .actv17, .actv18, .actv19, .actv41, .actv42, .actv53, .actv54, .actv70, .actv71 {
337
  display: inline-block;
338
  padding: 3px 5px 3px 5px;
339
  /*margin: 1px;*/
@@ -400,7 +520,7 @@ p.act-url{
400
  .acl-wrapper {
401
  margin-bottom: 30px;
402
  width: 100%;
403
- max-width: 1000px;
404
  }
405
 
406
  /*
@@ -427,8 +547,8 @@ p.act-url{
427
  width:100%;
428
  }
429
 
430
-
431
  .acl-items {
 
432
  border: 1px solid #aaa;
433
  background-color: #fff;
434
  max-height:400px;
@@ -442,26 +562,29 @@ p.act-url{
442
  width: 100%;
443
  }
444
  .acl-table td:first-child {
445
- width: 35%;
446
  white-space: pre;
447
  font-family: Consolas, Monaco, monospace;
448
  font-size: 110%;
449
  }
450
  .acl-table td:nth-child(2) {
451
- width: 40%;
452
  }
453
  .acl-table td:nth-child(3) {
454
- width: 10%;
455
  text-align: center;
456
  }
457
  .acl-table td:nth-child(4) {
458
- width: 15%;
459
  text-align: center;
460
  }
461
  .acl-table td {
462
  padding: 6px;
463
  background-color: #f5f5f5;
464
  }
 
 
 
465
  .acl-table tr td:not(:first-child) {
466
  /*.acl-table tr td:nth-child(2) {*/
467
  /*width: 20%;*/
@@ -539,11 +662,17 @@ a.nav-tab:first-child{
539
  padding-left: 5px;
540
  }
541
 
 
 
 
 
542
  .wilinks, .up-cerber {
543
  padding: 12px;
544
  text-align: center;
545
  }
546
-
 
 
547
  .wilinks a {
548
  white-space: nowrap;
549
  }
@@ -561,7 +690,7 @@ a.nav-tab:first-child{
561
 
562
  /* Ip extra, whois */
563
 
564
- div#ip-extra {
565
  overflow: auto;
566
  padding: 10px 25px;
567
  background-color: #f8f8f8;
@@ -569,30 +698,30 @@ div#ip-extra {
569
  border-bottom: none;
570
  vertical-align: middle;
571
  }
572
- div#ip-extra table{
573
  border-collapse: collapse;
574
  width: 100%;
575
  }
576
- div#ip-extra table td:nth-child(2){
577
  text-align: right;
578
  }
579
- div#ip-extra p{
580
  line-height: 0.7em !important;
581
  }
582
  /*div#ip-extra p:first-child {*/
583
- div#ip-extra span#ip-address,
584
- div#ip-extra span#ip-country{
585
  font-size: 115%;
586
  font-weight: bold;
587
  }
588
- div#ip-extra span#ip-address{
589
  margin-right: 1em;
590
  }
591
- div#ip-extra #ip-details {
592
  float: left;
593
  max-width: 30%;
594
  }
595
- div#ip-extra #acl-buttons{
596
  float:right;
597
  max-width: 30%;
598
  }
@@ -639,6 +768,11 @@ div#whois:hover {
639
  white-space: pre-wrap; /* css-3 */
640
  }
641
 
 
 
 
 
 
642
  /* Diagnostic */
643
 
644
  #diagnostic h3 {
82
  margin: 1em 0;
83
  }
84
 
85
+ @media (max-width: 1300px) {
86
  #crb-aside {
87
  display: none;
88
  }
181
  padding-right: 0.4em;
182
  }
183
 
184
+ .crb-button-tiny{
185
+ text-decoration: none;
186
+ display: inline-block;
187
+ line-height: 1em;
188
+ padding: 4px 8px;
189
+ border: solid 1px #DDD;
190
+ border-radius: 2px;
191
+ background-color: #F8F8F8;
192
+ }
193
+ .crb-button-tiny:hover,
194
+ .crb-button-tiny.crb-button-active {
195
+ background-color: #0073aa;
196
+ color: #fff;
197
+ border: solid 1px #0073aa;
198
+ }
199
+
200
  /* Messages */
201
  .crb-alarm {
202
  display: block;
239
 
240
  /* Tables */
241
 
 
 
 
242
 
243
+ .crb-table > tbody > tr:nth-child(even){
244
  background: #f9f9f9
245
  }
246
+ .crb-table > tbody > tr:nth-child(odd){
247
+ background: #FFF
248
+ }
249
+ .crb-table > tbody > tr.crb-even{
250
+ background: #f9f9f9
251
+ }
252
+ .crb-table > tbody > tr.crb-odd{
253
  background: #FFF
254
  }
255
 
258
  color: #222;
259
  }
260
 
261
+ #crb-traffic td:nth-child(2),
262
+ #crb-traffic td:nth-child(4),
263
+ #crb-activity td:nth-child(2),
264
+ #crb-activity td:nth-child(5){
265
+ word-break: break-all;
266
+ }
267
+
268
+ #crb-traffic td{
269
+ vertical-align: top;
270
+ /*word-break: break-all;*/
271
+ }
272
+
273
+ #crb-traffic p{
274
+ margin: 1em 0 0 0;
275
+ color: #555;
276
+ }
277
+ #crb-traffic .crb-request span{
278
+ margin-right: 0.5em;
279
+ }
280
+ #crb-traffic .crb-request{
281
+ cursor: pointer;
282
+ }
283
+ td.crb-traffic-details{
284
+ padding-bottom: 2em;
285
+ }
286
+ td.crb-traffic-details td{
287
+ padding: 6px;
288
+ }
289
+ /*
290
+ td.crb-traffic-details div{
291
+ overflow: auto;
292
+ max-height: 600px;
293
+ }*/
294
+ .crb-POST, .crb-ffile{
295
+ background-color: #999;
296
+ color: #fff;
297
+ display: inline-block;
298
+ line-height: 1em;
299
+ padding: 4px 8px;
300
+ }
301
+ .crb-200 {
302
+ color: green;
303
+ }
304
+ .crb-403,
305
+ .crb-404,
306
+ .crb-405{
307
+ background-color: #FF5733;
308
+ color: #fff;
309
+ display: inline-block;
310
+ line-height: 1em;
311
+ padding: 4px 8px;
312
+ }
313
+ .crb-wp-type-515{
314
+ background-color: #7A804A;
315
+ color: #fff;
316
+ display: inline-block;
317
+ line-height: 1em;
318
+ padding: 4px 8px;
319
+ }
320
+ .crb-wp-type-520{
321
+ background-color: #A00D5C;
322
+ color: #fff;
323
+ display: inline-block;
324
+ line-height: 1em;
325
+ padding: 4px 8px;
326
+ }
327
+ .crb-above{
328
+ background-color: #FFFF55;
329
+ display: inline-block;
330
+ line-height: 1em;
331
+ padding: 4px 8px;
332
+ }
333
+ .crb-fields-table {
334
+ min-width: 400px;
335
+ width: 95%;
336
+ margin-right: 2em;
337
+ border-collapse: collapse;
338
+ border: 1px solid #CCC;
339
+ }
340
+ .crb-fields-table.crb-top-table > tbody > tr:first-child td{
341
+ background-color: #555;
342
+ border-color: #555;
343
+ color: #fff;
344
+ }
345
+ .crb-fields-table td {
346
+ vertical-align: top;
347
+ border: 1px solid #CCC;
348
+ }
349
+ .crb-fields-table td:first-child {
350
+ min-width: 150px;
351
+ width: 20%;
352
+ font-weight: bold;
353
+ color: #555;
354
+ }
355
+ .crb-fields-table td:nth-child(2) {
356
+ color: #000;
357
+ }
358
+
359
  /* IP info like WHOIS details */
360
 
361
  .ip-info-label {
390
  text-decoration: none;
391
  }
392
 
 
 
 
 
 
393
  .crb-activity {
394
  margin-right: 0.7em;
395
  white-space: nowrap;
415
  width: 1em;
416
  height: 1em;
417
  margin-right: 1em;
418
+ margin-bottom: 0.2em;
419
+ /* background-color: inherit;*/
420
+ }
421
+ .css-table{
422
+ display: table;
423
  }
424
+ .css-table > div{
425
+ display: table-cell;
426
+ vertical-align: middle;
427
+ }
428
+
429
 
430
  .ip-aclB,.color-black {
431
  background-color: #000;
453
  border-right: 4px solid rgba(0, 0, 0, 0);
454
  }
455
 
456
+ .red_label, .actv10, .actv11, .actv12, .actv16, .actv17, .actv18, .actv19, .actv41, .actv42, .actv53, .actv54, .actv55, .actv70, .actv71 {
457
  display: inline-block;
458
  padding: 3px 5px 3px 5px;
459
  /*margin: 1px;*/
520
  .acl-wrapper {
521
  margin-bottom: 30px;
522
  width: 100%;
523
+ /*max-width: 1200px;*/
524
  }
525
 
526
  /*
547
  width:100%;
548
  }
549
 
 
550
  .acl-items {
551
+ margin-right: 3em;
552
  border: 1px solid #aaa;
553
  background-color: #fff;
554
  max-height:400px;
562
  width: 100%;
563
  }
564
  .acl-table td:first-child {
565
+ width: 25%;
566
  white-space: pre;
567
  font-family: Consolas, Monaco, monospace;
568
  font-size: 110%;
569
  }
570
  .acl-table td:nth-child(2) {
571
+ width: 37%;
572
  }
573
  .acl-table td:nth-child(3) {
574
+ width: 30%;
575
  text-align: center;
576
  }
577
  .acl-table td:nth-child(4) {
578
+ width: 8%;
579
  text-align: center;
580
  }
581
  .acl-table td {
582
  padding: 6px;
583
  background-color: #f5f5f5;
584
  }
585
+ .acl-table tr:hover td{
586
+ background-color: #fbfbfb;
587
+ }
588
  .acl-table tr td:not(:first-child) {
589
  /*.acl-table tr td:nth-child(2) {*/
590
  /*width: 20%;*/
662
  padding-left: 5px;
663
  }
664
 
665
+ #quick-info .with-padding td{
666
+ padding-top: 15px;
667
+ }
668
+
669
  .wilinks, .up-cerber {
670
  padding: 12px;
671
  text-align: center;
672
  }
673
+ .wilinks {
674
+ color: #AAA;
675
+ }
676
  .wilinks a {
677
  white-space: nowrap;
678
  }
690
 
691
  /* Ip extra, whois */
692
 
693
+ div.crb-extra-info {
694
  overflow: auto;
695
  padding: 10px 25px;
696
  background-color: #f8f8f8;
698
  border-bottom: none;
699
  vertical-align: middle;
700
  }
701
+ div.crb-extra-info table{
702
  border-collapse: collapse;
703
  width: 100%;
704
  }
705
+ div.crb-extra-info table td:nth-child(2){
706
  text-align: right;
707
  }
708
+ div.crb-extra-info p{
709
  line-height: 0.7em !important;
710
  }
711
  /*div#ip-extra p:first-child {*/
712
+ div.crb-extra-info span#ip-address,
713
+ div.crb-extra-info span#ip-country{
714
  font-size: 115%;
715
  font-weight: bold;
716
  }
717
+ div.crb-extra-info span#ip-address{
718
  margin-right: 1em;
719
  }
720
+ div.crb-extra-info #ip-details {
721
  float: left;
722
  max-width: 30%;
723
  }
724
+ div.crb-extra-info #acl-buttons{
725
  float:right;
726
  max-width: 30%;
727
  }
768
  white-space: pre-wrap; /* css-3 */
769
  }
770
 
771
+ #user-extra-info div {
772
+ float: left;
773
+ margin-right: 3em;
774
+ }
775
+
776
  /* Diagnostic */
777
 
778
  #diagnostic h3 {
assets/admin.js CHANGED
@@ -102,4 +102,21 @@ jQuery(document).ready(function ($) {
102
  return id;
103
  }
104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  });
102
  return id;
103
  }
104
 
105
+ /* Traffic */
106
+
107
+ $('#crb-traffic tr.crb-toggle td.crb-request').click(function () {
108
+ var request_details = $(this).parent().next();
109
+ //request_details.slideToggle(100);
110
+ request_details.toggle();
111
+ //request_details.data('session-id');
112
+ });
113
+
114
+ $('#crb-traffic tr').mouseenter(function() {
115
+ $(this).find('a.crb-traffic-more').show();
116
+ });
117
+
118
+ $('#crb-traffic tr').mouseleave(function() {
119
+ $(this).find('a.crb-traffic-more').hide();
120
+ });
121
+
122
  });
cerber-lab.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Cerber Laboratory (cerberlab.net) specific routines.
4
 
5
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
6
 
7
  Licenced under the GNU GPL.
8
 
@@ -52,6 +52,11 @@ define( 'LAB_KEY_LENGTH', 32 );
52
  */
53
  function lab_is_blocked( $ip, $ask = true ) {
54
 
 
 
 
 
 
55
  if ( is_ip_private( $ip ) ) {
56
  return false;
57
  }
@@ -64,6 +69,10 @@ function lab_is_blocked( $ip, $ask = true ) {
64
  return true;
65
  }
66
 
 
 
 
 
67
  $rep = lab_get_reputation( $ip, $ask );
68
 
69
  if ( is_numeric( $rep ) && $rep < LAB_IP_OK ) {
@@ -180,6 +189,7 @@ function lab_api_send_request($workload = array()) {
180
  'lang' => get_bloginfo( 'language' ),
181
  'multi' => is_multisite(),
182
  'version' => CERBER_VER,
 
183
  );
184
 
185
  $ret = lab_send_request($request);
@@ -194,14 +204,6 @@ function lab_api_send_request($workload = array()) {
194
 
195
  if ( $ret ) {
196
  lab_trunc_push();
197
- /*
198
- if ( ! empty( $ret['response']['expires_gmt'] ) ) {
199
- if ( $key[3] != $ret['response']['expires_gmt'] ) {
200
- $key[3] = $ret['response']['expires_gmt'];
201
- update_site_option( '_cerberkey_', $key );
202
- }
203
- }
204
- */
205
  }
206
 
207
  return $ret;
@@ -428,7 +430,7 @@ function lab_update_node_last($node_id, $last = array()) {
428
  }
429
 
430
  function lab_get_nodes() {
431
- return get_site_option( '_cerberlab_' );
432
  }
433
 
434
  /**
@@ -441,7 +443,7 @@ function lab_status(){
441
  $ret = '';
442
 
443
  if ( ! crb_get_settings( 'cerberlab' ) ) {
444
- $ret .= '<p><b>Cerber Lab connection is disabled</b></p>';
445
  }
446
 
447
  $nodes = lab_get_nodes();
@@ -472,6 +474,30 @@ function lab_status(){
472
 
473
  return $ret;
474
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
475
  /**
476
  * Save data for lab
477
  *
@@ -523,7 +549,7 @@ function cerber_push_lab() {
523
  }
524
  // TODO: replace with my own cache code because wp_cache_get doesn't work with expiration
525
  if ( get_transient( '_cerberpush_' ) ) {
526
- //if ( wp_cache_get( '_cerberpush_', 'cerber' ) ) {
527
  return;
528
  }
529
  lab_api_send_request();
@@ -536,6 +562,7 @@ function lab_get_key( $regenerate = false, $nocache = false) {
536
 
537
  if ( ! isset( $key ) || $nocache ) {
538
  $key = get_site_option( '_cerberkey_' );
 
539
  }
540
 
541
  if ( $regenerate || ! $key || ! is_array( $key ) ) {
@@ -598,13 +625,13 @@ function lab_validate_lic( $lic = '' ) {
598
  return false;
599
  }
600
 
601
- $df = get_option( 'date_format' );
602
- $gmt_offset = get_option( 'gmt_offset' ) * 3600;
603
 
604
  return date_i18n( $df, $gmt_offset + $expires );
605
  }
606
 
607
- function lab_lab() {
608
  $key = lab_get_key();
609
  if ( empty( $key[2] ) || empty( $key[3] ) ) {
610
  return false;
@@ -613,8 +640,12 @@ function lab_lab() {
613
  return false;
614
  }
615
 
616
- $df = get_option( 'date_format' );
617
- $gmt_offset = get_option( 'gmt_offset' ) * 3600;
 
 
 
 
618
 
619
  return date_i18n( $df, $gmt_offset + $key[3] );
620
 
@@ -622,7 +653,7 @@ function lab_lab() {
622
  }
623
 
624
  function lab_indicator(){
625
- if (lab_lab()){
626
  $key = lab_get_key();
627
  $sid = 'Site ID: '.$key[0];
628
  return '<div title="'.$sid.'" style="float: right; font-weight: normal; font-size: 80%; padding: 0.35em 0.6em 0.35em 0.6em; color: #fff; background-color: #51AE43;"><span style="vertical-align: top; line-height: 1;" class="dashicons dashicons-yes"></span> Cerber Security Cloud Protection is active</div>';
2
  /*
3
  Cerber Laboratory (cerberlab.net) specific routines.
4
 
5
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
6
 
7
  Licenced under the GNU GPL.
8
 
52
  */
53
  function lab_is_blocked( $ip, $ask = true ) {
54
 
55
+ if ( ! $ip ) {
56
+ $wp_cerber = get_wp_cerber();
57
+ $ip = $wp_cerber->getRemoteIp();
58
+ }
59
+
60
  if ( is_ip_private( $ip ) ) {
61
  return false;
62
  }
69
  return true;
70
  }
71
 
72
+ if ( !lab_lab() ) {
73
+ return false;
74
+ }
75
+
76
  $rep = lab_get_reputation( $ip, $ask );
77
 
78
  if ( is_numeric( $rep ) && $rep < LAB_IP_OK ) {
189
  'lang' => get_bloginfo( 'language' ),
190
  'multi' => is_multisite(),
191
  'version' => CERBER_VER,
192
+ 'PHP' => PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION,
193
  );
194
 
195
  $ret = lab_send_request($request);
204
 
205
  if ( $ret ) {
206
  lab_trunc_push();
 
 
 
 
 
 
 
 
207
  }
208
 
209
  return $ret;
430
  }
431
 
432
  function lab_get_nodes() {
433
+ return cerber_get_site_option( '_cerberlab_' );
434
  }
435
 
436
  /**
443
  $ret = '';
444
 
445
  if ( ! crb_get_settings( 'cerberlab' ) ) {
446
+ $ret .= '<p style = "color:red;"><b>Cerber Lab connection is disabled</b></p>';
447
  }
448
 
449
  $nodes = lab_get_nodes();
474
 
475
  return $ret;
476
  }
477
+
478
+ /**
479
+ * Check if the Cerber Cloud alive
480
+ *
481
+ * @return bool|int The number of active nodes, false otherwise
482
+ */
483
+ function lab_is_cloud_ok(){
484
+ $nodes = lab_get_nodes();
485
+ if ( ! $nodes ) {
486
+ return false;
487
+ }
488
+ $n = 0;
489
+ foreach ( $nodes['nodes'] as $id => $node ) {
490
+ if ($node['last'][1]){
491
+ $n++;
492
+ }
493
+ }
494
+ if ($n > 0){
495
+ return $n;
496
+ }
497
+
498
+ return false;
499
+ }
500
+
501
  /**
502
  * Save data for lab
503
  *
549
  }
550
  // TODO: replace with my own cache code because wp_cache_get doesn't work with expiration
551
  if ( get_transient( '_cerberpush_' ) ) {
552
+ //if ( wp_cache_get( '_cerberpush_', 'cerber' ) ) { // wp_cache_get doesn't work with expiration
553
  return;
554
  }
555
  lab_api_send_request();
562
 
563
  if ( ! isset( $key ) || $nocache ) {
564
  $key = get_site_option( '_cerberkey_' );
565
+ // not possible: $key = cerber_get_site_option( '_cerberkey_' ); // WP option cache is not flushed at this point
566
  }
567
 
568
  if ( $regenerate || ! $key || ! is_array( $key ) ) {
625
  return false;
626
  }
627
 
628
+ $df = cerber_get_site_option( 'date_format', false );
629
+ $gmt_offset = cerber_get_site_option( 'gmt_offset', false ) * 3600;
630
 
631
  return date_i18n( $df, $gmt_offset + $expires );
632
  }
633
 
634
+ function lab_lab($with_date = false) {
635
  $key = lab_get_key();
636
  if ( empty( $key[2] ) || empty( $key[3] ) ) {
637
  return false;
640
  return false;
641
  }
642
 
643
+ if ( ! $with_date ) {
644
+ return true;
645
+ }
646
+
647
+ $df = cerber_get_site_option( 'date_format' );
648
+ $gmt_offset = cerber_get_site_option( 'gmt_offset' ) * 3600;
649
 
650
  return date_i18n( $df, $gmt_offset + $key[3] );
651
 
653
  }
654
 
655
  function lab_indicator(){
656
+ if (lab_is_cloud_ok()){
657
  $key = lab_get_key();
658
  $sid = 'Site ID: '.$key[0];
659
  return '<div title="'.$sid.'" style="float: right; font-weight: normal; font-size: 80%; padding: 0.35em 0.6em 0.35em 0.6em; color: #fff; background-color: #51AE43;"><span style="vertical-align: top; line-height: 1;" class="dashicons dashicons-yes"></span> Cerber Security Cloud Protection is active</div>';
cerber-news.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
@@ -112,6 +112,12 @@ function cerber_push_the_news( $version ) {
112
  $news['5.9'][] = 'The plugin doesn’t send cookies if anti-spam is completely disabled';
113
  $news['5.9'][] = 'Bug fixed: The plugin logs a logout event if the actual logout doesn’t happen';
114
 
 
 
 
 
 
 
115
  if ( ! empty( $news[ $version ] ) ) {
116
  //$text = '<h3>What\'s new in WP Cerber '.$version.'</h3>';
117
 
1
  <?php
2
  /*
3
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
112
  $news['5.9'][] = 'The plugin doesn’t send cookies if anti-spam is completely disabled';
113
  $news['5.9'][] = 'Bug fixed: The plugin logs a logout event if the actual logout doesn’t happen';
114
 
115
+ $news['6.0'][] = 'Traffic Inspector. It’s a specialized request inspection algorithm that acts as additional protection layer. Since v 6.0 WP Cerber Security performs inspection all suspicious requests and block them before they can harm a website. This security algorithm is enabled by default and requires no configuration.';
116
+ $news['6.0'][] = 'Traffic Inspector optionally logs all or just suspicious and malicious requests so you can inspect them.';
117
+ $news['6.0'][] = 'Added ability to clean up Cerber’s DB tables. Now you can manually delete all rows in a Cerber’s DB table on the Tools / Diagnostic admin page. Note: this operation cannot be rolled back.';
118
+ $news['6.0'][] = 'If your hosting environment (web server) has some issues and those issues can affect plugin functionality, they are shown on the Tools / Diagnostic page.';
119
+ $news['6.0'][] = 'On the Access Lists admin page there are new links for each entry to check HTTP requests from a particular network or an IP address.';
120
+
121
  if ( ! empty( $news[ $version ] ) ) {
122
  //$text = '<h3>What\'s new in WP Cerber '.$version.'</h3>';
123
 
cerber-pluggable.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
1
  <?php
2
  /*
3
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
cerber-tools.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL
6
 
@@ -189,11 +189,34 @@ function cerber_import(){
189
  * Displays admin diagnostic page
190
  */
191
  function cerber_show_diag(){
192
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  <!-- <h3 style="margin-top: 3em;">Diagnostic and maintenance</h3>
194
  <a href="javascript:void(0)" onclick="toggle_visibility('diagnostic'); return false;">Show diagnostic information</a>
195
  -->
196
  <form id="diagnostic" style="margin-top: 2em;">
 
 
 
 
 
 
 
 
197
  <div class="diag-section">
198
  <h3>WordPress info</h3>
199
  <div class="diag-text"><?php echo cerber_wp_diag(); ?></div>
@@ -216,7 +239,7 @@ function cerber_show_diag(){
216
  </textarea>
217
  </div>
218
  <div class="diag-section">
219
- <h3>Cerber Lab status</h3>
220
  <?php
221
  echo lab_status();
222
  echo '<p style="text-align: right;"><a class="button button-secondary" href="'.wp_nonce_url(add_query_arg(array('force_check_nodes'=>1)),'control','cerber_nonce').'">Force recheck nodes</a></p>';
1
  <?php
2
  /*
3
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL
6
 
189
  * Displays admin diagnostic page
190
  */
191
  function cerber_show_diag(){
192
+ $sections = array();
193
+ $issues = array();
194
+ if ( version_compare( '5.4', phpversion(), '>' ) ) {
195
+ $issues[] = 'Your site run on the outdated version of PHP '.phpversion().'. We strongly encourage you to upgrade it to a newer version of PHP.';
196
+ }
197
+ if ( ! function_exists( 'http_response_code' ) ) {
198
+ $issues[] = 'The PHP function http_response_code() is not found or disabled.';
199
+ }
200
+ if ( !is_numeric($_SERVER['REQUEST_TIME_FLOAT'] ) ) {
201
+ $issues[] = 'The server environment variable $_SERVER[\'REQUEST_TIME_FLOAT\'] is not correctly set.';
202
+ }
203
+ if ($issues) {
204
+ $issues = '<p>'.implode('</p><p>',$issues).'</p>';
205
+ $sections[] = array('<h3>Non-critical issues found</h3>',$issues);
206
+ }
207
+ ?>
208
  <!-- <h3 style="margin-top: 3em;">Diagnostic and maintenance</h3>
209
  <a href="javascript:void(0)" onclick="toggle_visibility('diagnostic'); return false;">Show diagnostic information</a>
210
  -->
211
  <form id="diagnostic" style="margin-top: 2em;">
212
+ <?php
213
+ foreach ($sections as $section){
214
+ echo '<div class="diag-section">';
215
+ echo '<h3>'.$section[0].'</h3>';
216
+ echo $section[1];
217
+ echo '</div>';
218
+ }
219
+ ?>
220
  <div class="diag-section">
221
  <h3>WordPress info</h3>
222
  <div class="diag-text"><?php echo cerber_wp_diag(); ?></div>
239
  </textarea>
240
  </div>
241
  <div class="diag-section">
242
+ <h3>Cerber Cloud status</h3>
243
  <?php
244
  echo lab_status();
245
  echo '<p style="text-align: right;"><a class="button button-secondary" href="'.wp_nonce_url(add_query_arg(array('force_check_nodes'=>1)),'control','cerber_nonce').'">Force recheck nodes</a></p>';
common.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
@@ -33,6 +33,15 @@
33
  // If this file is called directly, abort executing.
34
  if ( ! defined( 'WPINC' ) ) { exit; }
35
 
 
 
 
 
 
 
 
 
 
36
  /**
37
  * Return a link (full URL) to a Cerber admin settings page.
38
  * Add a particular tab and GET parameters if they are specified
@@ -52,6 +61,9 @@ function cerber_admin_link($tab = '', $args = array()){
52
  elseif ( in_array( $tab, array( 'imex', 'diagnostic', 'license' ) ) ) {
53
  $page = 'cerber-tools';
54
  }
 
 
 
55
  elseif ( in_array( $tab, array( 'geo' ) ) ) {
56
  $page = 'cerber-rules';
57
  }
@@ -83,6 +95,15 @@ function cerber_activity_link($set = array()){
83
  }
84
  return cerber_admin_link( 'activity' ) . $filter;
85
  }
 
 
 
 
 
 
 
 
 
86
  function cerber_get_login_url(){
87
  $ret = '';
88
 
@@ -220,9 +241,12 @@ function cerber_pb_send($title, $body){
220
  return $curl_error;
221
  }
222
  /**
223
- * Just test if cURL available
224
  */
225
  function cerber_check_environment(){
 
 
 
226
  if (!in_array('curl', get_loaded_extensions())) {
227
  cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' cURL PHP library is not enabled on your website.');
228
  }
@@ -237,14 +261,72 @@ function cerber_check_environment(){
237
  * Health check up and self-repairing vital parts
238
  *
239
  */
240
- function cerber_watchdog() {
 
 
 
 
 
 
241
  if ( ! cerber_is_table( CERBER_LOG_TABLE )
242
  || ! cerber_is_table( CERBER_BLOCKS_TABLE )
243
- || ! cerber_is_table( CERBER_LAB_IP_TABLE )) {
244
- cerber_create_db(false);
 
245
  cerber_upgrade_db();
246
  }
247
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
  /**
249
  * Get ip_id for IP.
250
  * The ip_id can be safely used for array indexes and in any HTML code
@@ -487,8 +569,14 @@ function crb_get_rest_path() {
487
  *
488
  * @return bool|string
489
  */
490
- function cerber_get_last_in_uri( $check_php = false ) {
491
- $ret = $_SERVER['REQUEST_URI'];
 
 
 
 
 
 
492
 
493
  if ( $pos = strpos( $ret, '?' ) ) {
494
  $ret = substr( $ret, 0, $pos );
@@ -497,11 +585,15 @@ function cerber_get_last_in_uri( $check_php = false ) {
497
  $ret = rtrim( $ret, '/' );
498
  $ret = substr( strrchr( $ret, '/' ), 1 );
499
 
 
500
  if ( $check_php ) {
501
  if ( strtolower( substr( $ret, - 4 ) ) != '.php' ) {
502
  $ret = '';
503
  }
504
  }
 
 
 
505
 
506
  return $ret;
507
  }
@@ -551,9 +643,10 @@ function cerber_get_labels($type = 'activity'){
551
  $labels[50]=__('Attempt to access prohibited URL','wp-cerber');
552
  $labels[51]=__('Attempt to log in with non-existent username','wp-cerber');
553
  $labels[52]=__('Attempt to log in with prohibited username','wp-cerber');
554
- // @since 4.9 // TODO should be a cerber action?
555
  $labels[53]=__('Attempt to log in denied','wp-cerber');
556
  $labels[54]=__('Attempt to register denied','wp-cerber');
 
557
 
558
  $labels[70]=__('Request to REST API denied','wp-cerber');
559
  $labels[71]=__('XML-RPC request denied','wp-cerber');
@@ -578,11 +671,11 @@ function cerber_get_labels($type = 'activity'){
578
  function crb_get_activity_set($slice = 'malicious') {
579
  switch ( $slice ) {
580
  case 'malicious':
581
- return array( 10, 11, 16, 17, 40, 50, 51, 52, 53, 54 );
582
  case 'suspicious':
583
- return array( 10, 11, 16, 17, 20, 40, 50, 51, 52, 53, 54 );
584
  case 'black':
585
- return array( 16, 17, 40, 50, 51, 52 );
586
  }
587
 
588
  return array();
@@ -599,6 +692,7 @@ function cerber_get_reason($id){
599
  $labels[5]= __('Limit on failed reCAPTCHA verifications is reached','wp-cerber');
600
  $labels[6]= __('Bot activity is detected','wp-cerber');
601
  $labels[7]= __('Multiple suspicious activities were detected','wp-cerber');
 
602
 
603
  if (isset($labels[$id])) $ret = $labels[$id];
604
  return $ret;
@@ -618,9 +712,21 @@ function cerber_db_error_log($msg = null){
618
  *
619
  * @param string|array $msg
620
  */
621
- function cerber_admin_notice($msg){
622
- if (!$msg) return;
623
- update_site_option('cerber_admin_notice', $msg);
 
 
 
 
 
 
 
 
 
 
 
 
624
  }
625
 
626
  /**
@@ -788,4 +894,109 @@ function cerber_check_version() {
788
  }
789
  }
790
  return $ret;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
791
  }
1
  <?php
2
  /*
3
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
33
  // If this file is called directly, abort executing.
34
  if ( ! defined( 'WPINC' ) ) { exit; }
35
 
36
+ /**
37
+ * Known WP scripts
38
+ * @since 6.0
39
+ *
40
+ */
41
+ function cerber_get_wp_scripts(){
42
+ return array( WP_LOGIN_SCRIPT, WP_REG_URI, WP_XMLRPC_SCRIPT, WP_TRACKBACK_SCRIPT, WP_PING_SCRIPT, WP_PING_SCRIPT);
43
+ }
44
+
45
  /**
46
  * Return a link (full URL) to a Cerber admin settings page.
47
  * Add a particular tab and GET parameters if they are specified
61
  elseif ( in_array( $tab, array( 'imex', 'diagnostic', 'license' ) ) ) {
62
  $page = 'cerber-tools';
63
  }
64
+ elseif ( in_array( $tab, array( 'traffic', 'ti_settings' ) ) ) {
65
+ $page = 'cerber-traffic';
66
+ }
67
  elseif ( in_array( $tab, array( 'geo' ) ) ) {
68
  $page = 'cerber-rules';
69
  }
95
  }
96
  return cerber_admin_link( 'activity' ) . $filter;
97
  }
98
+ function cerber_traffic_link($set = array(), $button = true){
99
+ $ret = cerber_admin_link('traffic', $set);
100
+ if ($button){
101
+ $ret = ' <a class="crb-button-tiny" href="'.$ret.'">'.__('Check for requests','wp-cerber').'</a>';
102
+ }
103
+
104
+ return $ret;
105
+ }
106
+
107
  function cerber_get_login_url(){
108
  $ret = '';
109
 
241
  return $curl_error;
242
  }
243
  /**
244
+ * Alert admin if something wrong with the website or settings
245
  */
246
  function cerber_check_environment(){
247
+ if ( '' === crb_get_settings( 'tienabled' ) ) {
248
+ cerber_admin_notice('Warning: Traffic inspection is disabled');
249
+ }
250
  if (!in_array('curl', get_loaded_extensions())) {
251
  cerber_admin_notice( __( 'ERROR:', 'wp-cerber' ) . ' cURL PHP library is not enabled on your website.');
252
  }
261
  * Health check up and self-repairing vital parts
262
  *
263
  */
264
+ function cerber_watchdog( $full = false ) {
265
+ if ( $full ) {
266
+ cerber_create_db( false );
267
+ cerber_upgrade_db();
268
+
269
+ return;
270
+ }
271
  if ( ! cerber_is_table( CERBER_LOG_TABLE )
272
  || ! cerber_is_table( CERBER_BLOCKS_TABLE )
273
+ || ! cerber_is_table( CERBER_LAB_IP_TABLE )
274
+ ) {
275
+ cerber_create_db( false );
276
  cerber_upgrade_db();
277
  }
278
  }
279
+
280
+ /**
281
+ * Detect and return remote client IP address
282
+ *
283
+ * @since 6.0
284
+ * @return string Valid IP address
285
+ */
286
+ function cerber_get_remote_ip(){
287
+ static $remote_ip;
288
+
289
+ if ( isset( $remote_ip ) ) {
290
+ return $remote_ip;
291
+ }
292
+
293
+ $options = crb_get_settings();
294
+
295
+ if ( defined( 'CERBER_IP_KEY' ) ) {
296
+ $remote_ip = filter_var( $_SERVER[ CERBER_IP_KEY ], FILTER_VALIDATE_IP );
297
+ }
298
+ elseif ( $options['proxy'] && isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
299
+ $list = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );
300
+ foreach ( $list as $maybe_ip ) {
301
+ $remote_ip = filter_var( trim( $maybe_ip ), FILTER_VALIDATE_IP );
302
+ if ( $remote_ip ) {
303
+ break;
304
+ }
305
+ }
306
+ if ( ! $remote_ip && isset( $_SERVER['HTTP_X_REAL_IP'] ) ) {
307
+ $remote_ip = filter_var( $_SERVER['HTTP_X_REAL_IP'], FILTER_VALIDATE_IP );
308
+ }
309
+ } else {
310
+ if ( isset( $_SERVER['REMOTE_ADDR'] ) ) {
311
+ $remote_ip = $_SERVER['REMOTE_ADDR'];
312
+ } elseif ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) {
313
+ $remote_ip = $_SERVER['HTTP_X_REAL_IP'];
314
+ } elseif ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) {
315
+ $remote_ip = $_SERVER['HTTP_CLIENT_IP'];
316
+ } elseif ( isset( $_SERVER['SERVER_ADDR'] ) ) {
317
+ $remote_ip = $_SERVER['SERVER_ADDR'];
318
+ }
319
+ $remote_ip = filter_var( $remote_ip, FILTER_VALIDATE_IP );
320
+ }
321
+ // No IP address was found? Roll back to localhost.
322
+ if ( ! $remote_ip ) { // including WP-CLI, other way is: if defined('WP_CLI')
323
+ $remote_ip = '127.0.0.1';
324
+ }
325
+
326
+ return $remote_ip;
327
+ }
328
+
329
+
330
  /**
331
  * Get ip_id for IP.
332
  * The ip_id can be safely used for array indexes and in any HTML code
569
  *
570
  * @return bool|string
571
  */
572
+ function cerber_parse_uri( $check_php = false ) {
573
+ static $parsed;
574
+
575
+ if ( isset( $parsed ) ) {
576
+ return $parsed;
577
+ }
578
+
579
+ $ret = strtolower( $_SERVER['REQUEST_URI'] );
580
 
581
  if ( $pos = strpos( $ret, '?' ) ) {
582
  $ret = substr( $ret, 0, $pos );
585
  $ret = rtrim( $ret, '/' );
586
  $ret = substr( strrchr( $ret, '/' ), 1 );
587
 
588
+ /*
589
  if ( $check_php ) {
590
  if ( strtolower( substr( $ret, - 4 ) ) != '.php' ) {
591
  $ret = '';
592
  }
593
  }
594
+ */
595
+
596
+ $parsed = $ret;
597
 
598
  return $ret;
599
  }
643
  $labels[50]=__('Attempt to access prohibited URL','wp-cerber');
644
  $labels[51]=__('Attempt to log in with non-existent username','wp-cerber');
645
  $labels[52]=__('Attempt to log in with prohibited username','wp-cerber');
646
+ // @since 4.9 // TODO 53 & 54 should be a cerber action?
647
  $labels[53]=__('Attempt to log in denied','wp-cerber');
648
  $labels[54]=__('Attempt to register denied','wp-cerber');
649
+ $labels[55]=__('Probing for vulnerable PHP code','wp-cerber');
650
 
651
  $labels[70]=__('Request to REST API denied','wp-cerber');
652
  $labels[71]=__('XML-RPC request denied','wp-cerber');
671
  function crb_get_activity_set($slice = 'malicious') {
672
  switch ( $slice ) {
673
  case 'malicious':
674
+ return array( 10, 11, 16, 17, 40, 50, 51, 52, 53, 54, 55 );
675
  case 'suspicious':
676
+ return array( 10, 11, 16, 17, 20, 40, 50, 51, 52, 53, 54, 55 );
677
  case 'black':
678
+ return array( 16, 17, 40, 50, 51, 52, 55 );
679
  }
680
 
681
  return array();
692
  $labels[5]= __('Limit on failed reCAPTCHA verifications is reached','wp-cerber');
693
  $labels[6]= __('Bot activity is detected','wp-cerber');
694
  $labels[7]= __('Multiple suspicious activities were detected','wp-cerber');
695
+ $labels[8]= __('Probing for vulnerable PHP code','wp-cerber');
696
 
697
  if (isset($labels[$id])) $ret = $labels[$id];
698
  return $ret;
712
  *
713
  * @param string|array $msg
714
  */
715
+ function cerber_admin_notice( $msg ) {
716
+ if ( ! $msg ) {
717
+ return;
718
+ }
719
+ $notice = get_site_option( 'cerber_admin_notice', null);
720
+ if ( ! $notice ) {
721
+ $notice = array();
722
+ }
723
+ if ( is_array( $msg ) ) {
724
+ $notice = array_merge( $notice, $msg );
725
+ }
726
+ else {
727
+ $notice [] = $msg;
728
+ }
729
+ update_site_option( 'cerber_admin_notice', $notice );
730
  }
731
 
732
  /**
894
  }
895
  }
896
  return $ret;
897
+ }
898
+
899
+ /**
900
+ * Detects known browsers/crawlers and platform in User Agent string
901
+ *
902
+ * @param $ua
903
+ *
904
+ * @return string Sanitized browser name and platform on success
905
+ * @since 6.0
906
+ */
907
+ function cerber_detect_browser( $ua ) {
908
+ $ua = trim( $ua );
909
+ if ( empty( $ua ) ) {
910
+ return __( 'Not specified', 'wp-cerber' );
911
+ }
912
+ if ( preg_match( '/\(compatible\;(.+)\)/i', $ua, $matches ) ) {
913
+ $bot_info = explode( ';', $matches[1] );
914
+ foreach ( $bot_info as $item ) {
915
+ if ( stripos( $item, 'bot' )
916
+ || stripos( $item, 'crawler' )
917
+ || stripos( $item, 'spider' )
918
+ || stripos( $item, 'Yahoo! Slurp' )
919
+ ) {
920
+ return htmlentities( $item );
921
+ }
922
+ }
923
+ }
924
+ elseif (0 === strpos( $ua, 'Wget/' )){
925
+ return htmlentities( $ua );
926
+ }
927
+
928
+ $browsers = array( 'Firefox' => 'Firefox',
929
+ 'OPR' => 'Opera',
930
+ 'Opera' => 'Opera',
931
+ 'YaBrowser' => 'Yandex Browser',
932
+ 'Trident' => 'Internet Explorer',
933
+ 'IE' => 'Internet Explorer',
934
+ 'Edge' => 'Microsoft Edge',
935
+ 'Chrome' => 'Chrome',
936
+ 'Safari' => 'Safari',
937
+ 'Lynx' => 'Lynx',
938
+ );
939
+
940
+ $systems = array( 'Android' , 'Linux', 'Windows', 'iPhone', 'iPad', 'Macintosh', 'OpenBSD', 'Unix' );
941
+
942
+ $b = '';
943
+ foreach ( $browsers as $browser_id => $browser ) {
944
+ if ( false !== strpos( $ua, $browser_id ) ) {
945
+ $b = $browser;
946
+ break;
947
+ }
948
+ }
949
+
950
+ $s = '';
951
+ foreach ( $systems as $system ) {
952
+ if ( false !== strpos( $ua, $system ) ) {
953
+ $s = $system;
954
+ break;
955
+ }
956
+ }
957
+
958
+ if ($b == 'Lynx' && !$s) {
959
+ $s = 'Linux';
960
+ }
961
+
962
+ if ( $b && $s ) {
963
+ $ret = $b . ' on ' . $s;
964
+ }
965
+ else {
966
+ $ret = __( 'Unknown', 'wp-cerber' );
967
+ }
968
+
969
+ return htmlentities($ret);
970
+ }
971
+
972
+ /**
973
+ * Is user agent string indicates bot (crawler)
974
+ *
975
+ * @param $ua
976
+ *
977
+ * @return integer 1 if ua string contains a bot definition, 0 otherwise
978
+ * @since 6.0
979
+ */
980
+ function cerber_is_crawler( $ua ) {
981
+ if ( ! $ua ) {
982
+ return 0;
983
+ }
984
+ $ua = strtolower( $ua );
985
+ if ( preg_match( '/\(compatible\;(.+)\)/', $ua, $matches ) ) {
986
+ $bot_info = explode( ';', $matches[1] );
987
+ foreach ( $bot_info as $item ) {
988
+ if ( strpos( $item, 'bot' )
989
+ || strpos( $item, 'crawler' )
990
+ || strpos( $item, 'spider' )
991
+ || strpos( $item, 'Yahoo! Slurp' )
992
+ ) {
993
+ return 1;
994
+ }
995
+ }
996
+ }
997
+ elseif (0 === strpos( $ua, 'Wget/' )){
998
+ return 1;
999
+ }
1000
+
1001
+ return 0;
1002
  }
dashboard.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
@@ -155,7 +155,9 @@ function cerber_acl_get_table( $tag ) {
155
  $activity_url = cerber_admin_link( 'activity' );
156
  if ( $rows = $wpdb->get_results( 'SELECT * FROM ' . CERBER_ACL_TABLE . " WHERE tag = '" . $tag . "' ORDER BY ip_long_begin, ip" ) ) {
157
  foreach ( $rows as $row ) {
158
- $list[] = '<td>' . $row->ip . '</td><td>'.$row->comments.'</td><td><a class="delete_entry" href="javascript:void(0)" data-ip="' . $row->ip . '">' . __( 'Remove', 'wp-cerber' ) . '</a></td><td><a href="' . $activity_url . '&filter_ip=' . urlencode( $row->ip ) . '">' . __( 'Check for activity', 'wp-cerber' ) . '</a></td>';
 
 
159
  }
160
  $ret = '<table id="acl_' . $tag . '" class="acl-table"><tr>' . implode( '</tr><tr>', $list ) . '</tr></table>';
161
  }
@@ -193,7 +195,7 @@ function cerber_acl_form_process(){
193
  if ( ! $ip ) {
194
  cerber_admin_notice( __( 'Incorrect IP address or IP range', 'wp-cerber' ) );
195
  }
196
- elseif ( cerber_add_white( $ip, strip_tags( $_POST['add_acl_comment'] ) ) ) {
197
  if ( is_array( $ip ) ) {
198
  $ip = $ip['range'];
199
  }
@@ -209,7 +211,7 @@ function cerber_acl_form_process(){
209
  if ( ! cerber_can_be_listed( $ip ) ) {
210
  cerber_admin_notice( __( "You cannot add your IP address or network", 'wp-cerber' ) );
211
  }
212
- elseif ( cerber_add_black( $ip, strip_tags( $_POST['add_acl_comment'] ) ) ) {
213
  if (is_array($ip)) $ip = $ip['range'];
214
  cerber_admin_message(sprintf(__('Address %s was added to Black IP Access List','wp-cerber'),$ip));
215
  }
@@ -364,6 +366,7 @@ function cerber_get_ip_info($ip, $cache_only = false){
364
  //add_action('admin_init','cerber_admin_request');
365
  add_action('wp_loaded','cerber_admin_request'); // @since 5.6
366
  function cerber_admin_request(){
 
367
 
368
  if ( !is_admin() ) return;
369
  if ( !isset( $_REQUEST['cerber_nonce'] ) ) return;
@@ -412,6 +415,18 @@ function cerber_admin_request(){
412
  wp_safe_redirect( remove_query_arg( array( 'force_repair_db', 'cerber_nonce' ) ) ); // mandatory!
413
  exit; // mandatory!
414
  }
 
 
 
 
 
 
 
 
 
 
 
 
415
  elseif ( isset( $_GET['force_check_nodes'] ) ) {
416
  $best = lab_check_nodes( true );
417
  cerber_admin_message( 'Cerber Lab\'s nodes has been checked. The closest node: ' . $best );
@@ -522,14 +537,19 @@ function cerber_show_activity($args = array(), $echo = true){
522
  $status_labels = cerber_get_labels('status');
523
 
524
  $base_url = cerber_admin_link('activity');
525
- $right_links = '';
526
  $export_link = '';
527
- $table = '';
528
  $ret = '';
529
 
530
  list( $query, $per_page, $falist, $filter_ip, $filter_login, $user_id, $search ) = cerber_activity_query( $args );
531
 
532
- $ip_text = cerber_ip_extra_view( $filter_ip );
 
 
 
 
 
 
 
533
  $user_cache = array();
534
 
535
  if ( $rows = $wpdb->get_results( $query ) ) {
@@ -624,7 +644,8 @@ function cerber_show_activity($args = array(), $echo = true){
624
  $country = '</td><td>' . crb_country_html($row->country, $row->ip);
625
  }
626
 
627
- $tbody .= '<tr class="acrow'.$row->activity.'"><td><div class="act-icon ip-acl' . $acl . ' ' . $block . '" title="' . $tip . '"></div>' . $ip . '</td><td>' . $hostname . $country . '</td><td>' . $date . '</td><td class="acinfo">' . $activity . '</td><td>' . $name . '</td><td>' . $username . '</td></tr>';
 
628
  }
629
 
630
  $heading = array(
@@ -637,7 +658,7 @@ function cerber_show_activity($args = array(), $echo = true){
637
  __( 'Username used', 'wp-cerber' )
638
  );
639
 
640
- if ( !lab_lab() ) {
641
  unset( $heading[2] );
642
  }
643
 
@@ -645,16 +666,17 @@ function cerber_show_activity($args = array(), $echo = true){
645
 
646
  $table = '<table id="crb-activity" class="widefat crb-table cerber-margin"><thead>' . $titles . '</thead><tfoot>' . $titles . '</tfoot><tbody>' . $tbody . '</tbody></table>';
647
 
648
- if (empty($args['no_navi'])) $table .= cerber_page_navi($total, $per_page);
 
 
649
 
650
  //$legend = '<p>'.sprintf(__('Showing last %d records from %d','wp-cerber'),count($rows),$total);
651
 
652
- $info = $ip_text;
653
-
654
- if (empty($args['no_export'])) $export_link = '<a class="button button-secondary cerber-button" href="'.wp_nonce_url(add_query_arg('export_activity',1),'control','cerber_nonce').'"><span class="dashicons dashicons-download" style="vertical-align: middle;"></span> '.__('Export','wp-cerber').'</a>';
655
  }
656
  else {
657
- $info = '';
658
  $table = '<p class="cerber-margin">'.__('No activity has been logged.','wp-cerber').'</p>';
659
  }
660
 
@@ -794,26 +816,31 @@ function cerber_activity_query($args = array()){
794
  */
795
  }
796
  /*
797
- * Detailed information about IP address
798
- * @since 2.7
799
- *
800
  */
801
-
802
- function cerber_ip_extra_view($ip){
803
  global $wp_cerber;
804
  //if (!cerber_is_ip_or_net($ip)) return '';
805
  if ( ! $ip || ! filter_var( $ip, FILTER_VALIDATE_IP ) ) {
806
  return '';
807
  }
808
- $tip = ' ';
809
  $acl = cerber_acl_check( $ip );
810
  if ( $acl == 'W' ) {
811
- $tip .= '<span class="color-green ip-info-label">'.__( 'White IP Access List', 'wp-cerber' ).'</span> ';
812
- } elseif ( $acl == 'B' ) {
813
- $tip .= '<span class="color-black ip-info-label">'.__( 'Black IP Access List', 'wp-cerber' ).'</span> ';
 
814
  }
815
  if ( cerber_block_check( $ip ) ) {
816
- $tip .= '<span class="color-blocked ip-info-label">'.__( 'Locked out', 'wp-cerber' ).'</span> ';
 
 
 
 
 
 
 
817
  }
818
 
819
  // Filter activity by ...
@@ -832,15 +859,15 @@ function cerber_ip_extra_view($ip){
832
  $network_info = '';
833
 
834
  if (cerber_get_options('ip_extra')) {
835
- $ip_info = cerber_ip_whois_info($ip);
836
- if (isset($ip_info['whois'])) $whois = '<div id="whois">' . $ip_info['whois'] . '</div>';
837
- if (isset($ip_info['error'])) $whois = '<div id="whois">' . $ip_info['error'] . '</div>';
838
- if (isset($ip_info['country'])) $country = $ip_info['country'];
839
- if (!empty($ip_info['data']['abuse-mailbox'])) $abuse = '<p>'.__('Abuse email:','wp-cerber').' <a href="mailto:'.$ip_info['data']['abuse-mailbox'].'">'.$ip_info['data']['abuse-mailbox'].'</a></p>';
840
- if (!empty($ip_info['data']['network'])) {
841
- $network = $ip_info['data']['network'];
842
  $range = cerber_any2range($network);
843
- $network_info = '<p>'.__('Network:','wp-cerber').' '.$network.' &nbsp; <a href="'.cerber_admin_link('activity',array('filter_ip'=>$range['range'])).'">'.__('Check for activity','wp-cerber').'</a></p>';
844
  }
845
  }
846
 
@@ -864,14 +891,84 @@ function cerber_ip_extra_view($ip){
864
  '</form>';
865
  }
866
 
867
- $ret = '<div id="ip-extra">
868
  <table>
869
- <tr><td><p><span id = "ip-address">' . $ip . '</span><span id = "ip-country">' . $country .'</span>'. $tip .'</p>' . $network_info . $abuse . '</td><td>' . $form . '</td></tr>
870
  </table>
871
  </div>';
872
 
873
  return $ret.$whois;
874
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
875
 
876
  /*
877
  Add admin menu, init admin stuff
@@ -886,13 +983,15 @@ function cerber_admin_menu() {
886
 
887
  if ( cerber_is_admin_page(false) ) {
888
  cerber_check_environment();
889
- cerber_watchdog();
890
  }
891
 
892
  $hook = add_menu_page( __( 'WP Cerber Security', 'wp-cerber' ), __( 'WP Cerber', 'wp-cerber' ), 'manage_options', 'cerber-security', 'cerber_settings_page', 'dashicons-shield', '100' );
893
- add_action( 'load-' . $hook, "cerber_screen_options" );
894
  add_submenu_page( 'cerber-security', __( 'Cerber Dashboard', 'wp-cerber' ), __( 'Dashboard' ), 'manage_options', 'cerber-security', 'cerber_settings_page' );
895
 
 
 
 
896
  if (lab_lab()) {
897
  add_submenu_page( 'cerber-security', __( 'Cerber Security Rules', 'wp-cerber' ), __( 'Security Rules', 'wp-cerber' ), 'manage_options', 'cerber-rules', 'cerber_rules_page' );
898
  }
@@ -1068,8 +1167,8 @@ function cerber_quick_w(){
1068
 
1069
  $dash = cerber_admin_link();
1070
  $act = cerber_admin_link('activity');
1071
- $acl = cerber_admin_link('acl');
1072
- $loc = cerber_admin_link('lockouts');
1073
 
1074
  $failed = $wpdb->get_var('SELECT count(ip) FROM '. CERBER_LOG_TABLE .' WHERE activity IN (7) AND stamp > '.(time() - 24 * 3600));
1075
  $failed_prev = $wpdb->get_var('SELECT count(ip) FROM '. CERBER_LOG_TABLE .' WHERE activity IN (7) AND stamp > '.(time() - 48 * 3600).' AND stamp < '.(time() - 24 * 3600));
@@ -1104,18 +1203,29 @@ function cerber_quick_w(){
1104
 
1105
  echo '<table id="quick-info"><tr><td>'.__('Lockouts at the moment','wp-cerber').'</td><td>'.$lockouts.'</td></tr>';
1106
  echo '<tr><td>'.__('Last lockout','wp-cerber').'</td><td>'.$last.'</td></tr>';
1107
- echo '<tr><td style="padding-top:15px;">'.__('White IP Access List','wp-cerber').'</td><td style="padding-top:15px;"><b>'.$w_count.' '._n('entry','entries',$w_count,'wp-cerber').'</b></td></tr>';
1108
  echo '<tr><td>'.__('Black IP Access List','wp-cerber').'</td><td><b>'.$b_count.' '._n('entry','entries',$b_count,'wp-cerber').'</b></td></tr>';
1109
- echo '<tr><td style="padding-top:15px;">'.__('Citadel mode','wp-cerber').'</td><td style="padding-top:15px;"><b>'.$citadel.'</b></td></tr>';
 
 
 
 
 
 
 
 
 
 
1110
  $dev = crb_get_settings('pbdevice');
1111
  if (!$dev || $dev == 'N') echo '<tr><td style="padding-top:15px;">'.__('Push notifications','wp-cerber').'</td><td style="padding-top:15px;"><b>not configured</b></td></tr>';
 
1112
  echo '</table></div>';
1113
 
1114
  echo '<div class="wilinks">
1115
  <a href="'.$dash.'"><span class="dashicons dashicons-dashboard"></span> ' . __('Dashboard','wp-cerber').'</a> |
1116
  <a href="'.$act.'"><span class="dashicons dashicons-welcome-view-site"></span> ' . __('Activity','wp-cerber').'</a> |
1117
- <a href="'.$loc.'"><span class="dashicons dashicons-shield"></span> ' . __('Lockouts','wp-cerber').'</a> |
1118
- <a href="'.$acl.'"><span class="dashicons dashicons-admin-network"></span> ' . __('Access Lists','wp-cerber').'</a>
1119
  </div>';
1120
  if ( $new = cerber_check_version() ) {
1121
  echo '<div class="up-cerber">' . $new['msg'] . '</div>';
@@ -1128,6 +1238,16 @@ function cerber_quick_w(){
1128
  function cerber_show_help() {
1129
  global $crb_assets_url;
1130
 
 
 
 
 
 
 
 
 
 
 
1131
  ?>
1132
  <div id="crb-help">
1133
  <table id="admin-help">
@@ -1145,8 +1265,7 @@ function cerber_show_help() {
1145
 
1146
  <h3>Do you have a question or need help?</h3>
1147
 
1148
- <p>Support is provided on the WordPress forum for free, though please note that it is free support hence it is
1149
- not always possible to answer all questions on a timely manner, although I do try.</p>
1150
 
1151
  <p><span class="dashicons-before dashicons-book-alt"></span> <a href="https://wpcerber.com/toc/" target="_blank">Read articles on wpcerber.com</a></p>
1152
  <p><span class="dashicons-before dashicons-format-chat"></span> <a href="https://wordpress.org/support/plugin/wp-cerber">Get answer on the support forum</a></p>
@@ -1162,6 +1281,10 @@ function cerber_show_help() {
1162
  <h3>What is IP address of your computer?</h3>
1163
 
1164
  <p>To find out your current IP address go to this page: <a href="https://wpcerber.com/what-is-my-ip/">What is my IP</a>. If you see a different IP address on the Activity tab for your login or logout events you probably need to check <b><?php _e('My site is behind a reverse proxy','wp-cerber'); ?></b>.</p>
 
 
 
 
1165
 
1166
  <h3>Setting up antispam protection</h3>
1167
 
@@ -1295,24 +1418,25 @@ function cerber_show_dashboard() {
1295
  //if ($total > $num) $l1 = 'Last ' . $num . ' suspect events are displayed';
1296
 
1297
  $links = array();
1298
- $links[] = '<a href="' . cerber_admin_link( 'activity' ) . '">' . __( 'View all', 'wp-cerber' ) . '</a>';
1299
 
1300
  $labels = cerber_get_labels('activity');
1301
  $set = array( 5 );
1302
  foreach ( $set as $item ) {
1303
- $links[] = '<a href="' . cerber_admin_link( 'activity' ) . '&filter_activity=' . $item . '">' . $labels[ $item ] . '</a>';
1304
  }
1305
 
1306
- $links[] = '<a href="' . cerber_activity_link( array( 2 ) ) . '">' . __( 'User registered', 'wp-cerber' ) . '</a>';
1307
- $links[] = '<a href="' . cerber_activity_link( crb_get_activity_set( 'suspicious' ) ) . '">' . __( 'All suspicious activity', 'wp-cerber' ) . '</a>';
1308
 
1309
 
1310
- $nav_links = '<span style="display: inline-block; margin-left: 1em;">' . implode(' &nbsp;|&nbsp; ',$links) . '</span>';
 
1311
 
1312
- echo '<table class="cerber-margin"><tr><td><h2 style="margin-bottom:0.5em;">' . __( 'Activity', 'wp-cerber' ) . '</h2></td><td>' . $nav_links . '</td></tr></table>';
1313
 
1314
  cerber_show_activity( array(
1315
- 'filter_activity' => array( 1, 2, 5, 10, 11, 12, 16, 17, 18, 19, 40, 41, 42, 50, 51, 52, 53, 54, 70, 71 ),
1316
  'per_page' => 10,
1317
  'no_navi' => true,
1318
  'no_export' => true,
@@ -1324,8 +1448,8 @@ function cerber_show_dashboard() {
1324
  //$total = $wpdb->get_var( 'SELECT count(ip) FROM ' . CERBER_BLOCKS_TABLE );
1325
  //if ($total > $num) $l2 = '<p>Last ' . $num . ' lockouts of '.$total.' are displayed</p>';
1326
 
1327
- $view = '<a href="' . cerber_admin_link( 'lockouts' ) . '">' . __( 'View all', 'wp-cerber' ) . '</a>';
1328
- echo '<table class="cerber-margin" style="margin-top:2em;"><tr><td><h2 style="margin-bottom:0.5em;">' . __( 'Recently locked out IP addresses', 'wp-cerber' ) . '</h3></td><td> | ' . $view . '</td></tr></table>';
1329
 
1330
  cerber_show_lockouts( array(
1331
  'per_page' => 10,
@@ -1342,7 +1466,7 @@ function cerber_show_dashboard() {
1342
  function cerber_show_aside($page){
1343
  global $crb_assets_url;
1344
 
1345
- if (in_array($page,array('activity','lockouts'))) return;
1346
 
1347
  $aside = array();
1348
 
@@ -1383,6 +1507,10 @@ function cerber_show_aside($page){
1383
  <a class="crb-button-one" style="background-color: #3B5998;" href="https://www.facebook.com/wpcerber/" target="_blank"><span class="dashicons dashicons-facebook"></span> Follow Cerber on Facebook</a>
1384
  ';
1385
 
 
 
 
 
1386
  /*
1387
  if (!lab_lab() && !in_array($page,array('geo'))) {
1388
  $aside[] = '<div class="crb-box" id = "crb-donate">
@@ -1428,7 +1556,8 @@ function cerber_show_aside($page){
1428
  </div>
1429
  </div>';
1430
 
1431
- if ( $a = get_site_option( '_cerber_activated', null ) ) {
 
1432
  $a = maybe_unserialize($a);
1433
  if ( ! empty( $a['time'] ) && $a['time'] < ( time() - WEEK_IN_SECONDS ) ) {
1434
  $aside[] = '<a href="https://wordpress.org/support/plugin/wp-cerber/reviews/#new-post" target="_blank"><img style="width: 290px;" src="' . $crb_assets_url . 'rateit2.png" /></a>';
@@ -1604,8 +1733,11 @@ add_action('admin_init',function(){
1604
  /*
1605
  Pagination
1606
  */
1607
- function cerber_page_navi($total,$per_page = 20){
1608
  $max_links = 10;
 
 
 
1609
  $page = cerber_get_pn();
1610
  $last_page = ceil($total / $per_page);
1611
  $ret = '';
@@ -1666,6 +1798,7 @@ function cerber_db_diag(){
1666
  $ret[]= cerber_table_info(CERBER_LOG_TABLE);
1667
  $ret[]= cerber_table_info(CERBER_ACL_TABLE);
1668
  $ret[]= cerber_table_info(CERBER_BLOCKS_TABLE);
 
1669
 
1670
  if ($wp_cerber->getRemoteIp() == '127.0.0.1') $ret[] = '<p style="color: #DF0000;">It seems that we are unable to get IP addresses.</p>';
1671
 
@@ -1728,7 +1861,12 @@ function cerber_table_info( $table ) {
1728
  }
1729
  $status .= '</table>';
1730
 
1731
- return '<p style="font-size: 110%;">Table: <b>' . $table . '</b>, rows: ' . $rows . '</p><table class="diag-table"><tr><td class="diag-td">' . $columns . '</td><td class="diag-td">'. $status.'</td></tr></table>';
 
 
 
 
 
1732
  }
1733
 
1734
 
@@ -1832,7 +1970,7 @@ function cerber_admin_head(){
1832
  if (lab_lab()):
1833
  ?>
1834
  <style type="text/css" media="all">
1835
- .actv5, .actv10, .actv11, .actv12, .actv16, .actv17, .actv18, .actv19, .actv41, .actv42, .actv53, .actv54, .actv70 {
1836
  padding: 0;
1837
  border-left: none;
1838
  background-color: initial;
@@ -1849,7 +1987,7 @@ function cerber_admin_head(){
1849
  #crb-activity td.acinfo div {
1850
  padding: 0.1em 0 0.1em 0.7em;
1851
  }
1852
- .crb10, .crb11, .crb12, .crb16, .crb17, .crb18, .crb19, .crb41, .crb42, .crb51, .crb52, .crb53, .crb54, .crb70, .crb71 {
1853
  /*border-left: 4px solid #FF5733;*/
1854
  font-weight: bold;
1855
  border-left: 6px solid #FF5733;
@@ -1880,7 +2018,8 @@ function cerber_admin_head(){
1880
  /* Hide alien's crap messages */
1881
  .update-nag,
1882
  #setting-error-tgmpa,
1883
- .pms-cross-promo {
 
1884
  display: none;
1885
  }
1886
 
@@ -1923,7 +2062,7 @@ function cerber_footer_text2($text){
1923
  }
1924
  if ( lab_lab() ) {
1925
  $pr = 'PRO';
1926
- $support = '<a target="_blank" href="https://wpcerber.com/support/">Get Support</a>';
1927
  }
1928
  else {
1929
  $pr = '';
@@ -1938,15 +2077,22 @@ function cerber_footer_text2($text){
1938
  *
1939
  */
1940
  function cerber_screen_options() {
1941
- if (!empty($_GET['tab'])) $tab = $_GET['tab'];
1942
- else $tab = '';
1943
- if ( !in_array( $tab, array( 'lockouts', 'activity' ) ) ) {
 
 
 
 
 
 
 
1944
  return;
1945
  }
1946
  $args = array(
1947
  //'label' => __( 'Number of items per page:' ),
1948
- 'default' => 50,
1949
- 'option' => 'cerber_screen_'.$tab,
1950
  );
1951
  add_screen_option( 'per_page', $args );
1952
  // add_screen_option( 'layout_columns', array('max' => 2, 'default' => 2) );
@@ -1958,9 +2104,20 @@ function cerber_screen_options() {
1958
  */
1959
  add_filter('set-screen-option', 'cerber_save_screen_option', 10, 3);
1960
  function cerber_save_screen_option($status, $option, $value) {
1961
- if (!empty($_GET['tab'])) $tab = $_GET['tab'];
1962
- else $tab = 'activity';
1963
- if ( 'cerber_screen_'.$tab == $option ) return $value;
 
 
 
 
 
 
 
 
 
 
 
1964
  return $status;
1965
  }
1966
  /*
@@ -1969,14 +2126,20 @@ function cerber_save_screen_option($status, $option, $value) {
1969
  *
1970
  */
1971
  function cerber_get_per_page(){
1972
- if (is_multisite()) return 50; // temporary workaround
 
 
1973
  $screen = get_current_screen();
1974
  $screen_option = $screen->get_option('per_page', 'option');
1975
- if ($screen_option == 'cerber_screen_') $screen_option = 'cerber_screen_activity';
1976
- $per_page = get_user_meta(get_current_user_id(), $screen_option, true);
1977
  if ( empty ( $per_page) || $per_page < 1 ) {
1978
- $per_page = $screen->get_option( 'per_page', 'default' );
1979
  }
 
 
 
 
1980
  return $per_page;
1981
  }
1982
 
@@ -1993,8 +2156,6 @@ function cerber_rules_page(){
1993
  <?php
1994
 
1995
  echo '<a href="' . cerber_admin_link('geo') . '" class="nav-tab ' . ( $tab == 'geo' ? 'nav-tab-active' : '') . '"><span class="dashicons dashicons-admin-site"></span> ' . __('Countries') . '</a>';
1996
- //echo '<a href="' . cerber_admin_link('diagnostic') . '" class="nav-tab ' . ( $tab == 'diagnostic' ? 'nav-tab-active' : '') . '"><span class="dashicons dashicons-admin-tools"></span> ' . __('Diagnostic') . '</a>';
1997
- //echo '<a href="' . cerber_admin_link('license') . '" class="nav-tab ' . ( $tab == 'license' ? 'nav-tab-active' : '') . '"><span class="dashicons dashicons-id-alt"></span> ' . __('License') . '</a>';
1998
 
1999
  echo lab_indicator();
2000
  ?>
@@ -2224,6 +2385,11 @@ function cerber_country_form( $config = array(), $rule_id = '', $rule = array()
2224
 
2225
  }
2226
 
 
 
 
 
 
2227
  function cerber_geo_rule_set(){
2228
  $rules = array(
2229
  'geo_submit' => array( 'name' => __( 'Submit forms', 'wp-cerber' ) ),
@@ -2237,6 +2403,10 @@ function cerber_geo_rule_set(){
2237
  return $rules;
2238
  }
2239
 
 
 
 
 
2240
  function crb_save_geo_rules(){
2241
  global $cerber_country_names, $wp_cerber;
2242
 
@@ -2275,6 +2445,14 @@ function crb_save_geo_rules(){
2275
  }
2276
  }
2277
 
 
 
 
 
 
 
 
 
2278
  function crb_country_html($code = null, $ip = null){
2279
  global $crb_ajax_loader;
2280
 
@@ -2302,3 +2480,629 @@ function crb_country_html($code = null, $ip = null){
2302
 
2303
  return $ret;
2304
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  /*
3
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
155
  $activity_url = cerber_admin_link( 'activity' );
156
  if ( $rows = $wpdb->get_results( 'SELECT * FROM ' . CERBER_ACL_TABLE . " WHERE tag = '" . $tag . "' ORDER BY ip_long_begin, ip" ) ) {
157
  foreach ( $rows as $row ) {
158
+ $list[] = '<td>' . $row->ip . '</td><td>'.$row->comments.'</td><td><a class="crb-button-tiny" href="' . $activity_url . '&filter_ip=' . urlencode( $row->ip ) . '">' . __( 'Check for activity', 'wp-cerber' ) . '</a> '.cerber_traffic_link(array('filter_ip'=>$row->ip)).'</td>
159
+ <td><a class="delete_entry crb-button-tiny" href="javascript:void(0)" data-ip="' . $row->ip . '">' . __( 'Remove', 'wp-cerber' ) . '</a>
160
+ </td>';
161
  }
162
  $ret = '<table id="acl_' . $tag . '" class="acl-table"><tr>' . implode( '</tr><tr>', $list ) . '</tr></table>';
163
  }
195
  if ( ! $ip ) {
196
  cerber_admin_notice( __( 'Incorrect IP address or IP range', 'wp-cerber' ) );
197
  }
198
+ elseif ( cerber_add_white( $ip, strip_tags( stripslashes($_POST['add_acl_comment']) ) ) ) {
199
  if ( is_array( $ip ) ) {
200
  $ip = $ip['range'];
201
  }
211
  if ( ! cerber_can_be_listed( $ip ) ) {
212
  cerber_admin_notice( __( "You cannot add your IP address or network", 'wp-cerber' ) );
213
  }
214
+ elseif ( cerber_add_black( $ip, strip_tags( stripslashes($_POST['add_acl_comment']) ) ) ) {
215
  if (is_array($ip)) $ip = $ip['range'];
216
  cerber_admin_message(sprintf(__('Address %s was added to Black IP Access List','wp-cerber'),$ip));
217
  }
366
  //add_action('admin_init','cerber_admin_request');
367
  add_action('wp_loaded','cerber_admin_request'); // @since 5.6
368
  function cerber_admin_request(){
369
+ global $wpdb;
370
 
371
  if ( !is_admin() ) return;
372
  if ( !isset( $_REQUEST['cerber_nonce'] ) ) return;
415
  wp_safe_redirect( remove_query_arg( array( 'force_repair_db', 'cerber_nonce' ) ) ); // mandatory!
416
  exit; // mandatory!
417
  }
418
+ elseif ( isset( $_GET['truncate'] ) ) {
419
+ $table = $_GET['truncate'];
420
+ if (0 === strpos($table, 'cerber_')){
421
+ $table = preg_replace( '/[^a-z_]/i', '', $table );
422
+ if ($wpdb->query('TRUNCATE TABLE '.$table)){
423
+ cerber_admin_message( 'Table '.$table.' has been truncated' );
424
+ }
425
+ else cerber_admin_message( $wpdb->last_error );
426
+ }
427
+ wp_safe_redirect( remove_query_arg( array( 'truncate', 'cerber_nonce' ) ) ); // mandatory!
428
+ exit; // mandatory!
429
+ }
430
  elseif ( isset( $_GET['force_check_nodes'] ) ) {
431
  $best = lab_check_nodes( true );
432
  cerber_admin_message( 'Cerber Lab\'s nodes has been checked. The closest node: ' . $best );
537
  $status_labels = cerber_get_labels('status');
538
 
539
  $base_url = cerber_admin_link('activity');
 
540
  $export_link = '';
 
541
  $ret = '';
542
 
543
  list( $query, $per_page, $falist, $filter_ip, $filter_login, $user_id, $search ) = cerber_activity_query( $args );
544
 
545
+ $info = '';
546
+ if ($filter_ip){
547
+ $info .= cerber_ip_extra_view( $filter_ip );
548
+ }
549
+ if ($user_id){
550
+ $info .= cerber_user_extra_view( $user_id );
551
+ }
552
+
553
  $user_cache = array();
554
 
555
  if ( $rows = $wpdb->get_results( $query ) ) {
644
  $country = '</td><td>' . crb_country_html($row->country, $row->ip);
645
  }
646
 
647
+ //$tbody .= '<tr class="acrow'.$row->activity.'"><td><div class="act-icon ip-acl' . $acl . ' ' . $block . '" title="' . $tip . '"></div>' . $ip . '</td><td>' . $hostname . $country . '</td><td>' . $date . '</td><td class="acinfo">' . $activity . '</td><td>' . $name . '</td><td>' . $username . '</td></tr>';
648
+ $tbody .= '<tr class="acrow'.$row->activity.'"><td><div class="css-table"><div><span class="act-icon ip-acl' . $acl . ' ' . $block . '" title="' . $tip . '"></span></div><div>' . $ip . '</div></div></td><td>' . $hostname . $country . '</td><td>' . $date . '</td><td class="acinfo">' . $activity . '</td><td>' . $name . '</td><td>' . $username . '</td></tr>';
649
  }
650
 
651
  $heading = array(
658
  __( 'Username used', 'wp-cerber' )
659
  );
660
 
661
+ if ( !$geo ) {
662
  unset( $heading[2] );
663
  }
664
 
666
 
667
  $table = '<table id="crb-activity" class="widefat crb-table cerber-margin"><thead>' . $titles . '</thead><tfoot>' . $titles . '</tfoot><tbody>' . $tbody . '</tbody></table>';
668
 
669
+ if ( empty( $args['no_navi'] ) ) {
670
+ $table .= cerber_page_navi( $total, $per_page );
671
+ }
672
 
673
  //$legend = '<p>'.sprintf(__('Showing last %d records from %d','wp-cerber'),count($rows),$total);
674
 
675
+ if ( empty( $args['no_export'] ) ) {
676
+ $export_link = '<a class="button button-secondary cerber-button" href="' . wp_nonce_url( add_query_arg( 'export_activity', 1 ), 'control', 'cerber_nonce' ) . '"><span class="dashicons dashicons-download" style="vertical-align: middle;"></span> ' . __( 'Export', 'wp-cerber' ) . '</a>';
677
+ }
678
  }
679
  else {
 
680
  $table = '<p class="cerber-margin">'.__('No activity has been logged.','wp-cerber').'</p>';
681
  }
682
 
816
  */
817
  }
818
  /*
819
+ * Additional information about IP address
 
 
820
  */
821
+ function cerber_ip_extra_view($ip, $context = 'activity'){
 
822
  global $wp_cerber;
823
  //if (!cerber_is_ip_or_net($ip)) return '';
824
  if ( ! $ip || ! filter_var( $ip, FILTER_VALIDATE_IP ) ) {
825
  return '';
826
  }
827
+ $ip_info = ' ';
828
  $acl = cerber_acl_check( $ip );
829
  if ( $acl == 'W' ) {
830
+ $ip_info .= '<span class="color-green ip-info-label">'.__( 'White IP Access List', 'wp-cerber' ).'</span> ';
831
+ }
832
+ elseif ( $acl == 'B' ) {
833
+ $ip_info .= '<span class="color-black ip-info-label">'.__( 'Black IP Access List', 'wp-cerber' ).'</span> ';
834
  }
835
  if ( cerber_block_check( $ip ) ) {
836
+ $ip_info .= '<span class="color-blocked ip-info-label">'.__( 'Locked out', 'wp-cerber' ).'</span> ';
837
+ }
838
+
839
+ if ($context == 'activity') {
840
+ $ip_info .= cerber_traffic_link(array('filter_ip'=>$ip));
841
+ }
842
+ else {
843
+ $ip_info .= ' <a class="crb-button-tiny" href="'.cerber_admin_link('activity',array('filter_ip'=>$ip)).'">'.__('Check for activity','wp-cerber').'</a>';
844
  }
845
 
846
  // Filter activity by ...
859
  $network_info = '';
860
 
861
  if (cerber_get_options('ip_extra')) {
862
+ $ip_data = cerber_ip_whois_info($ip);
863
+ if (isset($ip_data['whois'])) $whois = '<div id="whois">' . $ip_data['whois'] . '</div>';
864
+ if (isset($ip_data['error'])) $whois = '<div id="whois">' . $ip_data['error'] . '</div>';
865
+ if (isset($ip_data['country'])) $country = $ip_data['country'];
866
+ if (!empty($ip_data['data']['abuse-mailbox'])) $abuse = '<p>'.__('Abuse email:','wp-cerber').' <a href="mailto:'.$ip_data['data']['abuse-mailbox'].'">'.$ip_data['data']['abuse-mailbox'].'</a></p>';
867
+ if (!empty($ip_data['data']['network'])) {
868
+ $network = $ip_data['data']['network'];
869
  $range = cerber_any2range($network);
870
+ $network_info = '<p>'.__('Network:','wp-cerber').' '.$network.' &nbsp; <a class="crb-button-tiny" href="'.cerber_admin_link('activity',array('filter_ip'=>$range['range'])).'">'.__('Check for activity','wp-cerber').'</a> '.cerber_traffic_link(array('filter_ip'=>$range['range']));
871
  }
872
  }
873
 
891
  '</form>';
892
  }
893
 
894
+ $ret = '<div class="crb-extra-info">
895
  <table>
896
+ <tr><td><p><span id = "ip-address">' . $ip . '</span><span id = "ip-country">' . $country .'</span>'. $ip_info .'</p>' . $network_info . $abuse . '</td><td>' . $form . '</td></tr>
897
  </table>
898
  </div>';
899
 
900
  return $ret.$whois;
901
  }
902
+ /**
903
+ * Additional information about user
904
+ */
905
+ function cerber_user_extra_view($user_id, $context = 'activity'){
906
+ global $wp_roles, $wpdb;
907
+
908
+ $ret = '';
909
+ if ( $u = get_userdata( $user_id ) ) {
910
+ if ( ! is_multisite() && $u->roles ) {
911
+ $r = array();
912
+ foreach ( $u->roles as $role ) {
913
+ $r[] = $wp_roles->roles[ $role ]['name'];
914
+ }
915
+ $r = '<span class="act-role">' . implode( ', ', $r ) . '</span>';
916
+ }
917
+
918
+ $edit = get_edit_user_link( $user_id );
919
+ $name = '<b><a href="'.$edit.'">' . $u->display_name . '</a></b><p>' . $r . '</p>';
920
+
921
+ if ($avatar = get_avatar( $user_id, 96 )) {
922
+ $ret .= '<div>' . $avatar . '</div>';
923
+ }
924
+
925
+ $time = strtotime($wpdb->get_var("SELECT user_registered FROM {$wpdb->users} WHERE id = ".$user_id));
926
+ if ($time) {
927
+ $reg = $time < (time() - DAY_IN_SECONDS) ? cerber_date($time) : cerber_ago_time($time);
928
+ if ($rm = get_user_meta($user_id, '_crb_reg_', true)){
929
+ if ($rm['IP']) {
930
+ if ( $country = crb_country_html( null, $rm['IP'] ) ) {
931
+ $reg .= ' &nbsp; ' . $country;
932
+ }
933
+ }
934
+ }
935
+ }
936
+
937
+ // Last seen
938
+ $s1 = $wpdb->get_row('SELECT stamp,ip FROM '.CERBER_TRAF_TABLE.' WHERE user_id = ' .$user_id . ' ORDER BY stamp DESC LIMIT 1');
939
+ $s2 = $wpdb->get_row('SELECT stamp,ip FROM '.CERBER_LOG_TABLE.' WHERE user_id = ' .$user_id . ' ORDER BY stamp DESC LIMIT 1');
940
+
941
+ $time1 = ($s1) ? $s1->stamp : 0;
942
+ $time2 = ($s2) ? $s2->stamp : 0;
943
+
944
+ $sn = ($time1 < $time2) ? $s2 : $s1;
945
+
946
+ if ($sn) {
947
+ $seen = $sn->stamp < (time() - DAY_IN_SECONDS) ? cerber_date($sn->stamp) : cerber_ago_time($sn->stamp);
948
+ $seen = __('Last seen','wp-cerber').': ' . $seen;
949
+ if ( $country = crb_country_html( null, $sn->ip ) ) {
950
+ $seen .= ' &nbsp; ' . $country;
951
+ }
952
+ $seen = '<p>'. $seen . '</p>';
953
+ }
954
+
955
+ $ret .= '<div>' . $name . '<p>'.__('Registered','wp-cerber').': ' . $reg. '</p>'.$seen.'</div>';
956
+
957
+ if ($context == 'activity') {
958
+ $link = cerber_traffic_link(array('filter_user'=>$user_id));
959
+ }
960
+ else {
961
+ $link = ' <a class="crb-button-tiny" href="'.cerber_admin_link('activity',array('filter_user'=>$user_id)).'">'.__('Check for activity','wp-cerber').'</a>';
962
+ }
963
+ }
964
+
965
+ if ($ret) {
966
+ return '<div class="crb-extra-info" id="user-extra-info">'.$ret.$link.'</div>';
967
+ }
968
+
969
+ return '';
970
+
971
+ }
972
 
973
  /*
974
  Add admin menu, init admin stuff
983
 
984
  if ( cerber_is_admin_page(false) ) {
985
  cerber_check_environment();
 
986
  }
987
 
988
  $hook = add_menu_page( __( 'WP Cerber Security', 'wp-cerber' ), __( 'WP Cerber', 'wp-cerber' ), 'manage_options', 'cerber-security', 'cerber_settings_page', 'dashicons-shield', '100' );
989
+ add_action( 'load-' . $hook, 'cerber_screen_options' );
990
  add_submenu_page( 'cerber-security', __( 'Cerber Dashboard', 'wp-cerber' ), __( 'Dashboard' ), 'manage_options', 'cerber-security', 'cerber_settings_page' );
991
 
992
+ $hook = add_submenu_page( 'cerber-security', __( 'Cerber Traffic Inspector', 'wp-cerber' ), __( 'Traffic Inspector', 'wp-cerber' ), 'manage_options', 'cerber-traffic', 'cerber_traffic_page' );
993
+ add_action( 'load-' . $hook, 'cerber_screen_options' );
994
+
995
  if (lab_lab()) {
996
  add_submenu_page( 'cerber-security', __( 'Cerber Security Rules', 'wp-cerber' ), __( 'Security Rules', 'wp-cerber' ), 'manage_options', 'cerber-rules', 'cerber_rules_page' );
997
  }
1167
 
1168
  $dash = cerber_admin_link();
1169
  $act = cerber_admin_link('activity');
1170
+ $acl = cerber_admin_link('traffic');
1171
+ $loc = cerber_admin_link('antispam');
1172
 
1173
  $failed = $wpdb->get_var('SELECT count(ip) FROM '. CERBER_LOG_TABLE .' WHERE activity IN (7) AND stamp > '.(time() - 24 * 3600));
1174
  $failed_prev = $wpdb->get_var('SELECT count(ip) FROM '. CERBER_LOG_TABLE .' WHERE activity IN (7) AND stamp > '.(time() - 48 * 3600).' AND stamp < '.(time() - 24 * 3600));
1203
 
1204
  echo '<table id="quick-info"><tr><td>'.__('Lockouts at the moment','wp-cerber').'</td><td>'.$lockouts.'</td></tr>';
1205
  echo '<tr><td>'.__('Last lockout','wp-cerber').'</td><td>'.$last.'</td></tr>';
1206
+ echo '<tr class="with-padding"><td>'.__('White IP Access List','wp-cerber').'</td><td><b>'.$w_count.' '._n('entry','entries',$w_count,'wp-cerber').'</b></td></tr>';
1207
  echo '<tr><td>'.__('Black IP Access List','wp-cerber').'</td><td><b>'.$b_count.' '._n('entry','entries',$b_count,'wp-cerber').'</b></td></tr>';
1208
+ echo '<tr class="with-padding"><td>'.__('Citadel mode','wp-cerber').'</td><td><b>'.$citadel.'</b></td></tr>';
1209
+
1210
+ $status = ( '' === crb_get_settings( 'tienabled' ) ) ? '<span style="color: red;">'.__('disabled','wp-cerber').'</span>' : __('enabled','wp-cerber');
1211
+ echo '<tr class="with-padding"><td>'.__('Traffic Inspector','wp-cerber').'</td><td><b>'.$status.'</b></td></tr>';
1212
+
1213
+ if (lab_lab()){
1214
+ $status = ( !lab_is_cloud_ok() ) ? '<span style="color: red;">'.__('no connection','wp-cerber').'</span>' : __('active','wp-cerber');
1215
+ echo '<tr><td>Cloud Protection</td><td><b>'.$status.'</b></td></tr>';
1216
+ }
1217
+
1218
+ /*
1219
  $dev = crb_get_settings('pbdevice');
1220
  if (!$dev || $dev == 'N') echo '<tr><td style="padding-top:15px;">'.__('Push notifications','wp-cerber').'</td><td style="padding-top:15px;"><b>not configured</b></td></tr>';
1221
+ */
1222
  echo '</table></div>';
1223
 
1224
  echo '<div class="wilinks">
1225
  <a href="'.$dash.'"><span class="dashicons dashicons-dashboard"></span> ' . __('Dashboard','wp-cerber').'</a> |
1226
  <a href="'.$act.'"><span class="dashicons dashicons-welcome-view-site"></span> ' . __('Activity','wp-cerber').'</a> |
1227
+ <a href="'.$acl.'"><span class="dashicons dashicons-visibility"></span> ' . __('Traffic','wp-cerber').'</a> |
1228
+ <a href="'.$loc.'"><span class="dashicons dashicons-thumbs-down"></span> ' . __('Antispam','wp-cerber').'</a>
1229
  </div>';
1230
  if ( $new = cerber_check_version() ) {
1231
  echo '<div class="up-cerber">' . $new['msg'] . '</div>';
1238
  function cerber_show_help() {
1239
  global $crb_assets_url;
1240
 
1241
+ if (lab_lab()){
1242
+ $support = '<p style="margin: 2em 0 5em 0;">Submit a support ticket in your personal support area: <a href="https://my.wpcerber.com/">https://my.wpcerber.com</a></p>';
1243
+ }
1244
+ else {
1245
+ $support = '<p>Support for the free version is provided on the WordPress forum only, though, please note, that it is free support hence it is
1246
+ not always possible to answer all questions on a timely manner, although we do try.</p>
1247
+
1248
+ <p><a href="https://wpcerber.com/pro/" class="crb-button-tiny">If you need professional and priority support 24/7/365, please buy a PRO license</a></p>';
1249
+ }
1250
+
1251
  ?>
1252
  <div id="crb-help">
1253
  <table id="admin-help">
1265
 
1266
  <h3>Do you have a question or need help?</h3>
1267
 
1268
+ <?php echo $support; ?>
 
1269
 
1270
  <p><span class="dashicons-before dashicons-book-alt"></span> <a href="https://wpcerber.com/toc/" target="_blank">Read articles on wpcerber.com</a></p>
1271
  <p><span class="dashicons-before dashicons-format-chat"></span> <a href="https://wordpress.org/support/plugin/wp-cerber">Get answer on the support forum</a></p>
1281
  <h3>What is IP address of your computer?</h3>
1282
 
1283
  <p>To find out your current IP address go to this page: <a href="https://wpcerber.com/what-is-my-ip/">What is my IP</a>. If you see a different IP address on the Activity tab for your login or logout events you probably need to check <b><?php _e('My site is behind a reverse proxy','wp-cerber'); ?></b>.</p>
1284
+ <p>
1285
+ <span class="dashicons-before dashicons-book-alt"> <a href="https://wpcerber.com/wordpress-ip-address-detection/">Solving problem with incorrect IP address detection</a>
1286
+ </p>
1287
+
1288
 
1289
  <h3>Setting up antispam protection</h3>
1290
 
1418
  //if ($total > $num) $l1 = 'Last ' . $num . ' suspect events are displayed';
1419
 
1420
  $links = array();
1421
+ $links[] = '<a class="crb-button-tiny" href="' . cerber_admin_link( 'activity' ) . '">' . __( 'View all', 'wp-cerber' ) . '</a>';
1422
 
1423
  $labels = cerber_get_labels('activity');
1424
  $set = array( 5 );
1425
  foreach ( $set as $item ) {
1426
+ $links[] = '<a class="crb-button-tiny" href="' . cerber_admin_link( 'activity' ) . '&filter_activity=' . $item . '">' . $labels[ $item ] . '</a>';
1427
  }
1428
 
1429
+ $links[] = '<a class="crb-button-tiny" href="' . cerber_activity_link( array( 2 ) ) . '">' . __( 'User registered', 'wp-cerber' ) . '</a>';
1430
+ $links[] = '<a class="crb-button-tiny" href="' . cerber_activity_link( crb_get_activity_set( 'suspicious' ) ) . '">' . __( 'All suspicious activity', 'wp-cerber' ) . '</a>';
1431
 
1432
 
1433
+ //$nav_links = '<span style="display: inline-block; margin-left: 1em;">' . implode(' &nbsp;|&nbsp; ',$links) . '</span>';
1434
+ $nav_links = implode(' ', $links);
1435
 
1436
+ echo '<table class="cerber-margin"><tr><td><h2 style="margin-bottom:0.5em; margin-right: 1em;">' . __( 'Activity', 'wp-cerber' ) . '</h2></td><td>' . $nav_links . '</td></tr></table>';
1437
 
1438
  cerber_show_activity( array(
1439
+ 'filter_activity' => array( 1, 2, 5, 10, 11, 12, 16, 17, 18, 19, 40, 41, 42, 50, 51, 52, 53, 54, 55, 70, 71 ),
1440
  'per_page' => 10,
1441
  'no_navi' => true,
1442
  'no_export' => true,
1448
  //$total = $wpdb->get_var( 'SELECT count(ip) FROM ' . CERBER_BLOCKS_TABLE );
1449
  //if ($total > $num) $l2 = '<p>Last ' . $num . ' lockouts of '.$total.' are displayed</p>';
1450
 
1451
+ $view = '<a class="crb-button-tiny" href="' . cerber_admin_link( 'lockouts' ) . '">' . __( 'View all', 'wp-cerber' ) . '</a>';
1452
+ echo '<table class="cerber-margin" style="margin-top:2em;"><tr><td><h2 style="margin-bottom:0.5em; margin-right: 1em;">' . __( 'Recently locked out IP addresses', 'wp-cerber' ) . '</h3></td><td> ' . $view . '</td></tr></table>';
1453
 
1454
  cerber_show_lockouts( array(
1455
  'per_page' => 10,
1466
  function cerber_show_aside($page){
1467
  global $crb_assets_url;
1468
 
1469
+ if (in_array($page,array('activity','lockouts','traffic'))) return;
1470
 
1471
  $aside = array();
1472
 
1507
  <a class="crb-button-one" style="background-color: #3B5998;" href="https://www.facebook.com/wpcerber/" target="_blank"><span class="dashicons dashicons-facebook"></span> Follow Cerber on Facebook</a>
1508
  ';
1509
 
1510
+ // 22.01.2017
1511
+ if (!lab_lab()) $aside[] = '<a class="crb-button-one" style="text-align:center; padding-top: 1.5em; padding-bottom: 1.5em; background-color: #C92E5C;" href="https://wpcerber.com/pro/" target="_blank">
1512
+ <span class="dashicons dashicons-awards"></span><span class="dashicons dashicons-awards"></span><span class="dashicons dashicons-awards"></span><br><br>UPGRADE TO PROFESSIONAL VERSION</a>';
1513
+
1514
  /*
1515
  if (!lab_lab() && !in_array($page,array('geo'))) {
1516
  $aside[] = '<div class="crb-box" id = "crb-donate">
1556
  </div>
1557
  </div>';
1558
 
1559
+ if ( !lab_lab() ) {
1560
+ $a = get_site_option( '_cerber_activated', null );
1561
  $a = maybe_unserialize($a);
1562
  if ( ! empty( $a['time'] ) && $a['time'] < ( time() - WEEK_IN_SECONDS ) ) {
1563
  $aside[] = '<a href="https://wordpress.org/support/plugin/wp-cerber/reviews/#new-post" target="_blank"><img style="width: 290px;" src="' . $crb_assets_url . 'rateit2.png" /></a>';
1733
  /*
1734
  Pagination
1735
  */
1736
+ function cerber_page_navi($total, $per_page ){
1737
  $max_links = 10;
1738
+ if ( ! $per_page ) {
1739
+ $per_page = 25;
1740
+ }
1741
  $page = cerber_get_pn();
1742
  $last_page = ceil($total / $per_page);
1743
  $ret = '';
1798
  $ret[]= cerber_table_info(CERBER_LOG_TABLE);
1799
  $ret[]= cerber_table_info(CERBER_ACL_TABLE);
1800
  $ret[]= cerber_table_info(CERBER_BLOCKS_TABLE);
1801
+ $ret[]= cerber_table_info(CERBER_TRAF_TABLE);
1802
 
1803
  if ($wp_cerber->getRemoteIp() == '127.0.0.1') $ret[] = '<p style="color: #DF0000;">It seems that we are unable to get IP addresses.</p>';
1804
 
1861
  }
1862
  $status .= '</table>';
1863
 
1864
+ $truncate = '';
1865
+ if ($rows) {
1866
+ $truncate = ' <a href="'.wp_nonce_url( add_query_arg( array( 'truncate' => $table ) ), 'control', 'cerber_nonce' ).'" class="crb-button-tiny" onclick="return confirm(\'Confirm emptying the table. It cannot be rolled back.\')">Delete all rows</a>';
1867
+ }
1868
+
1869
+ return '<p style="font-size: 110%;">Table: <b>' . $table . '</b>, rows: ' . $rows . $truncate. '</p><table class="diag-table"><tr><td class="diag-td">' . $columns . '</td><td class="diag-td">'. $status.'</td></tr></table>';
1870
  }
1871
 
1872
 
1970
  if (lab_lab()):
1971
  ?>
1972
  <style type="text/css" media="all">
1973
+ .actv5, .actv10, .actv11, .actv12, .actv16, .actv17, .actv18, .actv19, .actv41, .actv42, .actv53, .actv54, .actv55, .actv70 {
1974
  padding: 0;
1975
  border-left: none;
1976
  background-color: initial;
1987
  #crb-activity td.acinfo div {
1988
  padding: 0.1em 0 0.1em 0.7em;
1989
  }
1990
+ .crb10, .crb11, .crb12, .crb16, .crb17, .crb18, .crb19, .crb41, .crb42, .crb51, .crb52, .crb53, .crb54, .crb55, .crb70, .crb71 {
1991
  /*border-left: 4px solid #FF5733;*/
1992
  font-weight: bold;
1993
  border-left: 6px solid #FF5733;
2018
  /* Hide alien's crap messages */
2019
  .update-nag,
2020
  #setting-error-tgmpa,
2021
+ .pms-cross-promo,
2022
+ .vc_license-activation-notice{
2023
  display: none;
2024
  }
2025
 
2062
  }
2063
  if ( lab_lab() ) {
2064
  $pr = 'PRO';
2065
+ $support = '<a target="_blank" href="https://my.wpcerber.com">Get Support</a>';
2066
  }
2067
  else {
2068
  $pr = '';
2077
  *
2078
  */
2079
  function cerber_screen_options() {
2080
+ if ( ! empty( $_GET['tab'] ) ) {
2081
+ $id = $_GET['tab'];
2082
+ }
2083
+ else {
2084
+ $id = $_GET['page'];
2085
+ }
2086
+ if ($id == 'cerber-traffic') {
2087
+ $id = 'traffic';
2088
+ }
2089
+ if ( !in_array( $id, array( 'lockouts', 'activity', 'traffic' ) ) ) {
2090
  return;
2091
  }
2092
  $args = array(
2093
  //'label' => __( 'Number of items per page:' ),
2094
+ 'default' => 25,
2095
+ 'option' => 'cerber_screen_'.$id,
2096
  );
2097
  add_screen_option( 'per_page', $args );
2098
  // add_screen_option( 'layout_columns', array('max' => 2, 'default' => 2) );
2104
  */
2105
  add_filter('set-screen-option', 'cerber_save_screen_option', 10, 3);
2106
  function cerber_save_screen_option($status, $option, $value) {
2107
+ if ( ! empty( $_GET['tab'] ) ) {
2108
+ $id = $_GET['tab'];
2109
+ }
2110
+ else {
2111
+ $id = $_GET['page'];
2112
+ }
2113
+ if ($id == 'cerber-traffic') {
2114
+ $id = 'traffic';
2115
+ }
2116
+ if ( in_array( $id, array( 'lockouts', 'activity', 'traffic' ) ) ) {
2117
+ if ( 'cerber_screen_'.$id == $option ) {
2118
+ return $value;
2119
+ }
2120
+ }
2121
  return $status;
2122
  }
2123
  /*
2126
  *
2127
  */
2128
  function cerber_get_per_page(){
2129
+ if ( is_multisite() ) {
2130
+ return 50; // temporary workaround
2131
+ }
2132
  $screen = get_current_screen();
2133
  $screen_option = $screen->get_option('per_page', 'option');
2134
+ //if ($screen_option == 'cerber_screen_') $screen_option = 'cerber_screen_activity';
2135
+ $per_page = absint( get_user_meta( get_current_user_id(), $screen_option, true ) );
2136
  if ( empty ( $per_page) || $per_page < 1 ) {
2137
+ $per_page = absint( $screen->get_option( 'per_page', 'default' ) );
2138
  }
2139
+ if ( empty ( $per_page) || $per_page < 1 ) {
2140
+ $per_page = 25;
2141
+ }
2142
+
2143
  return $per_page;
2144
  }
2145
 
2156
  <?php
2157
 
2158
  echo '<a href="' . cerber_admin_link('geo') . '" class="nav-tab ' . ( $tab == 'geo' ? 'nav-tab-active' : '') . '"><span class="dashicons dashicons-admin-site"></span> ' . __('Countries') . '</a>';
 
 
2159
 
2160
  echo lab_indicator();
2161
  ?>
2385
 
2386
  }
2387
 
2388
+ /**
2389
+ * A list of available GEO rules
2390
+ *
2391
+ * @return array
2392
+ */
2393
  function cerber_geo_rule_set(){
2394
  $rules = array(
2395
  'geo_submit' => array( 'name' => __( 'Submit forms', 'wp-cerber' ) ),
2403
  return $rules;
2404
  }
2405
 
2406
+ /**
2407
+ * Save rules in the admin dashboard
2408
+ *
2409
+ */
2410
  function crb_save_geo_rules(){
2411
  global $cerber_country_names, $wp_cerber;
2412
 
2445
  }
2446
  }
2447
 
2448
+ /**
2449
+ * Generates HTML for showing country in UI
2450
+ *
2451
+ * @param null $code
2452
+ * @param null $ip
2453
+ *
2454
+ * @return string
2455
+ */
2456
  function crb_country_html($code = null, $ip = null){
2457
  global $crb_ajax_loader;
2458
 
2480
 
2481
  return $ret;
2482
  }
2483
+
2484
+ // Traffic =====================================================================================
2485
+
2486
+ function cerber_traffic_page(){
2487
+
2488
+ $tab = cerber_get_tab( 'traffic', array( 'traffic', 'ti_settings' ) );
2489
+
2490
+ ?>
2491
+ <div class="wrap">
2492
+
2493
+ <h2><?php _e( 'Traffic Inspector', 'wp-cerber' ) ?></h2>
2494
+
2495
+ <h2 class="nav-tab-wrapper cerber-tabs">
2496
+ <?php
2497
+
2498
+ echo '<a href="' . cerber_admin_link('traffic') . '" class="nav-tab ' . ( $tab == 'traffic' ? 'nav-tab-active' : '') . '"><span class="dashicons dashicons-visibility"></span> ' . __('Live traffic') . '</a>';
2499
+ echo '<a href="' . cerber_admin_link('ti_settings') . '" class="nav-tab ' . ( $tab == 'ti_settings' ? 'nav-tab-active' : '') . '"><span class="dashicons dashicons-admin-settings"></span> ' . __('Settings') . '</a>';
2500
+ //echo '<a href="' . cerber_admin_link('help') . '" class="nav-tab ' . ( $tab == 'help' ? 'nav-tab-active' : '') . '"><span class="dashicons dashicons-editor-help"></span> ' . __('Help','wp-cerber') . '</a>';
2501
+
2502
+ echo lab_indicator();
2503
+ ?>
2504
+ </h2>
2505
+
2506
+ <?php
2507
+
2508
+ cerber_show_aside( $tab );
2509
+
2510
+ echo '<div class="crb-main">';
2511
+
2512
+ switch ( $tab ) {
2513
+ case 'traffic':
2514
+ cerber_show_traffic();
2515
+ break;
2516
+ case 'ti_settings':
2517
+ cerber_show_settings_page( 'traffic' );
2518
+ break;
2519
+ default:
2520
+ cerber_show_activity();
2521
+ }
2522
+
2523
+ echo '</div></div>';
2524
+
2525
+ }
2526
+
2527
+
2528
+ /*
2529
+ * Display traffic in the WP Dashboard
2530
+ * @since 6.0
2531
+ *
2532
+ */
2533
+ function cerber_show_traffic($args = array(), $echo = true){
2534
+ global $wpdb, $crb_ajax_loader, $wp_roles, $wp_cerber_remote;
2535
+
2536
+ $labels = cerber_get_labels('activity');
2537
+ $status_labels = cerber_get_labels('status');
2538
+
2539
+ $base_url = cerber_admin_link('traffic');
2540
+ $activity_url = cerber_admin_link('activity');
2541
+
2542
+ $export_link = '';
2543
+ $ret = '';
2544
+ $total = 0;
2545
+
2546
+ if ( ! $wp_cerber_remote ) {
2547
+ list( $query, $found, $per_page, $falist, $filter_ip, $prc, $user_id ) = cerber_traffic_query( $args );
2548
+ $rows = $wpdb->get_results( $query, OBJECT_K );
2549
+ $total = $wpdb->get_var( $found );
2550
+
2551
+ if ($rows){
2552
+ $events = $wpdb->get_results('SELECT log.session_id,log.* FROM '. CERBER_LOG_TABLE . ' log WHERE log.session_id IN ("' . implode('", "',array_keys($rows)).'" )', OBJECT_K);
2553
+ $roles = $wp_roles->roles;
2554
+ $users = array();
2555
+ $acl = array();
2556
+ $block = array();
2557
+ $wp_objects = array();
2558
+ foreach ($rows as $row) {
2559
+ if ( $row->user_id && ! isset( $users[ $row->user_id ] ) ) {
2560
+ if ( $u = get_userdata( $row->user_id ) ) {
2561
+ $n = $u->display_name;
2562
+ $r = '';
2563
+ if ( ! is_multisite() && $u->roles ) {
2564
+ $r = array();
2565
+ foreach ( $u->roles as $role ) {
2566
+ $r[] = $roles[ $role ]['name'];
2567
+ }
2568
+ $r = '<span class="act-role">' . implode( ', ', $r ) . '</span>';
2569
+ }
2570
+ }
2571
+ else {
2572
+ $n = __( 'Unknown', 'wp-cerber' ).' ('.$row->user_id.')';
2573
+ $r = '';
2574
+ }
2575
+
2576
+ $users[ $row->user_id ]['name'] = $n;
2577
+ $users[ $row->user_id ]['roles'] = $r;
2578
+ }
2579
+
2580
+ if ( ! isset( $acl[ $row->ip ] ) ) {
2581
+ $acl[ $row->ip ] = cerber_acl_check( $row->ip );
2582
+ }
2583
+
2584
+ if ( ! isset( $block[ $row->ip ] ) ) {
2585
+ $block[ $row->ip ] = cerber_block_check( $row->ip );
2586
+ }
2587
+
2588
+ // TODO: make it compatible with multisite WP
2589
+ if ($row->wp_type == 601 && $row->wp_id > 0) {
2590
+ $title = $wpdb->get_var('SELECT post_title FROM '.$wpdb->posts.' WHERE ID = '.absint($row->wp_id));
2591
+ if ($title) {
2592
+ $wp_objects[$row->wp_id] = apply_filters( 'the_title', $title, $row->wp_id );
2593
+ }
2594
+ }
2595
+
2596
+ }
2597
+ }
2598
+ }
2599
+
2600
+ $info = '';
2601
+ if ($filter_ip) {
2602
+ $info .= cerber_ip_extra_view( $filter_ip, 'traffic' );
2603
+ }
2604
+ if ($user_id){
2605
+ $info .= cerber_user_extra_view( $user_id, 'traffic' );
2606
+ }
2607
+
2608
+ if ( $rows ) {
2609
+
2610
+ $tbody = '';
2611
+ $country = '';
2612
+ $geo = lab_lab();
2613
+
2614
+ foreach ($rows as $row) {
2615
+
2616
+ $ip_id = cerber_get_id_ip($row->ip);
2617
+
2618
+ if ( $row->user_id ) {
2619
+ $name = '<a href="' . $base_url . '&filter_user=' . $row->user_id . '"><b>' . $users[ $row->user_id ]['name'] . '</b></a><br>' . $users[ $row->user_id ]['roles'];
2620
+ }
2621
+ else {
2622
+ $name = '';
2623
+ }
2624
+
2625
+ $ip = '<a href="'.$base_url.'&filter_ip='.$row->ip.'">'.$row->ip.'</a>';
2626
+
2627
+ if (!empty($row->hostname)){
2628
+ $hostname = $row->hostname;
2629
+ }
2630
+ else {
2631
+ $ip_info = cerber_get_ip_info( $row->ip, true );
2632
+ if ( isset( $ip_info['hostname'] ) ) {
2633
+ $hostname = $ip_info['hostname'];
2634
+ }
2635
+ else {
2636
+ $hostname = '<img data-ip-id="' . $ip_id . '" class="crb-no-hostname" src="' . $crb_ajax_loader . '" />' . "\n";
2637
+ }
2638
+ }
2639
+
2640
+ $tip='';
2641
+
2642
+ if ($acl[$row->ip] == 'W') $tip = __('White IP Access List','wp-cerber');
2643
+ elseif ($acl[$row->ip] == 'B') $tip = __('Black IP Access List','wp-cerber');
2644
+
2645
+ if ( $block[$row->ip]) {
2646
+ $color = ' color-blocked ';
2647
+ $tip .= ' ' . __( 'Locked out', 'wp-cerber' );
2648
+ }
2649
+ else $color='';
2650
+
2651
+ if ( ! empty( $args['date'] ) && $args['date'] == 'ago' ) {
2652
+ $date = cerber_ago_time( $row->stamp );
2653
+ }
2654
+ else {
2655
+ $date = '<span title="'.$row->stamp.' / '.$row->session_id.'">'.cerber_date( $row->stamp ).'<span/>';
2656
+ }
2657
+
2658
+ if ( $geo ) {
2659
+ $country = '<p style="">' . crb_country_html($row->country, $row->ip).'</p>';
2660
+ }
2661
+
2662
+ $activity = '';
2663
+ if ( ! empty( $events[ $row->session_id ] ) ) {
2664
+
2665
+ $a = $events[ $row->session_id ];
2666
+ $activity = '<p><a href="'.$activity_url.'&filter_ip='.$row->ip.'">' . $labels[$a->activity].'</a>';
2667
+
2668
+ $ad = explode( '|', $a->details );
2669
+ if ( ! empty( $ad[0] ) ) {
2670
+ $activity .= ' <span class = "act-details">' . $status_labels[ $ad[0] ] . '</span>';
2671
+ }
2672
+
2673
+ }
2674
+
2675
+ if ( $row->processing ) {
2676
+ $processing = $row->processing.' ms';
2677
+ if (($threshold = crb_get_settings('tithreshold')) && $row->processing > $threshold){
2678
+ $processing = '<span class="crb-processing crb-above">'.$processing.'</span>';
2679
+ }
2680
+ }
2681
+
2682
+ $wp_type = '<span class="crb-wp-type-'.$row->wp_type.'">'.cerber_get_wp_type($row->wp_type).'</span>';
2683
+
2684
+ $wp_obj = '';
2685
+ if (isset($wp_objects[$row->wp_id])){
2686
+ $wp_obj = '<p><i>'.$wp_objects[$row->wp_id].'</i></p>';
2687
+ }
2688
+
2689
+ $more_details = array();
2690
+
2691
+ $fields = array();
2692
+ if ( ! empty( $row->request_fields ) ) {
2693
+ $fields = @unserialize( $row->request_fields );
2694
+ }
2695
+
2696
+ $details = array();
2697
+ if ( ! empty( $row->request_details ) ) {
2698
+ $details = @unserialize( $row->request_details );
2699
+ }
2700
+
2701
+ if ( ! empty( $details[2] ) ) {
2702
+ $more_details[] = array('Referrer', htmlentities( urldecode( $details[2] )));
2703
+ }
2704
+
2705
+ if ( ! empty( $details[1] ) ) {
2706
+ $more_details[] = array('User agent', htmlentities( $details[1] ));
2707
+ }
2708
+
2709
+ // POST fields
2710
+
2711
+ if ( ! empty( $fields[1] ) ) {
2712
+ $more_details[] = array('', cerber_table_view('Post fields',$fields[1]) );
2713
+ }
2714
+
2715
+ // GET fields
2716
+
2717
+ if ( ! empty( $fields[2] ) ) {
2718
+ $more_details[] = array('', cerber_table_view('Get fields',$fields[2]) );
2719
+ }
2720
+
2721
+ // Files
2722
+
2723
+ $files = array();
2724
+ $f = '';
2725
+ if ( ! empty( $fields[3] ) ) {
2726
+ foreach ($fields[3] as $field_name => $file) {
2727
+
2728
+ if (is_array($file['error'])){
2729
+ $f_err = array_shift($file['error']);
2730
+ }
2731
+ else {
2732
+ $f_err = $file['error'];
2733
+ }
2734
+
2735
+ if ($f_err == UPLOAD_ERR_NO_FILE) {
2736
+ continue;
2737
+ }
2738
+
2739
+ if (is_array($file['name'])){
2740
+ $f_name = array_shift($file['name']);
2741
+ }
2742
+ else {
2743
+ $f_name = $file['name'];
2744
+ }
2745
+
2746
+ if (is_array($file['size'])){
2747
+ $f_size = array_shift($file['size']);
2748
+ }
2749
+ else {
2750
+ $f_size = $file['size'];
2751
+ }
2752
+
2753
+ $files[$field_name] = htmlentities($f_name).', size: '.absint($f_size).' bytes';
2754
+ }
2755
+
2756
+ if (!empty($files)){
2757
+ $f = '<span class="crb-ffile">F</span>';
2758
+ $more_details[] = array('', cerber_table_view('Files submitted', $files) );
2759
+ }
2760
+ }
2761
+
2762
+ // Additional details
2763
+
2764
+ if ( ! empty( $details[5] ) ) {
2765
+ $more_details[] = array('XML-RPC Data', htmlentities($details[5]));
2766
+ }
2767
+
2768
+ if ( ! empty( $details[6] ) ) {
2769
+ $more_details[] = array('', cerber_table_view('Headers',$details[6]) );
2770
+ }
2771
+
2772
+ if ( ! empty( $details[7] ) ) {
2773
+ $more_details[] = array('', cerber_table_view('$_SERVER',$details[7]) );
2774
+ }
2775
+
2776
+ if ( ! empty( $details[8] ) ) {
2777
+ $more_details[] = array('', cerber_table_view('Cookies',$details[8]) );
2778
+ }
2779
+
2780
+ $browser = cerber_detect_browser( $details[1] );
2781
+
2782
+ $request_details = '';
2783
+ foreach ($more_details as $d) {
2784
+ $request_details .= '<p style="font-weight: bold;">'.$d[0].'</p>'.$d[1];
2785
+ }
2786
+
2787
+ $request = '<b>'.htmlentities(urldecode($row->uri)).'</b>' . '<p style="margin-top:1em;"><span class="crb-'. $row->request_method .'">'. $row->request_method .'</span> ' . $f . $wp_type.' <span class="crb-'. $row->http_code .'"> HTTP '. $row->http_code. ' '. get_status_header_desc($row->http_code). '</span> '. $processing .' <a href="javascript:void(0);" class="crb-traffic-more" style="display: none;">Details</a> '.$activity.' </p>'.$wp_obj;
2788
+
2789
+ // Decorating this table can't be done via simple CSS
2790
+ if (!empty($even)) {
2791
+ $class = 'crb-even';
2792
+ $even = false;
2793
+ }
2794
+ else {
2795
+ $even = true;
2796
+ $class = 'crb-odd';
2797
+ }
2798
+
2799
+ $tbody .= '<tr class="'.$class.' crb-toggle">
2800
+ <td>' . $date . '</td>
2801
+ <td class="crb-request">' . $request .'</td>
2802
+ <td><div class="css-table"><div><span class="act-icon ip-acl' . $acl[$row->ip] . ' ' . $color . '" title="' . $tip . '"></span></div><div>' . $ip . '</div></div></td>
2803
+ <td>' . $hostname . $country . '</td>
2804
+ <td>' . $browser . '</td>
2805
+ <td>' . $name . '</td></tr><tr class="'.$class.'" style="display: none;"><td></td><td colspan="5" class="crb-traffic-details" data-session-id="'.$row->session_id.'"><div>'.$request_details.'</div></td></tr>';
2806
+ }
2807
+
2808
+ $heading = array(
2809
+ __( 'Date', 'wp-cerber' ),
2810
+ __( 'Request', 'wp-cerber' ),
2811
+ '<div class="act-icon"></div>' . __( 'IP', 'wp-cerber' ),
2812
+ __( 'Host Info', 'wp-cerber' ),
2813
+ __( 'User Agent', 'wp-cerber' ),
2814
+ __( 'Local User', 'wp-cerber' ),
2815
+ );
2816
+
2817
+ $titles = '<tr><th>' . implode( '</th><th>', $heading ) . '</th></tr>';
2818
+
2819
+ $table = '<table id="crb-traffic" class="widefat crb-table cerber-margin"><thead>' . $titles . '</thead><tfoot>' . $titles . '</tfoot><tbody>' . $tbody . '</tbody></table>';
2820
+
2821
+ if ( empty( $args['no_navi'] ) ) {
2822
+ $table .= cerber_page_navi( $total, $per_page );
2823
+ }
2824
+
2825
+ //$legend = '<p>'.sprintf(__('Showing last %d records from %d','wp-cerber'),count($rows),$total);
2826
+
2827
+ //if (empty($args['no_export'])) $export_link = '<a class="button button-secondary cerber-button" href="'.wp_nonce_url(add_query_arg('export_activity',1),'control','cerber_nonce').'"><span class="dashicons dashicons-download" style="vertical-align: middle;"></span> '.__('Export','wp-cerber').'</a>';
2828
+ }
2829
+ else {
2830
+ $table = '<p class="cerber-margin">'.__('No requests have been logged.','wp-cerber').'</p>';
2831
+ cerber_watchdog( true );
2832
+ }
2833
+
2834
+ if (empty($args['no_navi'])) {
2835
+
2836
+ $filters = array();
2837
+
2838
+ $filters[] = array('',__('All requests','wp-cerber'));
2839
+ $filters[] = array('&filter_user=*',__('Logged in users','wp-cerber'));
2840
+ $filters[] = array('&filter_user=0',__('Not logged in visitors','wp-cerber'));
2841
+ $filters[] = array('&filter_method=POST&filter_wp_type=519&filter_wp_type_mode=GT',__('Form submissions','wp-cerber'));
2842
+ $filters[] = array('&filter_http_code=404',__('Page Not Found','wp-cerber'));
2843
+ $filters[] = array('&filter_wp_type=520',__('REST API','wp-cerber'));
2844
+ $filters[] = array('&filter_wp_type=515',__('XML-RPC','wp-cerber'));
2845
+
2846
+ //$filters .= ' | <a href="'.$base_url.'&filter_wp_type >= 600&filter_method=POST">Form submissions</a>';
2847
+
2848
+ if ($threshold = crb_get_settings('tithreshold')) $filters[] = array('&filter_processing='.$threshold,__('Longer than','wp-cerber').' '.$threshold.' ms');
2849
+
2850
+ $filter_links = '';
2851
+ foreach ($filters as $filter) {
2852
+ $filter_links .= '<a class="crb-button-tiny" style="margin-right: 0.3em;" href="'.$base_url.$filter[0].'">'.$filter[1].'</a>';
2853
+ }
2854
+
2855
+ $search_button = cerber_traffic_search();
2856
+
2857
+ $right_links = '<div style="float: right; width: auto; line-height: 26px;">'.$search_button.$export_link.'</div>';
2858
+
2859
+ $refresh = '';
2860
+ if ( crb_get_settings( 'timode' ) ) {
2861
+ $refresh = ' &nbsp;&nbsp;<a href=""><span class="dashicons dashicons-update" style="vertical-align: middle;"></span> '.__('Refresh','wp-cerber').'</a>';
2862
+ }
2863
+
2864
+ $top_bar = '<div id = "activity-filter">'.$filter_links.$refresh.$right_links.'</div><br style="clear: both;">';
2865
+
2866
+ $ret = '<div class="cerber-margin">' . $top_bar . $info . '</div>'.$ret;
2867
+ }
2868
+
2869
+ $ret .= $table;
2870
+
2871
+ if ( ! crb_get_settings( 'timode' ) ) {
2872
+ $ret = '<p class="cerber-margin" style="padding: 0.5em; font-weight: bold;">Logging is currently disabled, you are viewing historical information.</p>' . $ret;
2873
+ }
2874
+
2875
+ if ($echo) echo $ret;
2876
+ else return $ret;
2877
+
2878
+ }
2879
+
2880
+ /**
2881
+ * Create a table view of an array to display it
2882
+ *
2883
+ * @param $title
2884
+ * @param $fields
2885
+ *
2886
+ * @return string
2887
+ */
2888
+ function cerber_table_view($title, $fields, $sub_key = null){
2889
+ if (empty($fields)) {
2890
+ return '';
2891
+ }
2892
+
2893
+ $top_class = '';
2894
+ if (!isset($sub_key)) {
2895
+ $top_class = 'crb-top-table';
2896
+ }
2897
+
2898
+ $view = '<table class="crb-fields-table '.$top_class.'">';
2899
+
2900
+ if ($title) {
2901
+ $view .= '<tr><td colspan="2" style="font-weight: bold;">'.$title.'</td></tr>';
2902
+ }
2903
+
2904
+ $i = 1;
2905
+ foreach ($fields as $key => $value) {
2906
+ if (is_array($value)){
2907
+ $view .= '<tr><td>'.$key.'</td><td>'.cerber_table_view('', $value, $key).'</td></tr>';
2908
+ }
2909
+ else {
2910
+ $view .= '<tr><td>'.htmlentities($key).'</td><td>'.htmlentities($value).'</td></tr>';
2911
+ }
2912
+ $i++;
2913
+ }
2914
+
2915
+ $view .= '</table>';
2916
+
2917
+ return $view;
2918
+ }
2919
+
2920
+ /**
2921
+ * Parse arguments and create SQL query for retrieving rows from the traffic table
2922
+ *
2923
+ * @param array $args Optional arguments to use them instead of using $_GET
2924
+ *
2925
+ * @return array
2926
+ * @since 6.0
2927
+ */
2928
+ function cerber_traffic_query($args = array()){
2929
+ global $wpdb;
2930
+
2931
+ $ret = array_fill( 0, 8, '' );
2932
+ $where = array();
2933
+ $falist = array();
2934
+
2935
+ $filter = null;
2936
+ if (!empty($args['filter_http_code'])) $filter = $args['filter_http_code'];
2937
+ elseif (isset($_GET['filter_http_code'])) $filter = $_GET['filter_http_code'];
2938
+
2939
+ if ($filter) { // Multiple codes can be requested this way: &filter_http_code[]=404&filter_http_code[]=405
2940
+ if (is_array($filter)) {
2941
+ $falist = array_filter(array_map('absint',$filter));
2942
+ $filter = implode(',',$falist);
2943
+ $where[] = 'log.http_code IN ('.$filter.')';
2944
+ }
2945
+ else {
2946
+ $filter = absint($filter);
2947
+ $where[] = 'log.http_code = '.$filter;
2948
+ $falist = array($filter); // for further using in links
2949
+ }
2950
+ }
2951
+ $ret[3] = $falist;
2952
+
2953
+ if ( ! empty( $_GET['filter_ip'] ) ) {
2954
+ $filter = trim( $_GET['filter_ip'] );
2955
+ $range = cerber_any2range( $filter );
2956
+ if ( is_array( $range ) ) {
2957
+ $where[] = $wpdb->prepare( '(log.ip_long >= %d AND log.ip_long <= %d)', $range['begin'], $range['end'] );
2958
+ }
2959
+ elseif ( cerber_is_ip_or_net( $filter ) ) {
2960
+ $where[] = $wpdb->prepare( 'log.ip = %s', $filter );
2961
+ //$ip_extra = $filter;
2962
+ }
2963
+ else {
2964
+ $where[] = "log.ip = 'produce-no-result'";
2965
+ }
2966
+ $ret[4] = $_GET['filter_ip'];
2967
+ }
2968
+
2969
+ if (!empty($_GET['filter_processing'])) {
2970
+ $p = absint( $_GET['filter_processing'] );
2971
+ $where[] = 'log.processing > '.$p;
2972
+ $ret[5] = $p;
2973
+ }
2974
+ if (isset($_GET['filter_user'])) {
2975
+ if ($_GET['filter_user'] == '*'){
2976
+ $ret[6] = '*';
2977
+ $where[] = 'log.user_id != 0';
2978
+ }
2979
+ elseif (is_numeric($_GET['filter_user'])){
2980
+ $user_id = absint( $_GET['filter_user'] );
2981
+ $ret[6] = $user_id;
2982
+ $where[] = 'log.user_id = ' . $user_id;
2983
+ }
2984
+ }
2985
+ if (!empty($_GET['filter_wp_type'])) {
2986
+ $t = absint($_GET['filter_wp_type']);
2987
+ $ret[7] = $t;
2988
+ $op = '=';
2989
+ if (!empty($_GET['filter_wp_type_mode']) && $_GET['filter_wp_type_mode'] = 'GT') {
2990
+ $op = '>';
2991
+ }
2992
+
2993
+ $where[] = 'log.wp_type '.$op.$t;
2994
+ }
2995
+ if (!empty($_GET['search_traffic'])) {
2996
+ $search = stripslashes_deep($_GET['search_traffic']);
2997
+ //$ret[8] = htmlspecialchars($search);
2998
+ if ($search['ip']) {
2999
+ if ($ip = filter_var($search['ip'],FILTER_VALIDATE_IP)){
3000
+ $where[] = 'log.ip = "'.$ip.'"';
3001
+ }
3002
+ else {
3003
+ $where[] = $wpdb->prepare('log.ip LIKE %s','%'.$search['ip'].'%');
3004
+ }
3005
+ }
3006
+ if ($search['uri']) $where[] = $wpdb->prepare('log.uri LIKE %s','%'.$search['uri'].'%');
3007
+ if ($search['fields']) $where[] = $wpdb->prepare('log.request_fields LIKE %s','%'.$search['fields'].'%');
3008
+ if ($search['date_from']){
3009
+ if ($stamp = strtotime('midnight ' . $search['date_from'])){
3010
+ $gmt_offset = get_option( 'gmt_offset' ) * 3600;
3011
+ $where[] = 'log.stamp >= '.(absint($stamp) - $gmt_offset);
3012
+ }
3013
+ }
3014
+ if ($search['date_to']){
3015
+ if ($stamp = strtotime('midnight ' . $search['date_to'])){
3016
+ $gmt_offset = get_option( 'gmt_offset' ) * 3600;
3017
+ $where[] = 'log.stamp <= '.(absint($stamp) - $gmt_offset);
3018
+ }
3019
+ }
3020
+ }
3021
+ if (!empty($_GET['filter_method'])) {
3022
+ $where[] = $wpdb->prepare( 'log.request_method = %s', $_GET['filter_method'] );
3023
+ }
3024
+
3025
+ if (!empty($where)) {$where = 'WHERE '.implode(' AND ',$where);}
3026
+ else {$where = '';}
3027
+
3028
+ // Limits, if specified
3029
+ if (isset($args['per_page'])) $per_page = $args['per_page'];
3030
+ else $per_page = cerber_get_per_page();
3031
+ $per_page = absint($per_page);
3032
+ $ret[2] = $per_page;
3033
+
3034
+ if ( $per_page ) {
3035
+ $limit = ' LIMIT ' . ( cerber_get_pn() - 1 ) * $per_page . ',' . $per_page;
3036
+ //$ret[0] = 'SELECT SQL_CALC_FOUND_ROWS log.session_id,log.* FROM ' . CERBER_TRAF_TABLE . " log USE INDEX FOR ORDER BY (stamp) {$where} ORDER BY stamp DESC {$limit}";
3037
+ $ret[0] = 'SELECT log.session_id,log.* FROM ' . CERBER_TRAF_TABLE . " log USE INDEX FOR ORDER BY (stamp) {$where} ORDER BY stamp DESC {$limit}";
3038
+ $ret[1] = 'SELECT COUNT(log.stamp) FROM ' . CERBER_TRAF_TABLE . " log {$where}";
3039
+ //$ret[0] = 'SELECT SQL_CALC_FOUND_ROWS log.*,act.activity FROM ' . CERBER_TRAF_TABLE . ' log USE INDEX FOR ORDER BY (stamp) LEFT JOIN '.CERBER_LOG_TABLE." act ON (log.session_id = act.session_id) {$where} ORDER BY log.stamp DESC {$limit}";
3040
+ }
3041
+ else {
3042
+ $ret[0] = 'SELECT log.session_id,log.* FROM ' . CERBER_TRAF_TABLE . " log USE INDEX FOR ORDER BY (stamp) {$where} ORDER BY stamp DESC";
3043
+ $ret[1] = 'SELECT COUNT(log.stamp) FROM ' . CERBER_TRAF_TABLE . " log {$where}";
3044
+ }
3045
+
3046
+ return $ret;
3047
+ }
3048
+
3049
+ /**
3050
+ * Traffic search form
3051
+ *
3052
+ * @return string
3053
+ *
3054
+ */
3055
+ function cerber_traffic_search(){
3056
+ add_thickbox();
3057
+ ?>
3058
+ <div id="cerber-traffic-search" style="display:none;">
3059
+
3060
+ <form method="get" action="" style="">
3061
+ <div style="margin: 0 auto; width: 300px;">
3062
+ <input type="hidden" value="cerber-traffic" name="page">
3063
+
3064
+ <p>URL contains
3065
+ <br/><input style="width: 100%;" type="text" name="search_traffic[uri]"></p>
3066
+
3067
+ <p>POST or GET fields contain
3068
+ <br/><input style="width: 100%;" type="text" name="search_traffic[fields]"></p>
3069
+
3070
+ <p>IP address contains or equals
3071
+ <br/><input style="width: 100%;" type="text" name="search_traffic[ip]"></p>
3072
+
3073
+ <p>User ID equals
3074
+ <br/><input style="width: 100%;" type="number" name="filter_user"></p>
3075
+
3076
+ <p>HTTP Response Code equals
3077
+ <br/><input style="width: 100%;" type="number" name="filter_http_code"></p>
3078
+
3079
+ <p>Date from
3080
+ <br/><input style="width: 100%;" type="date" name="search_traffic[date_from]" placeholder="month/day/year"></p>
3081
+
3082
+ <p>Date to
3083
+ <br/><input style="width: 100%;" type="date" name="search_traffic[date_to]" placeholder="month/day/year"></p>
3084
+
3085
+ <p><input type="submit" class="button button-primary" value="Search"></p>
3086
+ </div>
3087
+ </form>
3088
+
3089
+ </div>
3090
+
3091
+ <?php
3092
+
3093
+ return '<a href="#TB_inline?width=400&height=600&inlineId=cerber-traffic-search" class="thickbox crb-button-tiny crb-button-active" title="Search in the request history">'.__('Advanced search','wp-cerber').'</a>';
3094
+
3095
+ }
3096
+
3097
+ function cerber_get_wp_type($wp_type){
3098
+ $types = array(
3099
+ 515 => 'XML-RPC',
3100
+ 520 => 'REST API'
3101
+ );
3102
+
3103
+ if (isset($types[$wp_type])){
3104
+ return $types[$wp_type];
3105
+ }
3106
+
3107
+ return '';
3108
+ }
jetflow.php CHANGED
@@ -4,7 +4,7 @@
4
  Integration with the jetFlow.io automation and customization plugin, http://jetflow.io
5
  Actions and triggers definitions.
6
 
7
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
8
 
9
  Licenced under the GNU GPL.
10
 
4
  Integration with the jetFlow.io automation and customization plugin, http://jetflow.io
5
  Actions and triggers definitions.
6
 
7
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
8
 
9
  Licenced under the GNU GPL.
10
 
languages/wp-cerber-de_DE.mo CHANGED
Binary file
languages/wp-cerber-de_DE.po CHANGED
@@ -8,127 +8,128 @@ msgstr ""
8
  "Language: de\n"
9
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
10
 
11
- #: ../settings.php:67
12
  msgid "Limit login attempts"
13
  msgstr "Anmeldeversuche limitieren"
14
 
15
- #: ../settings.php:68
16
  msgid "Attempts"
17
  msgstr "Versuche"
18
 
19
- #: ../settings.php:69
20
  msgid "Lockout duration"
21
  msgstr "Sperrdauer"
22
 
23
- #: ../settings.php:69 ../settings.php:88
24
  msgid "minutes"
25
  msgstr "Minuten"
26
 
27
- #: ../settings.php:70
28
  msgid "Aggressive lockout"
29
  msgstr "Aggressive Sperre"
30
 
31
- #: ../settings.php:73
32
  msgid "Site connection"
33
  msgstr "Verbindung zur Website"
34
 
35
- #: ../settings.php:75
36
  msgid "Proactive security rules"
37
  msgstr "Proaktive Sicherheitsregeln"
38
 
39
- #: ../settings.php:76
40
  msgid "Block subnet"
41
  msgstr "Sperre Subnetz"
42
 
43
- #: ../settings.php:79
44
  msgid "Request wp-login.php"
45
  msgstr "Anfrage wp-login.php"
46
 
47
- #: ../settings.php:79
48
  msgid "Immediately block IP after any request to wp-login.php"
49
  msgstr "IP nach jeder Anfrage auf wp-login.php sofort sperren"
50
 
51
- #: ../settings.php:78
52
  msgid "Redirect dashboard requests"
53
  msgstr "Dashboard-Anfragen umleiten"
54
 
55
- #: ../settings.php:82
56
  msgid "Custom login page"
57
  msgstr "Benutzerdefinierte Login-Seite"
58
 
59
- #: ../settings.php:83
60
  msgid "Custom login URL"
61
  msgstr "Benutzerdefinierte Login-URL"
62
 
63
  #. There is no perfect translation for "slug" with keeping the context. "Permalink" describes the whole URL but is used by WordPress in this place.
64
- #: ../settings.php:83
65
  #, fuzzy
66
  msgid "must not overlap with the existing pages or posts slug"
67
  msgstr "darf sich nicht mit Permalinks von vorhandenen Seiten oder Beiträgen überlappen"
68
 
69
- #: ../settings.php:84
70
  msgid "Disable wp-login.php"
71
  msgstr "Deaktiviere wp-login.php"
72
 
73
- #: ../settings.php:84
74
  msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
75
  msgstr "Blockiere direkten Zugriff zu wp-login.php und gib HTTP 404 Not Found Error zurück"
76
 
77
- #: ../dashboard.php:1109 ../settings.php:86
78
  msgid "Citadel mode"
79
  msgstr "Citadel Modus"
80
 
81
- #: ../settings.php:87
82
  msgid "Threshold"
83
  msgstr "Schwelle"
84
 
85
- #: ../settings.php:88
86
  msgid "Duration"
87
  msgstr "Dauer"
88
 
89
- #: ../wp-cerber.php:3742 ../settings.php:72 ../settings.php:89 ../settings.php:262
90
  msgid "Notifications"
91
  msgstr "Benachrichtigungen"
92
 
93
- #: ../settings.php:89
94
  msgid "Send notification to admin email"
95
  msgstr "Sende eine Benachrichtigung an die Emailadresse des Admins"
96
 
97
- #: ../dashboard.php:1118 ../wp-cerber.php:3739 ../settings.php:255 ../cerber-
98
- #: tools.php:88 ../cerber-tools.php:97 ../cerber-tools.php:178
99
  msgid "Access Lists"
100
  msgstr "Zugriffslisten"
101
 
102
- #: ../dashboard.php:1116 ../dashboard.php:1312 ../wp-cerber.php:3503 ../settings.
103
- #: php:91 ../settings.php:246
104
  msgid "Activity"
105
  msgstr "Aktivität"
106
 
107
- #: ../dashboard.php:1117 ../settings.php:250
108
  msgid "Lockouts"
109
  msgstr "Sperren"
110
 
111
- #: ../settings.php:377 ../settings.php:500
112
  msgid "%s allowed retries in %s minutes"
113
  msgstr "%s erlaubte Wiederholungen in %s Minuten"
114
 
115
- #: ../settings.php:399 ../settings.php:522
116
  msgid "Enable after %s failed login attempts in last %s minutes"
117
  msgstr "Aktiviere nach %s fehlgeschlagenen Anmeldeversuchen in den letzten %s Minuten"
118
 
119
- #: ../dashboard.php:93 ../dashboard.php:631 ../wp-cerber.php:3512
 
120
  msgid "IP"
121
  msgstr "IP"
122
 
123
- #: ../dashboard.php:476 ../dashboard.php:634
124
  msgid "Date"
125
  msgstr "Datum"
126
 
127
- #: ../dashboard.php:476 ../dashboard.php:636
128
  msgid "Local User"
129
  msgstr "Lokaler Benutzer"
130
 
131
- #: ../dashboard.php:476 ../dashboard.php:637 ../wp-cerber.php:3520
132
  msgid "Username used"
133
  msgstr "Benutzername wird bereits verwendet"
134
 
@@ -136,41 +137,42 @@ msgstr "Benutzername wird bereits verwendet"
136
  msgid "Showing last %d records from %d"
137
  msgstr "Zeige die letzten %d Einträge von %d"
138
 
139
- #: ../common.php:521
140
  msgid "Logged in"
141
  msgstr "Eingeloggt"
142
 
143
- #: ../common.php:522
144
  msgid "Logged out"
145
  msgstr "Ausgeloggt"
146
 
147
- #: ../common.php:523
148
  msgid "Login failed"
149
  msgstr "Login fehlgeschlagen"
150
 
151
- #: ../common.php:526
152
  msgid "IP blocked"
153
  msgstr "IP geblockt"
154
 
155
- #: ../common.php:527
156
  msgid "Subnet blocked"
157
  msgstr "Subnetz geblockt"
158
 
159
- #: ../common.php:529
160
  msgid "Citadel activated!"
161
  msgstr "Citadel-Modus aktiviert!"
162
 
163
- #: ../dashboard.php:612 ../dashboard.php:816 ../common.php:565
 
164
  msgid "Locked out"
165
  msgstr "Ausgesperrt"
166
 
167
  #. Only correct if "IP blacklisted" is used as indicative. Otherwise it would not translate "IP auf der schwarzen Liste" but "IP auf die schwarze Liste gesetzt" (if it states that the IP was just blacklisted).
168
- #: ../common.php:566
169
  #, fuzzy
170
  msgid "IP blacklisted"
171
  msgstr "IP blockiert"
172
 
173
- #: ../common.php:544
174
  msgid "Password changed"
175
  msgstr "Passwort geändert"
176
 
@@ -178,18 +180,19 @@ msgstr "Passwort geändert"
178
  msgid "Remove"
179
  msgstr "Entfernen"
180
 
181
- #: ../dashboard.php:387
182
  msgid "Lockout for %s was removed"
183
  msgstr "Die Sperre für %s wurde entfernt"
184
 
185
- #: ../dashboard.php:131 ../dashboard.php:607 ../dashboard.php:811 ../dashboard.
186
- #: php:1107 ../wp-cerber.php:3731 ../settings.php:71 ../settings.php:216
 
187
  #, fuzzy
188
  msgid "White IP Access List"
189
  msgstr "Weiße Liste (erlaubten IPs)"
190
 
191
- #: ../dashboard.php:133 ../dashboard.php:608 ../dashboard.php:813 ../dashboard.
192
- #: php:1108
193
  #, fuzzy
194
  msgid "Black IP Access List"
195
  msgstr "Schwarze Liste (verbotenen IPs)"
@@ -206,90 +209,90 @@ msgstr "Adresse %s wurde zur Liste der erlaubten IPs hinzugefügt"
206
  msgid "Address %s was added to Black IP Access List"
207
  msgstr "Adresse %s wurde zur Liste der verbotenen IPs hinzugefügt"
208
 
209
- #: ../wp-cerber.php:2995
210
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
211
  msgstr "Citadel-Modus ist aktiviert nach %d fehlgeschlagenen Logins in %d Minuten."
212
 
213
- #: ../dashboard.php:1454
214
  msgid "View Activity"
215
  msgstr "Aktivitäten anzeigen"
216
 
217
- #: ../cerber-tools.php:87 ../cerber-tools.php:96
218
  msgid "Settings"
219
  msgstr "Einstellungen"
220
 
221
- #: ../dashboard.php:973
222
  msgid "Last login"
223
  msgstr "Letzte Anmeldung"
224
 
225
- #: ../dashboard.php:1006 ../dashboard.php:1090
226
  msgid "Never"
227
  msgstr "Niemals"
228
 
229
- #: ../dashboard.php:1356
230
  msgid "Are you sure?"
231
  msgstr "Sind Sie sicher?"
232
 
233
- #: ../dashboard.php:1164 ../settings.php:73
234
  msgid "My site is behind a reverse proxy"
235
  msgstr "Meine Website ist hinter einem Reverse-Proxy"
236
 
237
- #: ../settings.php:77
238
  msgid "Non-existent users"
239
  msgstr "Nicht vorhandene Benutzer"
240
 
241
- #: ../settings.php:77
242
  msgid "Immediately block IP when attempting to login with a non-existent username"
243
  msgstr "IP sofort sperren, wenn versucht wird, sich mit einem nicht vorhandenen Benutzernamen einzuloggen "
244
 
245
- #: ../settings.php:78
246
  msgid "Disable automatic redirecting to the login page when /wp-admin/ is requested by an unauthorized request"
247
  msgstr "Die automatische Umleitung auf die Anmeldeseite deaktivieren, wenn /wp-admin/ von einer nicht autorisierten Anfrage aufgerufen wird"
248
 
249
  #. A fuzzy translation that is mostly used in this context would be "Machen Sie Ihren Schutz intelligenter!"
250
- #: ../settings.php:202
251
  msgid "Make your protection smarter!"
252
  msgstr "Machen Sie Ihren Schutz schlauer!"
253
 
254
- #: ../settings.php:206
255
  msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
256
  msgstr "Bitte aktivieren Sie Permalinks um dieses Merkmal zu verwenden. Setzen Sie die Permalink-Einstellungen auf etwas anderes als Standard."
257
 
258
- #: ../settings.php:209
259
  msgid "Be careful when enabling this options. If you forget the custom login URL you will not be able to login."
260
  msgstr "Seien Sie vorsichtig bei der Aktivierung dieser Optionen. Wenn Sie die benutzerdefinierte Login-URL vergessen, können Sie sich nicht mehr anmelden."
261
 
262
- #: ../wp-cerber.php:3738 ../settings.php:252
263
  msgid "Main Settings"
264
  msgstr "Haupteinstellungen"
265
 
266
- #: ../settings.php:264
267
  msgid "Help"
268
  msgstr "Hilfe"
269
 
270
  #. "Aussperrungen" is used in plural because there are more likely several lockouts in the last hours. One single lockout would demand the use of the singular "Aussperrung". We could use "Aussperrung(en)" to cover all cases.
271
- #: ../settings.php:387 ../settings.php:510
272
  #, fuzzy
273
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
274
  msgstr "Erhöhe die Sperrdauer um %s Stunden nach %s Aussperrungen in den letzten %s Stunden"
275
 
276
- #: ../wp-cerber.php:237
277
  msgid "You are not allowed to log in. Ask your administrator for assistance."
278
  msgstr "Sie sind nicht berechtigt, sich anzumelden. Fragen Sie Ihren Administrator nach Unterstützung."
279
 
280
  #. One "Minute", two/three/four/... "Minuten".
281
- #: ../wp-cerber.php:243
282
  #, fuzzy
283
  msgid "You have reached the login attempts limit. Please try again in %d minutes."
284
  msgstr "Sie haben die maximale Anzahl an Login-Versuchen erreicht. Bitte versuchen Sie es in %d Minuten noch einmal."
285
 
286
- #: ../wp-cerber.php:262
287
  msgid "You have only one attempt remaining."
288
  msgid_plural "You have %d attempts remaining."
289
  msgstr[0] "Sie haben nur noch einen Versuch."
290
  msgstr[1] "Sie haben nur noch %d Versuche."
291
 
292
- #: ../dashboard.php:658
293
  msgid "No activity has been logged."
294
  msgstr "Keine Aktivität wurde protokolliert."
295
 
@@ -309,23 +312,23 @@ msgstr "Diese IPs werden nie gesperrt"
309
  msgid "Your IP"
310
  msgstr "Ihre IP"
311
 
312
- #: ../wp-cerber.php:2996
313
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
314
  msgstr "Der letzte gescheiterte Versuch war um %s von der IP %s mit der Benutzeranmeldung: %s."
315
 
316
- #: ../wp-cerber.php:3714
317
  msgid "Can't activate WP Cerber due to a database error."
318
  msgstr "Kann WP Cerber aufgrund eines Datenbankfehlers nicht aktivieren."
319
 
320
- #: ../settings.php:394 ../settings.php:517
321
  msgid "Notify admin if the number of active lockouts above"
322
  msgstr "Benachrichtige den Admin, wenn die Anzahl von aktiven Aussperrungen größer ist als"
323
 
324
- #: ../settings.php:92 ../settings.php:144
325
  msgid "days"
326
  msgstr "Tage"
327
 
328
- #: ../dashboard.php:1060
329
  msgid "Cerber Quick View"
330
  msgstr "Cerber Schnellansicht"
331
 
@@ -337,48 +340,48 @@ msgstr "Hinweis"
337
  msgid "To view activity, click on the IP"
338
  msgstr "Um die Aktivität sehen zu können, klicken Sie auf die IP"
339
 
340
- #: ../dashboard.php:158 ../dashboard.php:843
341
  msgid "Check for activity"
342
  msgstr "Auf Aktivität überprüfen"
343
 
344
- #: ../settings.php:76
345
  msgid "Always block entire subnet Class C of intruders IP"
346
  msgstr "Immer das gesamte Subnetz Klasse C der IP des Eindringlings blockieren"
347
 
348
- #: ../settings.php:89 ../settings.php:396 ../settings.php:519
349
  msgid "Click to send test"
350
  msgstr "Klicken für Sendungstest"
351
 
352
- #: ../settings.php:659 ../settings.php:660
353
  msgid "Attention! You have changed the login URL! The new login URL is"
354
  msgstr "Achtung! Sie haben die Anmelde-URL geändert! Die neue Login-URL ist"
355
 
356
- #: ../dashboard.php:972
357
  msgid "Comments"
358
  msgstr "Kommentare"
359
 
360
- #: ../common.php:785
361
  msgid "Update to version %s of WP Cerber"
362
  msgstr "Update auf Version %s von WP Cerber"
363
 
364
- #: ../wp-cerber.php:2997 ../wp-cerber.php:3544
365
  msgid "View activity in dashboard"
366
  msgstr "Zeige Aktivität im Dashboard"
367
 
368
- #: ../wp-cerber.php:3027
369
  msgid "Number of active lockouts"
370
  msgstr "Anzahl der aktiven Sperren"
371
 
372
- #: ../wp-cerber.php:3031
373
  msgid "View lockouts in dashboard"
374
  msgstr "Zeige Sperren im Dashboard"
375
 
376
- #: ../wp-cerber.php:3113
377
  msgid "This message was sent by"
378
  msgstr "Diese Nachricht wurde gesendet von"
379
 
380
  #. Used to be "Import/Export" but this is a fuzzy translation. Exact translation that WordPress also uses is "Werkzeuge".
381
- #: ../dashboard.php:901 ../cerber-tools.php:43
382
  msgid "Tools"
383
  msgstr "Werkzeuge"
384
 
@@ -442,7 +445,7 @@ msgstr "Einstellungen erfolgreich importiert von"
442
  msgid "Error while parsing file"
443
  msgstr "Fehler beim Parsen der Datei"
444
 
445
- #: ../dashboard.php:94 ../dashboard.php:632
446
  msgid "Hostname"
447
  msgstr "Hostname"
448
 
@@ -451,118 +454,118 @@ msgstr "Hostname"
451
  msgid "unknown"
452
  msgstr "unbekannt"
453
 
454
- #: ../settings.php:92
455
  msgid "Keep records for"
456
  msgstr "Behalte Aufzeichnungen für"
457
 
458
- #: ../dashboard.php:1094
459
  msgid "active"
460
  msgstr "aktiv"
461
 
462
- #: ../dashboard.php:1094
463
  msgid "deactivate"
464
  msgstr "deaktiviert"
465
 
466
- #: ../dashboard.php:1096
467
  msgid "not active"
468
  msgstr "nicht aktiv"
469
 
470
  #. "deactive" and "disabled" mean exactly the same in German.
471
- #: ../dashboard.php:1097
472
  msgid "disabled"
473
  msgstr "deaktiviert"
474
 
475
- #: ../dashboard.php:1102
476
  msgid "failed attempts"
477
  msgstr "Fehlversuche"
478
 
479
- #: ../dashboard.php:1102 ../dashboard.php:1103
480
  msgid "in 24 hours"
481
  msgstr "in 24 Stunden"
482
 
483
- #: ../dashboard.php:1102 ../dashboard.php:1103
484
  msgid "view all"
485
  msgstr "Zeige alle"
486
 
487
- #: ../dashboard.php:1103
488
  msgid "lockouts"
489
  msgstr "Sperren"
490
 
491
- #: ../dashboard.php:1105
492
  msgid "Lockouts at the moment"
493
  msgstr "Momentane Sperren"
494
 
495
- #: ../dashboard.php:1106
496
  msgid "Last lockout"
497
  msgstr "Letzte Sperre"
498
 
499
- #: ../dashboard.php:1107 ../dashboard.php:1108 ../dashboard.php:1620
500
  msgid "entry"
501
  msgid_plural "entries"
502
  msgstr[0] "Eintrag"
503
  msgstr[1] "Einträge"
504
 
505
- #: ../dashboard.php:1351
506
  #, fuzzy
507
  msgid "Confused about some settings?"
508
  msgstr "Verwirrende Einstellungen?"
509
 
510
- #: ../dashboard.php:1352
511
  msgid "You can easily load default recommended settings using button below"
512
  msgstr "Sie können ganz einfach mit dem unteren Button empfohlene Standardeinstellungen laden"
513
 
514
- #: ../dashboard.php:1354
515
  msgid "Load default settings"
516
  msgstr "Standardeinstellung laden"
517
 
518
- #: ../dashboard.php:1362
519
  msgid "doesn't affect Custom login URL and Access Lists"
520
  msgstr "hat keinen Einfluss auf benutzerdefinierte Login-URL und Zugriffslisten"
521
 
522
- #: ../common.php:778
523
  msgid "New version is available"
524
  msgstr "Eine neue Version ist verfügbar"
525
 
526
  #. Name of the plugin
527
- #: ../dashboard.php:892 ../dashboard.php:911
528
  msgid "WP Cerber"
529
  msgstr "WP Cerber"
530
 
531
- #: ../wp-cerber.php:2971
532
  msgid "WP Cerber notify"
533
  msgstr "WP Cerber benachrichtigen"
534
 
535
- #: ../wp-cerber.php:2993
536
  msgid "Citadel mode is activated"
537
  msgstr "Citadel-Modus ist aktiviert"
538
 
539
- #: ../wp-cerber.php:3067
540
  msgid "New Custom login URL"
541
  msgstr "Neue benutzerdefinierte Login-URL"
542
 
543
- #: ../wp-cerber.php:3701
544
  msgid "The WP Cerber requires PHP %s or higher. You are running"
545
  msgstr "WP Cerber benötigt PHP Version %s oder höher. Sie haben"
546
 
547
- #: ../wp-cerber.php:3705
548
  msgid "The WP Cerber requires WordPress %s or higher. You are running"
549
  msgstr "WP Cerber benötigt Wordpress Version %s oder höher. Sie haben"
550
 
551
  #. Non-fuzzy translation would be "Verwende Datei" but in this context "Verwende Logdatei" is describing exactly what it does.
552
- #: ../settings.php:95
553
  #, fuzzy
554
  msgid "Use file"
555
  msgstr "Verwende Logdatei"
556
 
557
- #: ../settings.php:95
558
  msgid "Write failed login attempts to the file"
559
  msgstr "Schreibe fehlgeschlagene Anmeldungen in die Datei."
560
 
561
- #: ../dashboard.php:1453
562
  msgid "Deactivate"
563
  msgstr "Deaktivieren"
564
 
565
- #: ../dashboard.php:97 ../wp-cerber.php:3029
566
  msgid "Reason"
567
  msgstr "Grund"
568
 
@@ -570,93 +573,93 @@ msgstr "Grund"
570
  msgid "Add IP to the list"
571
  msgstr "Füge IP zur Liste hinzu"
572
 
573
- #: ../dashboard.php:861
574
  msgid "Add IP to the Black List"
575
  msgstr "Füge IP zur Schwarzen Liste hinzu"
576
 
577
- #: ../common.php:596
578
  msgid "Attempt to access"
579
  msgstr "Zugriffsversuch"
580
 
581
- #: ../common.php:595
582
  msgid "Limit on login attempts is reached"
583
  msgstr "Limit für Anmeldeversuche ist erreicht"
584
 
585
- #: ../common.php:552 ../common.php:597
586
  msgid "Attempt to log in with non-existent username"
587
  msgstr "Anmeldeversuch mit nicht existierendem Nutzernamen"
588
 
589
- #: ../wp-cerber.php:3028
590
  msgid "Last lockout was added: %s for IP %s"
591
  msgstr "Letzte Sperre wurde hinzugefügt: %s für IP %s"
592
 
593
  #. "Abhärtung" is the medical translation for "hardening" which fits best in this case.
594
- #: ../wp-cerber.php:3741 ../settings.php:257
595
  msgid "Hardening"
596
  msgstr "Abhärtung"
597
 
598
- #: ../dashboard.php:839
599
  msgid "Abuse email:"
600
  msgstr "Missbrauch Email:"
601
 
602
- #: ../settings.php:172 ../settings.php:192
603
  msgid "Email Address"
604
  msgstr "E-Mail-Adresse"
605
 
606
- #: ../settings.php:172
607
  msgid "if empty, the admin email %s will be used"
608
  msgstr "wenn leer, dann wird die E-Mail-Adresse %s des Admins benutzt"
609
 
610
  #. More narrow translation would be "IP aufbrechen" but does not really fit.
611
- #: ../settings.php:98
612
  #, fuzzy
613
  msgid "Drill down IP"
614
  msgstr "IP inspizieren"
615
 
616
- #: ../settings.php:98
617
  msgid "Retrieve extra WHOIS information for IP"
618
  msgstr "Extra WHOIS Informationen für IP abrufen"
619
 
620
- #: ../settings.php:106
621
  msgid "Hardening WordPress"
622
  msgstr "WordPress abhärten"
623
 
624
  #. "Enumeration" would originally translate to "Aufzählung" but does not quite fit.
625
- #: ../settings.php:107
626
  #, fuzzy
627
  msgid "Stop user enumeration"
628
  msgstr "Benutzererfassung stoppen"
629
 
630
- #: ../settings.php:108
631
  msgid "Disable XML-RPC"
632
  msgstr "Deaktiviere XML-RPC"
633
 
634
- #: ../settings.php:108
635
  msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
636
  msgstr "Zugriff auf den XML-RPC Server sperren (Pingbacks und Trackbacks eingeschlossen)"
637
 
638
- #: ../settings.php:109
639
  msgid "Disable feeds"
640
  msgstr "Feeds deaktivieren"
641
 
642
- #: ../settings.php:109
643
  msgid "Block access to the RSS, Atom and RDF feeds"
644
  msgstr "Zugriff auf den RSS-, den Atom- und den RDF-Feed blockieren"
645
 
646
- #: ../settings.php:110
647
  msgid "Disable REST API"
648
  msgstr "REST API deaktivieren"
649
 
650
- #: ../settings.php:216
651
  #, fuzzy
652
  msgid "These settings do not affect hosts from the "
653
  msgstr "Diese Einstellungen beeinflussen keine Hosts von"
654
 
655
- #: ../settings.php:736 ../settings.php:748
656
  msgid "<strong>ERROR</strong>: please enter a valid email address."
657
  msgstr "<strong>FEHLER</strong>: Bitte eine gültige E-Mail-Adresse eingeben"
658
 
659
- #: ../wp-cerber.php:3059 ../wp-cerber.php:3730
660
  #, fuzzy
661
  msgid "WP Cerber is now active and has started protecting your site"
662
  msgstr "WP Cerber ist nun aktiv und schützt ihre Website"
@@ -673,23 +676,24 @@ msgstr "Niemand kann sich von diesen IPs anmelden oder registrieren"
673
  msgid "Incorrect IP address or IP range"
674
  msgstr "Falsche IP-Adresse oder falscher IP-Bereich"
675
 
676
- #: ../dashboard.php:404 ../dashboard.php:1469
677
  msgid "Settings saved"
678
  msgstr "Einstellungen gespeichert"
679
 
680
- #: ../dashboard.php:843
681
  msgid "Network:"
682
  msgstr "Netzwerk:"
683
 
684
- #: ../dashboard.php:857
685
  msgid "Add network to the Black List"
686
  msgstr "Netzwerk zur schwarzen Liste hinzufügen"
687
 
688
- #: ../dashboard.php:1452
689
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
690
  msgstr "Achtung! Citadel-Modus ist nun aktiv. Niemand kann sich anmelden."
691
 
692
- #: ../dashboard.php:311 ../whois.php:221 ../whois.php:252 ../common.php:594
 
693
  msgid "Unknown"
694
  msgstr "Unbekannt"
695
 
@@ -698,473 +702,474 @@ msgstr "Unbekannt"
698
  msgid "Gregory"
699
  msgstr "Gregory"
700
 
701
- #: ../wp-cerber.php:545 ../wp-cerber.php:557 ../wp-cerber.php:564 ../wp-cerber.
702
- #: php:743 ../wp-cerber.php:959 ../wp-cerber.php:965 ../wp-cerber.php:970 ../wp-
703
- #: cerber.php:975 ../wp-cerber.php:981 ../wp-cerber.php:988 ../wp-cerber.php:1088
704
- #: ../wp-cerber.php:1225 ../common.php:173 ../common.php:227 ../common.php:231 ..
705
- #: /settings.php:709
706
  msgid "ERROR:"
707
  msgstr "FEHLER:"
708
 
709
- #: ../wp-cerber.php:574
710
  msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
711
  msgstr "Menschlichkeitsnachweis gescheitert. Bitte klicken Sie das quadratische Kästchen im reCAPTCHA-Block unten."
712
 
713
- #: ../wp-cerber.php:755
714
  msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
715
  msgstr "<strong>FEHLER</strong>: Das eingegebene Passwort für den Benutzernamen %s ist falsch."
716
 
717
- #: ../wp-cerber.php:976
718
  msgid "Username is not allowed. Please choose another one."
719
  msgstr "Benutzername ist nicht erlaubt. Bitte einen anderen wählen."
720
 
721
- #: ../wp-cerber.php:3022
722
  msgid "unspecified"
723
  msgstr "nicht spezifiziert"
724
 
725
- #: ../wp-cerber.php:3025
726
  msgid "Number of lockouts is increasing"
727
  msgstr "Anzahl an Sperren steigt an"
728
 
729
- #: ../wp-cerber.php:3030
730
  msgid "View activity for this IP"
731
  msgstr "Zeige Aktivität für diese IP"
732
 
733
- #: ../wp-cerber.php:3034 ../wp-cerber.php:3036
734
  msgid "A new version of WP Cerber is available to install"
735
  msgstr "Eine neue Version von WP Cerber ist zur Installation verfügbar"
736
 
737
- #: ../wp-cerber.php:3035
738
  msgid "Hi!"
739
  msgstr "Hallo!"
740
 
741
  #. Original translation is "Internetseite" but this translation is not up to time.
742
- #: ../wp-cerber.php:3038 ../wp-cerber.php:3049
743
  msgid "Website"
744
  msgstr "Website"
745
 
746
- #: ../wp-cerber.php:3041 ../wp-cerber.php:3042
747
  msgid "The WP Cerber security plugin has been deactivated"
748
  msgstr "Das WP Cerber Sicherheits-Plugin wurde deaktiviert"
749
 
750
- #: ../wp-cerber.php:3044
751
  msgid "Not logged in"
752
  msgstr "Nicht angemeldet"
753
 
754
- #: ../wp-cerber.php:3050
755
  #, fuzzy
756
  msgid "By user"
757
  msgstr "Von Nutzer"
758
 
759
- #: ../wp-cerber.php:3051
760
  #, fuzzy
761
  msgid "From IP address"
762
  msgstr "Von IP-Adresse"
763
 
764
- #: ../wp-cerber.php:3054
765
  #, fuzzy
766
  msgid "From country"
767
  msgstr "Vom Land"
768
 
769
- #: ../wp-cerber.php:3058
770
  msgid "The WP Cerber security plugin is now active"
771
  msgstr "Das WP Cerber Sicherheits-Plugin ist nun aktiv"
772
 
773
- #: ../wp-cerber.php:3731
774
  #, fuzzy
775
  msgid "Your IP address is added to the"
776
  msgstr "Ihre IP-Adresse wurde hinzugefügt zu"
777
 
778
- #: ../wp-cerber.php:3743
779
  msgid "Import settings"
780
  msgstr "Import-Einstellungen"
781
 
782
- #: ../settings.php:173
783
  msgid "Notification limit"
784
  msgstr "Benachrichtigungslimit"
785
 
786
- #: ../settings.php:173
787
  #, fuzzy
788
  msgid "notification letters allowed per hour (0 means unlimited)"
789
  msgstr "Zugelassene Benachrichtigungen pro Stunde (0 bedeutet kein Limit)"
790
 
791
- #: ../settings.php:121
792
  msgid "User related settings"
793
  msgstr "Benutzerbezogene Einstellungen"
794
 
795
- #: ../settings.php:123
796
  msgid "Prohibited usernames"
797
  msgstr "Verbotene Benutzernamen"
798
 
799
- #: ../settings.php:123
800
  msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
801
  msgstr "Benutzernamen von dieser Liste dürfen sich nicht anmelden oder registrieren. Jede IP-Adresse, die versucht hat einen dieser Nutzernamen zu verwenden, wird sofort blockiert. Mit Komma Namen trennen."
802
 
803
- #: ../settings.php:124
804
  msgid "User session expire"
805
  msgstr "Benutzer-Sitzung Ablauf"
806
 
807
- #: ../settings.php:124
808
  msgid "in minutes (leave empty to use default WP value)"
809
  msgstr "in Minuten (leer lassen um WP Standardwert zu verwenden)"
810
 
811
- #: ../settings.php:147
812
  msgid "reCAPTCHA settings"
813
  msgstr "reCAPTCHA-Einstellungen"
814
 
815
  #. Technical term.
816
- #: ../settings.php:148
817
  msgid "Site key"
818
  msgstr "Site key"
819
 
820
  #. Technical term.
821
- #: ../settings.php:149
822
  msgid "Secret key"
823
  msgstr "Secret key"
824
 
825
- #: ../settings.php:152
826
  msgid "Enable reCAPTCHA for WordPress registration form"
827
  msgstr "Aktiviere reCAPTCHA für das WordPress Registrierungsformular"
828
 
829
- #: ../settings.php:155
830
  msgid "Lost password form"
831
  msgstr "Passwort-Vergessen-Formular"
832
 
833
- #: ../settings.php:158
834
  msgid "Login form"
835
  msgstr "Anmeldeforumlar"
836
 
837
- #: ../settings.php:158
838
  msgid "Enable reCAPTCHA for WordPress login form"
839
  msgstr "Aktiviere reCAPTCHA für das WordPress Anmeldeformular"
840
 
841
- #: ../settings.php:219
842
  msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
843
  msgstr "Bevor Sie reCAPTCHA nutzen können, müssen Sie einen Site key und einen Secret key von der Google Website beziehen."
844
 
845
- #: ../cerber-lab.php:666 ../settings.php:220
846
  msgid "Know more"
847
  msgstr "Mehr erfahren"
848
 
849
- #: ../dashboard.php:892 ../settings.php:239
850
  msgid "WP Cerber Security"
851
  msgstr "WP Cerber Sicherheit"
852
 
853
- #: ../settings.php:259
854
  msgid "Users"
855
  msgstr "Benutzer"
856
 
857
- #: ../common.php:519
858
  msgid "User created"
859
  msgstr "Benutzer erstellt"
860
 
861
- #: ../dashboard.php:1306 ../common.php:520
862
  msgid "User registered"
863
  msgstr "Benutzer registriert"
864
 
865
- #: ../common.php:547
866
  msgid "reCAPTCHA verification failed"
867
  msgstr "reCAPTCHA-Bestätigung gescheitert"
868
 
869
- #: ../common.php:548
870
  msgid "reCAPTCHA settings are incorrect"
871
  msgstr "reCAPTCHA-Einstellungen sind falsch"
872
 
873
- #: ../common.php:551
874
  msgid "Attempt to access prohibited URL"
875
  msgstr "Zugriffsversuch auf verbotene URL"
876
 
877
- #: ../common.php:553 ../common.php:598
878
  msgid "Attempt to log in with prohibited username"
879
  msgstr "Anmeldeversuch mit verbotenem Benutzernamen"
880
 
881
- #: ../settings.php:93
882
  msgid "Cerber Lab connection"
883
  msgstr "Cerber Lab Verbindung"
884
 
885
- #: ../settings.php:93
886
  msgid "Send malicious IP addresses to the Cerber Lab"
887
  msgstr "Bösartige IP-Adressen an das Cerber Lab senden"
888
 
889
- #: ../settings.php:94
890
  msgid "Cerber Lab protocol"
891
  msgstr "Cerber Lab Protokoll"
892
 
893
- #: ../settings.php:134 ../settings.php:152
894
  msgid "Registration form"
895
  msgstr "Registrierungsformular"
896
 
897
- #: ../settings.php:153
898
  msgid "Enable reCAPTCHA for WooCommerce registration form"
899
  msgstr "Aktiviere reCAPTCHA für das WooCommerce Registrierungsformular"
900
 
901
- #: ../settings.php:155
902
  msgid "Enable reCAPTCHA for WordPress lost password form"
903
  msgstr "Aktiviere reCAPTCHA für das WordPress Passwort-Vergessen-Formular"
904
 
905
- #: ../settings.php:156
906
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
907
  msgstr "Aktiviere reCAPTCHA für das WooCommerce Passwort-Vergessen-Formular"
908
 
909
- #: ../settings.php:159
910
  msgid "Enable reCAPTCHA for WooCommerce login form"
911
  msgstr "Aktiviere reCAPTCHA für das WooCommerce Anmeldeformular"
912
 
913
- #: ../common.php:549
914
  msgid "Request to the Google reCAPTCHA service failed"
915
  msgstr "Anfrage an den Google reCAPTCHA Dienst gescheitert"
916
 
917
- #: ../dashboard.php:1298 ../dashboard.php:1327
918
  msgid "View all"
919
  msgstr "Zeige alle"
920
 
921
- #: ../dashboard.php:1328
922
  msgid "Recently locked out IP addresses"
923
  msgstr "Kürzlich ausgesperrte IP-Adressen"
924
 
925
  #. "OK, vernichte sie alle" is a nicer translation for "OK, kill them all" ... too harsh or does it fit?
926
- #: ../cerber-lab.php:664
927
  #, fuzzy
928
  msgid "OK, nail them all"
929
  msgstr "OK, vernichte sie alle"
930
 
931
- #: ../cerber-lab.php:665
932
  msgid "NO, maybe later"
933
  msgstr "NEIN, vielleicht später"
934
 
935
  #. Dashboard is in German more common in this context as the actual translation "Amaturenbrett" which is only used for non-digital things like in cars!
936
- #: ../dashboard.php:894 ../dashboard.php:1115 ../dashboard.php:1640 ../settings.
937
- #: php:244
938
  #, fuzzy
939
  msgid "Dashboard"
940
  msgstr "Dashboard"
941
 
942
- #: ../cerber-lab.php:662
943
  msgid "Want to make WP Cerber even more powerful?"
944
  msgstr "Wollen Sie WP Cerber noch stärker machen?"
945
 
946
- #: ../cerber-lab.php:663
947
  msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
948
  msgstr "Erlaube WP Cerber ausgesperrte bösartige IP-Adressen an das Cerber Lab zu senden. Dies hilft dem Plugin-Team neue Algorithmen für WP Cerber zu entwickeln, die WordPress gegen täglich auftretende neue Bedrohungen und Botnets verteidigen. Sie können das Senden jederzeit in den Plugin-Einstellungen deaktivieren."
949
 
950
- #: ../dashboard.php:476
951
  msgid "IP address"
952
  msgstr "IP-Adresse"
953
 
954
- #: ../dashboard.php:476
955
  msgid "User login"
956
  msgstr "Benutzer-Anmeldung"
957
 
958
- #: ../dashboard.php:476
959
  msgid "User ID"
960
  msgstr "Benutzer-ID"
961
 
962
- #: ../dashboard.php:654
963
  msgid "Export"
964
  msgstr "Export"
965
 
966
- #: ../dashboard.php:673
967
  msgid "Search for IP or username"
968
  msgstr "Suche nach IP oder Nutzernamen"
969
 
970
- #: ../dashboard.php:673
971
  msgid "Filter"
972
  msgstr "Filter"
973
 
974
- #: ../dashboard.php:894
975
  msgid "Cerber Dashboard"
976
  msgstr "Cerber Dashboard"
977
 
978
- #: ../dashboard.php:901
979
  msgid "Cerber tools"
980
  msgstr "Cerber Werkzeuge"
981
 
982
- #: ../dashboard.php:1553
983
  msgid "Subscribe"
984
  msgstr "Abonnieren"
985
 
986
- #: ../dashboard.php:1554 ../cerber-tools.php:243
987
  msgid "Unsubscribe"
988
  msgstr "Abmelden"
989
 
990
- #: ../dashboard.php:1582
991
  #, fuzzy
992
  msgid "You've subscribed"
993
  msgstr "Erfolgreich abonniert"
994
 
995
- #: ../dashboard.php:1585
996
  #, fuzzy
997
  msgid "You've unsubscribed"
998
  msgstr "Erfolgreich abgemeldet"
999
 
1000
- #: ../wp-cerber.php:3071 ../wp-cerber.php:3072
1001
  msgid "A new activity has been recorded"
1002
  msgstr "Eine neue Aktivität wurde aufgezeichnet"
1003
 
1004
- #: ../wp-cerber.php:3516
1005
  msgid "User"
1006
  msgstr "Benutzer"
1007
 
1008
- #: ../wp-cerber.php:3524
1009
  msgid "Search string"
1010
  msgstr "Such-String"
1011
 
1012
- #: ../wp-cerber.php:3545
1013
  msgid "To unsubscribe click here"
1014
  msgstr "Zum Abmelden hier klicken"
1015
 
1016
- #: ../settings.php:97
1017
  msgid "Preferences"
1018
  msgstr "Präferenzen"
1019
 
1020
- #: ../settings.php:99
1021
  msgid "Date format"
1022
  msgstr "Datumsformat"
1023
 
1024
- #: ../settings.php:99
1025
  msgid "if empty, the default format %s will be used"
1026
  msgstr "wenn leer, dann wird das Standard Format %s verwendet"
1027
 
1028
- #: ../dashboard.php:1111 ../settings.php:175
1029
  msgid "Push notifications"
1030
  msgstr "Push-Benachrichtigungen"
1031
 
1032
- #: ../settings.php:170
1033
  msgid "Email notifications"
1034
  msgstr "Email-Benachrichtigungen"
1035
 
1036
- #: ../settings.php:172 ../settings.php:192
1037
  msgid "Use comma to specify multiple values"
1038
  msgstr "Mit Komma mehrere Werte trennen"
1039
 
1040
- #: ../settings.php:182
1041
  msgid "All connected devices"
1042
  msgstr "Alle verbundenen Geräte"
1043
 
1044
- #: ../settings.php:183
1045
  msgid "No devices found"
1046
  msgstr "Kein Gerät gefunden"
1047
 
1048
- #: ../settings.php:185
1049
  msgid "Not available"
1050
  msgstr "Nicht verfügbar"
1051
 
1052
- #: ../common.php:545
1053
  msgid "Password reset requested"
1054
  msgstr "Passwort Zurücksetzung angefordert"
1055
 
1056
- #: ../common.php:599
1057
  msgid "Limit on failed reCAPTCHA verifications is reached"
1058
  msgstr "Grenze an fehlgeschlagenen reCAPTCHA ist erreicht"
1059
 
1060
- #: ../common.php:644
1061
  msgid "%s ago"
1062
  msgstr "vor %s"
1063
 
1064
- #: ../settings.php:71
1065
  msgid "Apply limit login rules to IP addresses in the White IP Access List"
1066
  msgstr "Eingeschränkte Zugangsregeln für IP Adresse in der White IP Liste anwenden"
1067
 
1068
- #: ../settings.php:80
1069
  msgid "Display 404 page"
1070
  msgstr "Zeige 404 Seite"
1071
 
1072
- #: ../settings.php:150
1073
  msgid "Invisible reCAPTCHA"
1074
  msgstr "Unsichtbares reCAPTCHA"
1075
 
1076
- #: ../settings.php:150
1077
  msgid "Enable invisible reCAPTCHA"
1078
  msgstr "Unsichtbares reCAPTCHA aktivieren"
1079
 
1080
- #: ../settings.php:150
1081
  msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
1082
  msgstr "(nicht anwenden, sofern nicht Seite betreten wurde und Geheimschlüssel für unsichtbare Version erhalten)"
1083
 
1084
- #: ../settings.php:161
1085
  msgid "Enable reCAPTCHA for WordPress comment form"
1086
  msgstr "reCAPTCHA für WordPress Kommentarformular aktivieren"
1087
 
1088
- #: ../settings.php:162
1089
  msgid "Disable reCAPTCHA for logged in users"
1090
  msgstr "reCAPTCHA für angemeldete Benutzer deaktivieren"
1091
 
1092
- #: ../settings.php:164
1093
  msgid "Limit attempts"
1094
  msgstr "Versuche Einschränken"
1095
 
1096
- #: ../settings.php:164
1097
  msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1098
  msgstr "IP Adresse für %s Minuten nach %s fehlgeschlagenen Versuchen innerhalb von %s Minuten sperren"
1099
 
1100
- #: ../settings.php:213
1101
  msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
1102
  msgstr "Im Citadel Modus kann sich niemand einloggen, außer IPs auf der White IP Zugangsliste. Laufende Sitzungen werden nicht beeinflusst."
1103
 
1104
- #: ../dashboard.php:476 ../dashboard.php:635
1105
  msgid "Event"
1106
  msgstr "Ereignis"
1107
 
1108
- #: ../common.php:116
1109
  msgid "Spam comments denied"
1110
  msgstr "Spam Kommentare verweigert"
1111
 
1112
- #: ../common.php:118
1113
  msgid "Malicious IP addresses detected"
1114
  msgstr "Schadhafte IP Adresse gefunden"
1115
 
1116
- #: ../common.php:119
1117
  msgid "Lockouts occurred"
1118
  msgstr "Sperre aufgetreten"
1119
 
1120
- #: ../dashboard.php:1307
1121
  msgid "All suspicious activity"
1122
  msgstr "Alle verdächtigen Aktivitäten"
1123
 
1124
- #: ../wp-cerber.php:960 ../wp-cerber.php:966 ../wp-cerber.php:982 ../wp-cerber.
1125
- #: php:989
1126
  msgid "You are not allowed to register."
1127
  msgstr "Registrierung nicht erlaubt."
1128
 
1129
- #: ../common.php:530
1130
  msgid "Spam comment denied"
1131
  msgstr "Spam Kommentar verweigert"
1132
 
1133
- #: ../common.php:555
1134
  msgid "Attempt to log in denied"
1135
  msgstr "Loginversuch verweigert"
1136
 
1137
- #: ../common.php:556
1138
  msgid "Attempt to register denied"
1139
  msgstr "Registrierungsversuch verweigert"
1140
 
1141
- #: ../common.php:113
1142
  msgid "Malicious activities mitigated"
1143
  msgstr "Schadhafte Aktivitäten gemildert"
1144
 
1145
- #: ../dashboard.php:900
1146
  msgid "Cerber antispam settings"
1147
  msgstr "Cerber Antispam-Einstellungen"
1148
 
1149
- #: ../dashboard.php:900 ../wp-cerber.php:3740 ../settings.php:161
 
1150
  msgid "Antispam"
1151
- msgstr "Antispam"
1152
 
1153
- #: ../settings.php:132
1154
  msgid "Cerber antispam engine"
1155
- msgstr ""
1156
 
1157
- #: ../settings.php:133
1158
  msgid "Comment form"
1159
  msgstr "Kommentarformular"
1160
 
1161
- #: ../settings.php:133
1162
  msgid "Protect comment form with bot detection engine"
1163
- msgstr "Schützen Sie das Kommentarformular mit der Bot-Erkennungs-Engine."
1164
 
1165
- #: ../settings.php:134
1166
  msgid "Protect registration form with bot detection engine"
1167
- msgstr "Schützen Sie das Kommentarformular mit der Bot-Erkennungs-Engine."
1168
 
1169
  #: ../cerber-tools.php:48
1170
  msgid "Export & Import"
@@ -1178,64 +1183,64 @@ msgstr "Diagnose"
1178
  msgid "License"
1179
  msgstr "Lizenz"
1180
 
1181
- #: ../cerber-tools.php:313
1182
  msgid "Antispam and bot detection settings"
1183
  msgstr "Antispam- und Bot-Erkennungseinstellungen"
1184
 
1185
- #: ../wp-cerber.php:1225
1186
  msgid "Sorry, human verification failed."
1187
  msgstr "Entschuldigung, der Menschlichkeitsnachweis ist fehlgeschlagen.\n"
1188
  ""
1189
 
1190
- #: ../common.php:600
1191
  msgid "Bot activity is detected"
1192
  msgstr "Bot-Aktivität wurde erkannt"
1193
 
1194
- #: ../settings.php:142
1195
  msgid "Comment processing"
1196
  msgstr "Kommentarverarbeitung"
1197
 
1198
- #: ../settings.php:143
1199
  msgid "If a spam comment detected"
1200
  msgstr "wenn ein Spam-Kommentar erkannt wird"
1201
 
1202
- #: ../settings.php:144
1203
  msgid "Trash spam comments"
1204
  msgstr "Spam-Kommentar in den Papierkorb legen"
1205
 
1206
- #: ../settings.php:144
1207
  msgid "Move spam comments to trash after"
1208
  msgstr "Verschieben Sie die Spam-Kommentare anschließend in den Papierkorb"
1209
 
1210
- #: ../common.php:531
1211
  msgid "Spam form submission denied"
1212
- msgstr "Spam Formular-Übermittlung verweigert"
1213
 
1214
- #: ../settings.php:135
1215
  msgid "Other forms"
1216
  msgstr "andere Formulare"
1217
 
1218
- #: ../settings.php:135
1219
  msgid "Protect all forms on the website with bot detection engine"
1220
  msgstr "Schützen Sie alle Formulare auf der Website mit der Bot-Erkennungs-Engine"
1221
 
1222
- #: ../settings.php:137
1223
  msgid "Adjust antispam engine"
1224
  msgstr "Passen Sie die Anti-Spam-Engine an"
1225
 
1226
- #: ../settings.php:138
1227
  msgid "Safe mode"
1228
  msgstr "Abgesicherter Modus"
1229
 
1230
- #: ../settings.php:138
1231
  msgid "Use less restrictive policies (allow AJAX)"
1232
  msgstr "Weniger restriktive Richtlinien verwenden (AJAX zulassen)"
1233
 
1234
- #: ../settings.php:139
1235
  msgid "Logged in users"
1236
  msgstr "Angemeldete Benutzer"
1237
 
1238
- #: ../settings.php:139
1239
  msgid "Disable bot detection engine for logged in users"
1240
  msgstr "Deaktivieren der Bot-Erkennungs-Engine für eingeloggte Benutzer"
1241
 
@@ -1244,58 +1249,58 @@ msgstr "Deaktivieren der Bot-Erkennungs-Engine für eingeloggte Benutzer"
1244
  msgid "WP Cerber Security & Antispam"
1245
  msgstr "WP Cerber Security & Antispam"
1246
 
1247
- #: ../dashboard.php:95 ../dashboard.php:633
1248
  msgid "Country"
1249
  msgstr "Land"
1250
 
1251
- #: ../dashboard.php:664
1252
  msgid "All events"
1253
  msgstr "Alle Ereignisse"
1254
 
1255
- #: ../dashboard.php:897
1256
  msgid "Cerber Security Rules"
1257
  msgstr "Cerber Sicherheitsregeln"
1258
 
1259
- #: ../dashboard.php:897 ../dashboard.php:1985
1260
  msgid "Security Rules"
1261
  msgstr "Sicherheitsregeln"
1262
 
1263
- #: ../dashboard.php:974
1264
  msgid "Failed login attempts"
1265
  msgstr "Fehlgeschlagene Anmeldeversuche"
1266
 
1267
- #: ../dashboard.php:975
1268
  msgid "Registered"
1269
  msgstr "Registriert"
1270
 
1271
- #: ../dashboard.php:1042
1272
  msgid "You"
1273
  msgstr "Du"
1274
 
1275
- #: ../common.php:117
1276
  msgid "Spam form submissions denied"
1277
  msgstr "Spam Formular-Übermittlungen verweigert\n"
1278
  ""
1279
 
1280
- #: ../dashboard.php:1363 ../wp-cerber.php:3061 ../wp-cerber.php:3733
1281
  msgid "Getting Started Guide"
1282
  msgstr "Leitfaden für den Einstieg"
1283
 
1284
- #: ../dashboard.php:1990
1285
  msgid "Countries"
1286
  msgstr "Länder"
1287
 
1288
- #: ../dashboard.php:2055
1289
  msgid "Permitted for one country"
1290
  msgid_plural "Permitted for %d countries"
1291
  msgstr[0] "Erlaubt für ein Land"
1292
  msgstr[1] "Erlaubt für %d Länder"
1293
 
1294
- #: ../dashboard.php:2066
1295
  msgid "No rule"
1296
  msgstr "Keine Regel"
1297
 
1298
- #: ../dashboard.php:2269
1299
  msgid "Security rules have been updated"
1300
  msgstr "Sicherheitsregeln wurden aktualisiert"
1301
 
@@ -1304,224 +1309,224 @@ msgstr "Sicherheitsregeln wurden aktualisiert"
1304
  msgid "https://wpcerber.com"
1305
  msgstr "https://wpcerber.com"
1306
 
1307
- #: ../common.php:532
1308
  msgid "Form submission denied"
1309
  msgstr "Formular-Übermittlung verweigert"
1310
 
1311
- #: ../common.php:533
1312
  msgid "Comment denied"
1313
  msgstr "Kommentar verweigert"
1314
 
1315
- #: ../common.php:558
1316
  msgid "Request to REST API denied"
1317
  msgstr "Anfrage an REST API verweigert"
1318
 
1319
- #: ../common.php:559
1320
  msgid "XML-RPC request denied"
1321
  msgstr "XML-RPC-Anfrage verweigert"
1322
 
1323
- #: ../common.php:563
1324
  msgid "Bot detected"
1325
  msgstr "Bot erkannt"
1326
 
1327
- #: ../common.php:564
1328
  msgid "Citadel mode is active"
1329
  msgstr "Citadel-Modus ist aktiv"
1330
 
1331
- #: ../common.php:569
1332
  msgid "Malicious activity detected"
1333
  msgstr "Bösartige Aktivität entdeckt"
1334
 
1335
- #: ../common.php:570
1336
  msgid "Blocked by country rule"
1337
  msgstr "Gesperrt durch Länderregel"
1338
 
1339
- #: ../common.php:571
1340
  msgid "Limit reached"
1341
  msgstr "Limit erreicht"
1342
 
1343
- #: ../common.php:572
1344
  msgid "Multiple suspicious activities"
1345
  msgstr "Mehrere verdächtige Aktivitäten"
1346
 
1347
- #: ../common.php:601
1348
  msgid "Multiple suspicious activities were detected"
1349
  msgstr "Mehrere verdächtige Aktivitäten erkannt"
1350
 
1351
- #: ../settings.php:107
1352
  msgid "Block access to user pages like /?author=n and user data via REST API"
1353
  msgstr "Blockieren Sie den Zugriff auf Benutzerseiten wie /? Author = n und Benutzerdaten über die REST-API"
1354
 
1355
- #: ../settings.php:110
1356
  msgid "Block access to the WordPress REST API except the following"
1357
- msgstr ""
1358
 
1359
- #: ../settings.php:111
1360
  msgid "Allow REST API for logged in users"
1361
- msgstr ""
1362
 
1363
- #: ../settings.php:112
1364
  msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
1365
- msgstr ""
1366
 
1367
- #: ../settings.php:122
1368
  msgid "Registration limit"
1369
- msgstr ""
1370
 
1371
- #: ../settings.php:125
1372
  msgid "Sort users in dashboard"
1373
- msgstr ""
1374
 
1375
- #: ../settings.php:125
1376
  msgid "by date of registration"
1377
- msgstr ""
1378
 
1379
- #: ../settings.php:140
1380
  msgid "Query whitelist"
1381
- msgstr ""
1382
 
1383
- #: ../settings.php:382 ../settings.php:505
1384
  msgid "%s allowed registrations in %s minutes from one IP"
1385
- msgstr ""
1386
 
1387
- #: ../dashboard.php:2122
1388
  msgid "Start typing here to find a country"
1389
- msgstr ""
1390
 
1391
- #: ../dashboard.php:2205
1392
  msgid "Click on a country name to add it to the list of selected countries"
1393
- msgstr ""
1394
 
1395
- #: ../dashboard.php:2224
1396
  msgid "Submit forms"
1397
- msgstr ""
1398
 
1399
- #: ../dashboard.php:2225
1400
  msgid "Post comments"
1401
- msgstr ""
1402
 
1403
- #: ../dashboard.php:2226
1404
  msgid "Log in to the website"
1405
- msgstr ""
1406
 
1407
- #: ../dashboard.php:2227
1408
  msgid "Register on the website"
1409
- msgstr ""
1410
 
1411
- #: ../dashboard.php:2228
1412
  msgid "Use XML-RPC"
1413
- msgstr ""
1414
 
1415
- #: ../dashboard.php:2229
1416
  msgid "Use REST API"
1417
- msgstr ""
1418
 
1419
- #: ../settings.php:143
1420
  msgid "Deny it completely"
1421
- msgstr ""
1422
 
1423
- #: ../settings.php:143
1424
  msgid "Mark it as spam"
1425
- msgstr ""
1426
 
1427
- #: ../dashboard.php:1292
1428
  msgid "in the last 24 hours"
1429
- msgstr ""
1430
 
1431
- #: ../dashboard.php:1641
1432
  msgid "Main settings"
1433
- msgstr ""
1434
 
1435
- #: ../settings.php:190
1436
  msgid "Weekly reports"
1437
- msgstr ""
1438
 
1439
- #: ../settings.php:602
1440
  msgid "Sunday"
1441
- msgstr ""
1442
 
1443
- #: ../settings.php:603
1444
  msgid "Monday"
1445
- msgstr ""
1446
 
1447
- #: ../settings.php:604
1448
  msgid "Tuesday"
1449
- msgstr ""
1450
 
1451
- #: ../settings.php:605
1452
  msgid "Wednesday"
1453
- msgstr ""
1454
 
1455
- #: ../settings.php:606
1456
  msgid "Thursday"
1457
- msgstr ""
1458
 
1459
- #: ../settings.php:607
1460
  msgid "Friday"
1461
- msgstr ""
1462
 
1463
- #: ../settings.php:608
1464
  msgid "Saturday"
1465
- msgstr ""
1466
 
1467
- #: ../settings.php:661 ../settings.php:662
1468
  msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
1469
- msgstr ""
1470
 
1471
  #. translators: preposition of time
1472
- #: ../settings.php:618
1473
  msgctxt "preposition of time"
1474
  msgid "at"
1475
- msgstr ""
1476
 
1477
- #: ../wp-cerber.php:3077
1478
  msgid "Weekly report"
1479
- msgstr ""
1480
 
1481
- #: ../wp-cerber.php:3080
1482
  msgid "To change reporting settings visit"
1483
- msgstr ""
1484
 
1485
- #: ../wp-cerber.php:3106
1486
  msgid "Your login page:"
1487
- msgstr ""
1488
 
1489
- #: ../wp-cerber.php:3110
1490
  msgid "Your license is valid until"
1491
- msgstr ""
1492
 
1493
- #: ../wp-cerber.php:3221
1494
  msgid "Activity details"
1495
- msgstr ""
1496
 
1497
- #: ../settings.php:634
1498
  msgid "Click to send now"
1499
- msgstr ""
1500
 
1501
- #: ../wp-cerber.php:625
1502
  msgid "> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/"
1503
- msgstr ""
1504
 
1505
- #: ../dashboard.php:377
1506
  msgid "Email has been sent to"
1507
- msgstr ""
1508
 
1509
- #: ../dashboard.php:380
1510
  msgid "Unable to send email to"
1511
- msgstr ""
1512
 
1513
- #: ../dashboard.php:2058
1514
  msgid "Not permitted for one country"
1515
  msgid_plural "Not permitted for %d countries"
1516
- msgstr[0] ""
1517
- msgstr[1] ""
1518
 
1519
- #: ../dashboard.php:2209
1520
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1521
  msgid "Selected countries are permitted to %s, other countries are not permitted to"
1522
  msgstr ""
1523
 
1524
- #: ../dashboard.php:2212
1525
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1526
  msgid "Selected countries are not permitted to %s, other countries are permitted to"
1527
  msgstr ""
@@ -1529,57 +1534,185 @@ msgstr ""
1529
  #. Description of the plugin
1530
  #:
1531
  msgid "Protects site from brute force attacks, bots and hackers. Antispam protection with the Cerber antispam engine and reCAPTCHA. Comprehensive control of user activity. Restrict login by IP access lists. Limit login attempts. Know more: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1532
- msgstr ""
1533
 
1534
- #: ../wp-cerber.php:3209
1535
  msgid "Weekly Report"
1536
- msgstr ""
1537
 
1538
- #: ../settings.php:80
1539
  msgid "Use 404 template from the active theme"
1540
- msgstr ""
1541
 
1542
- #: ../settings.php:80
1543
  msgid "Display simple 404 page"
1544
- msgstr ""
1545
 
1546
- #: ../settings.php:140
1547
  msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
1548
- msgstr ""
1549
 
1550
- #: ../settings.php:192
1551
  msgid "if empty, email from notification settings will be used"
1552
- msgstr ""
1553
 
1554
- #: ../settings.php:193
1555
  msgid "Enable reporting"
1556
- msgstr ""
1557
 
1558
- #: ../wp-cerber.php:3133
1559
  msgid "Your last sign-in was %s from %s"
1560
- msgstr ""
1561
 
1562
- #: ../wp-cerber.php:3235
1563
  msgid "Attempts to log in with non-existent username"
1564
- msgstr ""
1565
 
1566
  #: ../dashboard.php:167
1567
  msgid "IP address, IPv4 address range or subnet"
1568
- msgstr ""
1569
 
1570
  #: ../dashboard.php:169
1571
  msgid "Optional comment for this entry"
1572
- msgstr ""
1573
 
1574
  #: ../dashboard.php:210
1575
  msgid "You cannot add your IP address or network"
1576
- msgstr ""
1577
 
1578
- #: ../cerber-news.php:135
1579
  msgid "Cool!"
1580
- msgstr ""
1581
 
1582
- #: ../settings.php:123
1583
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1584
  msgstr ""
1585
 
8
  "Language: de\n"
9
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
10
 
11
+ #: ../settings.php:70
12
  msgid "Limit login attempts"
13
  msgstr "Anmeldeversuche limitieren"
14
 
15
+ #: ../settings.php:71
16
  msgid "Attempts"
17
  msgstr "Versuche"
18
 
19
+ #: ../settings.php:72
20
  msgid "Lockout duration"
21
  msgstr "Sperrdauer"
22
 
23
+ #: ../settings.php:72 ../settings.php:91
24
  msgid "minutes"
25
  msgstr "Minuten"
26
 
27
+ #: ../settings.php:73
28
  msgid "Aggressive lockout"
29
  msgstr "Aggressive Sperre"
30
 
31
+ #: ../settings.php:76
32
  msgid "Site connection"
33
  msgstr "Verbindung zur Website"
34
 
35
+ #: ../settings.php:78
36
  msgid "Proactive security rules"
37
  msgstr "Proaktive Sicherheitsregeln"
38
 
39
+ #: ../settings.php:79
40
  msgid "Block subnet"
41
  msgstr "Sperre Subnetz"
42
 
43
+ #: ../settings.php:82
44
  msgid "Request wp-login.php"
45
  msgstr "Anfrage wp-login.php"
46
 
47
+ #: ../settings.php:82
48
  msgid "Immediately block IP after any request to wp-login.php"
49
  msgstr "IP nach jeder Anfrage auf wp-login.php sofort sperren"
50
 
51
+ #: ../settings.php:81
52
  msgid "Redirect dashboard requests"
53
  msgstr "Dashboard-Anfragen umleiten"
54
 
55
+ #: ../settings.php:85
56
  msgid "Custom login page"
57
  msgstr "Benutzerdefinierte Login-Seite"
58
 
59
+ #: ../settings.php:86
60
  msgid "Custom login URL"
61
  msgstr "Benutzerdefinierte Login-URL"
62
 
63
  #. There is no perfect translation for "slug" with keeping the context. "Permalink" describes the whole URL but is used by WordPress in this place.
64
+ #: ../settings.php:86
65
  #, fuzzy
66
  msgid "must not overlap with the existing pages or posts slug"
67
  msgstr "darf sich nicht mit Permalinks von vorhandenen Seiten oder Beiträgen überlappen"
68
 
69
+ #: ../settings.php:87
70
  msgid "Disable wp-login.php"
71
  msgstr "Deaktiviere wp-login.php"
72
 
73
+ #: ../settings.php:87
74
  msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
75
  msgstr "Blockiere direkten Zugriff zu wp-login.php und gib HTTP 404 Not Found Error zurück"
76
 
77
+ #: ../dashboard.php:1135 ../settings.php:89
78
  msgid "Citadel mode"
79
  msgstr "Citadel Modus"
80
 
81
+ #: ../settings.php:90
82
  msgid "Threshold"
83
  msgstr "Schwelle"
84
 
85
+ #: ../settings.php:91
86
  msgid "Duration"
87
  msgstr "Dauer"
88
 
89
+ #: ../wp-cerber.php:3891 ../settings.php:75 ../settings.php:92 ../settings.php:368
90
  msgid "Notifications"
91
  msgstr "Benachrichtigungen"
92
 
93
+ #: ../settings.php:92
94
  msgid "Send notification to admin email"
95
  msgstr "Sende eine Benachrichtigung an die Emailadresse des Admins"
96
 
97
+ #: ../wp-cerber.php:3888 ../settings.php:361 ../cerber-tools.php:88 ../cerber-
98
+ #: tools.php:97 ../cerber-tools.php:178
99
  msgid "Access Lists"
100
  msgstr "Zugriffslisten"
101
 
102
+ #: ../dashboard.php:1142 ../dashboard.php:1339 ../wp-cerber.php:3652 ../settings.
103
+ #: php:94 ../settings.php:352
104
  msgid "Activity"
105
  msgstr "Aktivität"
106
 
107
+ #: ../settings.php:356
108
  msgid "Lockouts"
109
  msgstr "Sperren"
110
 
111
+ #: ../settings.php:477 ../settings.php:599
112
  msgid "%s allowed retries in %s minutes"
113
  msgstr "%s erlaubte Wiederholungen in %s Minuten"
114
 
115
+ #: ../settings.php:499 ../settings.php:621
116
  msgid "Enable after %s failed login attempts in last %s minutes"
117
  msgstr "Aktiviere nach %s fehlgeschlagenen Anmeldeversuchen in den letzten %s Minuten"
118
 
119
+ #: ../dashboard.php:93 ../dashboard.php:643 ../dashboard.php:2674 ../wp-cerber.
120
+ #: php:3661
121
  msgid "IP"
122
  msgstr "IP"
123
 
124
+ #: ../dashboard.php:489 ../dashboard.php:646 ../dashboard.php:2672
125
  msgid "Date"
126
  msgstr "Datum"
127
 
128
+ #: ../dashboard.php:489 ../dashboard.php:648 ../dashboard.php:2677
129
  msgid "Local User"
130
  msgstr "Lokaler Benutzer"
131
 
132
+ #: ../dashboard.php:489 ../dashboard.php:649 ../wp-cerber.php:3669
133
  msgid "Username used"
134
  msgstr "Benutzername wird bereits verwendet"
135
 
137
  msgid "Showing last %d records from %d"
138
  msgstr "Zeige die letzten %d Einträge von %d"
139
 
140
+ #: ../common.php:613
141
  msgid "Logged in"
142
  msgstr "Eingeloggt"
143
 
144
+ #: ../common.php:614
145
  msgid "Logged out"
146
  msgstr "Ausgeloggt"
147
 
148
+ #: ../common.php:615
149
  msgid "Login failed"
150
  msgstr "Login fehlgeschlagen"
151
 
152
+ #: ../common.php:618
153
  msgid "IP blocked"
154
  msgstr "IP geblockt"
155
 
156
+ #: ../common.php:619
157
  msgid "Subnet blocked"
158
  msgstr "Subnetz geblockt"
159
 
160
+ #: ../common.php:621
161
  msgid "Citadel activated!"
162
  msgstr "Citadel-Modus aktiviert!"
163
 
164
+ #: ../dashboard.php:623 ../dashboard.php:833 ../dashboard.php:2526 ../common.php:
165
+ #: 658
166
  msgid "Locked out"
167
  msgstr "Ausgesperrt"
168
 
169
  #. Only correct if "IP blacklisted" is used as indicative. Otherwise it would not translate "IP auf der schwarzen Liste" but "IP auf die schwarze Liste gesetzt" (if it states that the IP was just blacklisted).
170
+ #: ../common.php:659
171
  #, fuzzy
172
  msgid "IP blacklisted"
173
  msgstr "IP blockiert"
174
 
175
+ #: ../common.php:636
176
  msgid "Password changed"
177
  msgstr "Passwort geändert"
178
 
180
  msgid "Remove"
181
  msgstr "Entfernen"
182
 
183
+ #: ../dashboard.php:388
184
  msgid "Lockout for %s was removed"
185
  msgstr "Die Sperre für %s wurde entfernt"
186
 
187
+ #: ../dashboard.php:131 ../dashboard.php:618 ../dashboard.php:827 ../dashboard.
188
+ #: php:1133 ../dashboard.php:2521 ../wp-cerber.php:3880 ../settings.php:74 ..
189
+ #: /settings.php:322
190
  #, fuzzy
191
  msgid "White IP Access List"
192
  msgstr "Weiße Liste (erlaubten IPs)"
193
 
194
+ #: ../dashboard.php:133 ../dashboard.php:619 ../dashboard.php:830 ../dashboard.
195
+ #: php:1134 ../dashboard.php:2522
196
  #, fuzzy
197
  msgid "Black IP Access List"
198
  msgstr "Schwarze Liste (verbotenen IPs)"
209
  msgid "Address %s was added to Black IP Access List"
210
  msgstr "Adresse %s wurde zur Liste der verbotenen IPs hinzugefügt"
211
 
212
+ #: ../wp-cerber.php:3127
213
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
214
  msgstr "Citadel-Modus ist aktiviert nach %d fehlgeschlagenen Logins in %d Minuten."
215
 
216
+ #: ../dashboard.php:1481
217
  msgid "View Activity"
218
  msgstr "Aktivitäten anzeigen"
219
 
220
+ #: ../dashboard.php:2386 ../cerber-tools.php:87 ../cerber-tools.php:96
221
  msgid "Settings"
222
  msgstr "Einstellungen"
223
 
224
+ #: ../dashboard.php:999
225
  msgid "Last login"
226
  msgstr "Letzte Anmeldung"
227
 
228
+ #: ../dashboard.php:1032 ../dashboard.php:1116
229
  msgid "Never"
230
  msgstr "Niemals"
231
 
232
+ #: ../dashboard.php:1383
233
  msgid "Are you sure?"
234
  msgstr "Sind Sie sicher?"
235
 
236
+ #: ../dashboard.php:1190 ../settings.php:76
237
  msgid "My site is behind a reverse proxy"
238
  msgstr "Meine Website ist hinter einem Reverse-Proxy"
239
 
240
+ #: ../settings.php:80
241
  msgid "Non-existent users"
242
  msgstr "Nicht vorhandene Benutzer"
243
 
244
+ #: ../settings.php:80
245
  msgid "Immediately block IP when attempting to login with a non-existent username"
246
  msgstr "IP sofort sperren, wenn versucht wird, sich mit einem nicht vorhandenen Benutzernamen einzuloggen "
247
 
248
+ #: ../settings.php:81
249
  msgid "Disable automatic redirecting to the login page when /wp-admin/ is requested by an unauthorized request"
250
  msgstr "Die automatische Umleitung auf die Anmeldeseite deaktivieren, wenn /wp-admin/ von einer nicht autorisierten Anfrage aufgerufen wird"
251
 
252
  #. A fuzzy translation that is mostly used in this context would be "Machen Sie Ihren Schutz intelligenter!"
253
+ #: ../settings.php:308
254
  msgid "Make your protection smarter!"
255
  msgstr "Machen Sie Ihren Schutz schlauer!"
256
 
257
+ #: ../settings.php:312
258
  msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
259
  msgstr "Bitte aktivieren Sie Permalinks um dieses Merkmal zu verwenden. Setzen Sie die Permalink-Einstellungen auf etwas anderes als Standard."
260
 
261
+ #: ../settings.php:315
262
  msgid "Be careful when enabling this options. If you forget the custom login URL you will not be able to login."
263
  msgstr "Seien Sie vorsichtig bei der Aktivierung dieser Optionen. Wenn Sie die benutzerdefinierte Login-URL vergessen, können Sie sich nicht mehr anmelden."
264
 
265
+ #: ../wp-cerber.php:3887 ../settings.php:358
266
  msgid "Main Settings"
267
  msgstr "Haupteinstellungen"
268
 
269
+ #: ../settings.php:370
270
  msgid "Help"
271
  msgstr "Hilfe"
272
 
273
  #. "Aussperrungen" is used in plural because there are more likely several lockouts in the last hours. One single lockout would demand the use of the singular "Aussperrung". We could use "Aussperrung(en)" to cover all cases.
274
+ #: ../settings.php:487 ../settings.php:609
275
  #, fuzzy
276
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
277
  msgstr "Erhöhe die Sperrdauer um %s Stunden nach %s Aussperrungen in den letzten %s Stunden"
278
 
279
+ #: ../wp-cerber.php:297
280
  msgid "You are not allowed to log in. Ask your administrator for assistance."
281
  msgstr "Sie sind nicht berechtigt, sich anzumelden. Fragen Sie Ihren Administrator nach Unterstützung."
282
 
283
  #. One "Minute", two/three/four/... "Minuten".
284
+ #: ../wp-cerber.php:303
285
  #, fuzzy
286
  msgid "You have reached the login attempts limit. Please try again in %d minutes."
287
  msgstr "Sie haben die maximale Anzahl an Login-Versuchen erreicht. Bitte versuchen Sie es in %d Minuten noch einmal."
288
 
289
+ #: ../wp-cerber.php:322
290
  msgid "You have only one attempt remaining."
291
  msgid_plural "You have %d attempts remaining."
292
  msgstr[0] "Sie haben nur noch einen Versuch."
293
  msgstr[1] "Sie haben nur noch %d Versuche."
294
 
295
+ #: ../dashboard.php:674
296
  msgid "No activity has been logged."
297
  msgstr "Keine Aktivität wurde protokolliert."
298
 
312
  msgid "Your IP"
313
  msgstr "Ihre IP"
314
 
315
+ #: ../wp-cerber.php:3128
316
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
317
  msgstr "Der letzte gescheiterte Versuch war um %s von der IP %s mit der Benutzeranmeldung: %s."
318
 
319
+ #: ../wp-cerber.php:3863
320
  msgid "Can't activate WP Cerber due to a database error."
321
  msgstr "Kann WP Cerber aufgrund eines Datenbankfehlers nicht aktivieren."
322
 
323
+ #: ../settings.php:494 ../settings.php:616
324
  msgid "Notify admin if the number of active lockouts above"
325
  msgstr "Benachrichtige den Admin, wenn die Anzahl von aktiven Aussperrungen größer ist als"
326
 
327
+ #: ../settings.php:95 ../settings.php:168 ../settings.php:298
328
  msgid "days"
329
  msgstr "Tage"
330
 
331
+ #: ../dashboard.php:1086
332
  msgid "Cerber Quick View"
333
  msgstr "Cerber Schnellansicht"
334
 
340
  msgid "To view activity, click on the IP"
341
  msgstr "Um die Aktivität sehen zu können, klicken Sie auf die IP"
342
 
343
+ #: ../dashboard.php:158 ../dashboard.php:840 ../dashboard.php:867
344
  msgid "Check for activity"
345
  msgstr "Auf Aktivität überprüfen"
346
 
347
+ #: ../settings.php:79
348
  msgid "Always block entire subnet Class C of intruders IP"
349
  msgstr "Immer das gesamte Subnetz Klasse C der IP des Eindringlings blockieren"
350
 
351
+ #: ../settings.php:92 ../settings.php:496 ../settings.php:618
352
  msgid "Click to send test"
353
  msgstr "Klicken für Sendungstest"
354
 
355
+ #: ../settings.php:758 ../settings.php:759
356
  msgid "Attention! You have changed the login URL! The new login URL is"
357
  msgstr "Achtung! Sie haben die Anmelde-URL geändert! Die neue Login-URL ist"
358
 
359
+ #: ../dashboard.php:998
360
  msgid "Comments"
361
  msgstr "Kommentare"
362
 
363
+ #: ../common.php:891
364
  msgid "Update to version %s of WP Cerber"
365
  msgstr "Update auf Version %s von WP Cerber"
366
 
367
+ #: ../wp-cerber.php:3129 ../wp-cerber.php:3693
368
  msgid "View activity in dashboard"
369
  msgstr "Zeige Aktivität im Dashboard"
370
 
371
+ #: ../wp-cerber.php:3159
372
  msgid "Number of active lockouts"
373
  msgstr "Anzahl der aktiven Sperren"
374
 
375
+ #: ../wp-cerber.php:3163
376
  msgid "View lockouts in dashboard"
377
  msgstr "Zeige Sperren im Dashboard"
378
 
379
+ #: ../wp-cerber.php:3245
380
  msgid "This message was sent by"
381
  msgstr "Diese Nachricht wurde gesendet von"
382
 
383
  #. Used to be "Import/Export" but this is a fuzzy translation. Exact translation that WordPress also uses is "Werkzeuge".
384
+ #: ../dashboard.php:927 ../cerber-tools.php:43
385
  msgid "Tools"
386
  msgstr "Werkzeuge"
387
 
445
  msgid "Error while parsing file"
446
  msgstr "Fehler beim Parsen der Datei"
447
 
448
+ #: ../dashboard.php:94 ../dashboard.php:644
449
  msgid "Hostname"
450
  msgstr "Hostname"
451
 
454
  msgid "unknown"
455
  msgstr "unbekannt"
456
 
457
+ #: ../settings.php:95 ../settings.php:294
458
  msgid "Keep records for"
459
  msgstr "Behalte Aufzeichnungen für"
460
 
461
+ #: ../dashboard.php:1120
462
  msgid "active"
463
  msgstr "aktiv"
464
 
465
+ #: ../dashboard.php:1120
466
  msgid "deactivate"
467
  msgstr "deaktiviert"
468
 
469
+ #: ../dashboard.php:1122
470
  msgid "not active"
471
  msgstr "nicht aktiv"
472
 
473
  #. "deactive" and "disabled" mean exactly the same in German.
474
+ #: ../dashboard.php:1123
475
  msgid "disabled"
476
  msgstr "deaktiviert"
477
 
478
+ #: ../dashboard.php:1128
479
  msgid "failed attempts"
480
  msgstr "Fehlversuche"
481
 
482
+ #: ../dashboard.php:1128 ../dashboard.php:1129
483
  msgid "in 24 hours"
484
  msgstr "in 24 Stunden"
485
 
486
+ #: ../dashboard.php:1128 ../dashboard.php:1129
487
  msgid "view all"
488
  msgstr "Zeige alle"
489
 
490
+ #: ../dashboard.php:1129
491
  msgid "lockouts"
492
  msgstr "Sperren"
493
 
494
+ #: ../dashboard.php:1131
495
  msgid "Lockouts at the moment"
496
  msgstr "Momentane Sperren"
497
 
498
+ #: ../dashboard.php:1132
499
  msgid "Last lockout"
500
  msgstr "Letzte Sperre"
501
 
502
+ #: ../dashboard.php:1133 ../dashboard.php:1134 ../dashboard.php:1652
503
  msgid "entry"
504
  msgid_plural "entries"
505
  msgstr[0] "Eintrag"
506
  msgstr[1] "Einträge"
507
 
508
+ #: ../dashboard.php:1378
509
  #, fuzzy
510
  msgid "Confused about some settings?"
511
  msgstr "Verwirrende Einstellungen?"
512
 
513
+ #: ../dashboard.php:1379
514
  msgid "You can easily load default recommended settings using button below"
515
  msgstr "Sie können ganz einfach mit dem unteren Button empfohlene Standardeinstellungen laden"
516
 
517
+ #: ../dashboard.php:1381
518
  msgid "Load default settings"
519
  msgstr "Standardeinstellung laden"
520
 
521
+ #: ../dashboard.php:1389
522
  msgid "doesn't affect Custom login URL and Access Lists"
523
  msgstr "hat keinen Einfluss auf benutzerdefinierte Login-URL und Zugriffslisten"
524
 
525
+ #: ../common.php:884
526
  msgid "New version is available"
527
  msgstr "Eine neue Version ist verfügbar"
528
 
529
  #. Name of the plugin
530
+ #: ../dashboard.php:915 ../dashboard.php:937
531
  msgid "WP Cerber"
532
  msgstr "WP Cerber"
533
 
534
+ #: ../wp-cerber.php:3103
535
  msgid "WP Cerber notify"
536
  msgstr "WP Cerber benachrichtigen"
537
 
538
+ #: ../wp-cerber.php:3125
539
  msgid "Citadel mode is activated"
540
  msgstr "Citadel-Modus ist aktiviert"
541
 
542
+ #: ../wp-cerber.php:3199
543
  msgid "New Custom login URL"
544
  msgstr "Neue benutzerdefinierte Login-URL"
545
 
546
+ #: ../wp-cerber.php:3850
547
  msgid "The WP Cerber requires PHP %s or higher. You are running"
548
  msgstr "WP Cerber benötigt PHP Version %s oder höher. Sie haben"
549
 
550
+ #: ../wp-cerber.php:3854
551
  msgid "The WP Cerber requires WordPress %s or higher. You are running"
552
  msgstr "WP Cerber benötigt Wordpress Version %s oder höher. Sie haben"
553
 
554
  #. Non-fuzzy translation would be "Verwende Datei" but in this context "Verwende Logdatei" is describing exactly what it does.
555
+ #: ../settings.php:98
556
  #, fuzzy
557
  msgid "Use file"
558
  msgstr "Verwende Logdatei"
559
 
560
+ #: ../settings.php:98
561
  msgid "Write failed login attempts to the file"
562
  msgstr "Schreibe fehlgeschlagene Anmeldungen in die Datei."
563
 
564
+ #: ../dashboard.php:1480
565
  msgid "Deactivate"
566
  msgstr "Deaktivieren"
567
 
568
+ #: ../dashboard.php:97 ../wp-cerber.php:3161
569
  msgid "Reason"
570
  msgstr "Grund"
571
 
573
  msgid "Add IP to the list"
574
  msgstr "Füge IP zur Liste hinzu"
575
 
576
+ #: ../dashboard.php:885
577
  msgid "Add IP to the Black List"
578
  msgstr "Füge IP zur Schwarzen Liste hinzu"
579
 
580
+ #: ../common.php:689
581
  msgid "Attempt to access"
582
  msgstr "Zugriffsversuch"
583
 
584
+ #: ../common.php:688
585
  msgid "Limit on login attempts is reached"
586
  msgstr "Limit für Anmeldeversuche ist erreicht"
587
 
588
+ #: ../common.php:644 ../common.php:690
589
  msgid "Attempt to log in with non-existent username"
590
  msgstr "Anmeldeversuch mit nicht existierendem Nutzernamen"
591
 
592
+ #: ../wp-cerber.php:3160
593
  msgid "Last lockout was added: %s for IP %s"
594
  msgstr "Letzte Sperre wurde hinzugefügt: %s für IP %s"
595
 
596
  #. "Abhärtung" is the medical translation for "hardening" which fits best in this case.
597
+ #: ../wp-cerber.php:3890 ../settings.php:363
598
  msgid "Hardening"
599
  msgstr "Abhärtung"
600
 
601
+ #: ../dashboard.php:863
602
  msgid "Abuse email:"
603
  msgstr "Missbrauch Email:"
604
 
605
+ #: ../settings.php:197 ../settings.php:228
606
  msgid "Email Address"
607
  msgstr "E-Mail-Adresse"
608
 
609
+ #: ../settings.php:206
610
  msgid "if empty, the admin email %s will be used"
611
  msgstr "wenn leer, dann wird die E-Mail-Adresse %s des Admins benutzt"
612
 
613
  #. More narrow translation would be "IP aufbrechen" but does not really fit.
614
+ #: ../settings.php:101
615
  #, fuzzy
616
  msgid "Drill down IP"
617
  msgstr "IP inspizieren"
618
 
619
+ #: ../settings.php:101
620
  msgid "Retrieve extra WHOIS information for IP"
621
  msgstr "Extra WHOIS Informationen für IP abrufen"
622
 
623
+ #: ../settings.php:109
624
  msgid "Hardening WordPress"
625
  msgstr "WordPress abhärten"
626
 
627
  #. "Enumeration" would originally translate to "Aufzählung" but does not quite fit.
628
+ #: ../settings.php:110
629
  #, fuzzy
630
  msgid "Stop user enumeration"
631
  msgstr "Benutzererfassung stoppen"
632
 
633
+ #: ../settings.php:111
634
  msgid "Disable XML-RPC"
635
  msgstr "Deaktiviere XML-RPC"
636
 
637
+ #: ../settings.php:111
638
  msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
639
  msgstr "Zugriff auf den XML-RPC Server sperren (Pingbacks und Trackbacks eingeschlossen)"
640
 
641
+ #: ../settings.php:112
642
  msgid "Disable feeds"
643
  msgstr "Feeds deaktivieren"
644
 
645
+ #: ../settings.php:112
646
  msgid "Block access to the RSS, Atom and RDF feeds"
647
  msgstr "Zugriff auf den RSS-, den Atom- und den RDF-Feed blockieren"
648
 
649
+ #: ../settings.php:113
650
  msgid "Disable REST API"
651
  msgstr "REST API deaktivieren"
652
 
653
+ #: ../settings.php:322
654
  #, fuzzy
655
  msgid "These settings do not affect hosts from the "
656
  msgstr "Diese Einstellungen beeinflussen keine Hosts von"
657
 
658
+ #: ../settings.php:839 ../settings.php:851
659
  msgid "<strong>ERROR</strong>: please enter a valid email address."
660
  msgstr "<strong>FEHLER</strong>: Bitte eine gültige E-Mail-Adresse eingeben"
661
 
662
+ #: ../wp-cerber.php:3191 ../wp-cerber.php:3879
663
  #, fuzzy
664
  msgid "WP Cerber is now active and has started protecting your site"
665
  msgstr "WP Cerber ist nun aktiv und schützt ihre Website"
676
  msgid "Incorrect IP address or IP range"
677
  msgstr "Falsche IP-Adresse oder falscher IP-Bereich"
678
 
679
+ #: ../dashboard.php:405 ../dashboard.php:1496
680
  msgid "Settings saved"
681
  msgstr "Einstellungen gespeichert"
682
 
683
+ #: ../dashboard.php:867
684
  msgid "Network:"
685
  msgstr "Netzwerk:"
686
 
687
+ #: ../dashboard.php:881
688
  msgid "Add network to the Black List"
689
  msgstr "Netzwerk zur schwarzen Liste hinzufügen"
690
 
691
+ #: ../dashboard.php:1479
692
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
693
  msgstr "Achtung! Citadel-Modus ist nun aktiv. Niemand kann sich anmelden."
694
 
695
+ #: ../dashboard.php:311 ../dashboard.php:2457 ../whois.php:221 ../whois.php:252 ..
696
+ #: /common.php:687 ../common.php:966
697
  msgid "Unknown"
698
  msgstr "Unbekannt"
699
 
702
  msgid "Gregory"
703
  msgstr "Gregory"
704
 
705
+ #: ../wp-cerber.php:605 ../wp-cerber.php:617 ../wp-cerber.php:624 ../wp-cerber.
706
+ #: php:826 ../wp-cerber.php:1042 ../wp-cerber.php:1048 ../wp-cerber.php:1053 ..
707
+ #: /wp-cerber.php:1058 ../wp-cerber.php:1064 ../wp-cerber.php:1071 ../wp-cerber.
708
+ #: php:1171 ../wp-cerber.php:1308 ../common.php:194 ../common.php:251 ../common.
709
+ #: php:255 ../settings.php:808
710
  msgid "ERROR:"
711
  msgstr "FEHLER:"
712
 
713
+ #: ../wp-cerber.php:634
714
  msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
715
  msgstr "Menschlichkeitsnachweis gescheitert. Bitte klicken Sie das quadratische Kästchen im reCAPTCHA-Block unten."
716
 
717
+ #: ../wp-cerber.php:838
718
  msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
719
  msgstr "<strong>FEHLER</strong>: Das eingegebene Passwort für den Benutzernamen %s ist falsch."
720
 
721
+ #: ../wp-cerber.php:1059
722
  msgid "Username is not allowed. Please choose another one."
723
  msgstr "Benutzername ist nicht erlaubt. Bitte einen anderen wählen."
724
 
725
+ #: ../wp-cerber.php:3154
726
  msgid "unspecified"
727
  msgstr "nicht spezifiziert"
728
 
729
+ #: ../wp-cerber.php:3157
730
  msgid "Number of lockouts is increasing"
731
  msgstr "Anzahl an Sperren steigt an"
732
 
733
+ #: ../wp-cerber.php:3162
734
  msgid "View activity for this IP"
735
  msgstr "Zeige Aktivität für diese IP"
736
 
737
+ #: ../wp-cerber.php:3166 ../wp-cerber.php:3168
738
  msgid "A new version of WP Cerber is available to install"
739
  msgstr "Eine neue Version von WP Cerber ist zur Installation verfügbar"
740
 
741
+ #: ../wp-cerber.php:3167
742
  msgid "Hi!"
743
  msgstr "Hallo!"
744
 
745
  #. Original translation is "Internetseite" but this translation is not up to time.
746
+ #: ../wp-cerber.php:3170 ../wp-cerber.php:3181
747
  msgid "Website"
748
  msgstr "Website"
749
 
750
+ #: ../wp-cerber.php:3173 ../wp-cerber.php:3174
751
  msgid "The WP Cerber security plugin has been deactivated"
752
  msgstr "Das WP Cerber Sicherheits-Plugin wurde deaktiviert"
753
 
754
+ #: ../wp-cerber.php:3176
755
  msgid "Not logged in"
756
  msgstr "Nicht angemeldet"
757
 
758
+ #: ../wp-cerber.php:3182
759
  #, fuzzy
760
  msgid "By user"
761
  msgstr "Von Nutzer"
762
 
763
+ #: ../wp-cerber.php:3183
764
  #, fuzzy
765
  msgid "From IP address"
766
  msgstr "Von IP-Adresse"
767
 
768
+ #: ../wp-cerber.php:3186
769
  #, fuzzy
770
  msgid "From country"
771
  msgstr "Vom Land"
772
 
773
+ #: ../wp-cerber.php:3190
774
  msgid "The WP Cerber security plugin is now active"
775
  msgstr "Das WP Cerber Sicherheits-Plugin ist nun aktiv"
776
 
777
+ #: ../wp-cerber.php:3880
778
  #, fuzzy
779
  msgid "Your IP address is added to the"
780
  msgstr "Ihre IP-Adresse wurde hinzugefügt zu"
781
 
782
+ #: ../wp-cerber.php:3892
783
  msgid "Import settings"
784
  msgstr "Import-Einstellungen"
785
 
786
+ #: ../settings.php:209
787
  msgid "Notification limit"
788
  msgstr "Benachrichtigungslimit"
789
 
790
+ #: ../settings.php:209
791
  #, fuzzy
792
  msgid "notification letters allowed per hour (0 means unlimited)"
793
  msgstr "Zugelassene Benachrichtigungen pro Stunde (0 bedeutet kein Limit)"
794
 
795
+ #: ../settings.php:131
796
  msgid "User related settings"
797
  msgstr "Benutzerbezogene Einstellungen"
798
 
799
+ #: ../settings.php:133
800
  msgid "Prohibited usernames"
801
  msgstr "Verbotene Benutzernamen"
802
 
803
+ #: ../settings.php:139
804
  msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
805
  msgstr "Benutzernamen von dieser Liste dürfen sich nicht anmelden oder registrieren. Jede IP-Adresse, die versucht hat einen dieser Nutzernamen zu verwenden, wird sofort blockiert. Mit Komma Namen trennen."
806
 
807
+ #: ../settings.php:141
808
  msgid "User session expire"
809
  msgstr "Benutzer-Sitzung Ablauf"
810
 
811
+ #: ../settings.php:141
812
  msgid "in minutes (leave empty to use default WP value)"
813
  msgstr "in Minuten (leer lassen um WP Standardwert zu verwenden)"
814
 
815
+ #: ../settings.php:171
816
  msgid "reCAPTCHA settings"
817
  msgstr "reCAPTCHA-Einstellungen"
818
 
819
  #. Technical term.
820
+ #: ../settings.php:172
821
  msgid "Site key"
822
  msgstr "Site key"
823
 
824
  #. Technical term.
825
+ #: ../settings.php:173
826
  msgid "Secret key"
827
  msgstr "Secret key"
828
 
829
+ #: ../settings.php:176
830
  msgid "Enable reCAPTCHA for WordPress registration form"
831
  msgstr "Aktiviere reCAPTCHA für das WordPress Registrierungsformular"
832
 
833
+ #: ../settings.php:179
834
  msgid "Lost password form"
835
  msgstr "Passwort-Vergessen-Formular"
836
 
837
+ #: ../settings.php:182
838
  msgid "Login form"
839
  msgstr "Anmeldeforumlar"
840
 
841
+ #: ../settings.php:182
842
  msgid "Enable reCAPTCHA for WordPress login form"
843
  msgstr "Aktiviere reCAPTCHA für das WordPress Anmeldeformular"
844
 
845
+ #: ../settings.php:325
846
  msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
847
  msgstr "Bevor Sie reCAPTCHA nutzen können, müssen Sie einen Site key und einen Secret key von der Google Website beziehen."
848
 
849
+ #: ../cerber-lab.php:669 ../settings.php:326
850
  msgid "Know more"
851
  msgstr "Mehr erfahren"
852
 
853
+ #: ../dashboard.php:915 ../settings.php:345
854
  msgid "WP Cerber Security"
855
  msgstr "WP Cerber Sicherheit"
856
 
857
+ #: ../settings.php:365
858
  msgid "Users"
859
  msgstr "Benutzer"
860
 
861
+ #: ../common.php:611
862
  msgid "User created"
863
  msgstr "Benutzer erstellt"
864
 
865
+ #: ../dashboard.php:1332 ../common.php:612
866
  msgid "User registered"
867
  msgstr "Benutzer registriert"
868
 
869
+ #: ../common.php:639
870
  msgid "reCAPTCHA verification failed"
871
  msgstr "reCAPTCHA-Bestätigung gescheitert"
872
 
873
+ #: ../common.php:640
874
  msgid "reCAPTCHA settings are incorrect"
875
  msgstr "reCAPTCHA-Einstellungen sind falsch"
876
 
877
+ #: ../common.php:643
878
  msgid "Attempt to access prohibited URL"
879
  msgstr "Zugriffsversuch auf verbotene URL"
880
 
881
+ #: ../common.php:645 ../common.php:691
882
  msgid "Attempt to log in with prohibited username"
883
  msgstr "Anmeldeversuch mit verbotenem Benutzernamen"
884
 
885
+ #: ../settings.php:96
886
  msgid "Cerber Lab connection"
887
  msgstr "Cerber Lab Verbindung"
888
 
889
+ #: ../settings.php:96
890
  msgid "Send malicious IP addresses to the Cerber Lab"
891
  msgstr "Bösartige IP-Adressen an das Cerber Lab senden"
892
 
893
+ #: ../settings.php:97
894
  msgid "Cerber Lab protocol"
895
  msgstr "Cerber Lab Protokoll"
896
 
897
+ #: ../settings.php:151 ../settings.php:176
898
  msgid "Registration form"
899
  msgstr "Registrierungsformular"
900
 
901
+ #: ../settings.php:177
902
  msgid "Enable reCAPTCHA for WooCommerce registration form"
903
  msgstr "Aktiviere reCAPTCHA für das WooCommerce Registrierungsformular"
904
 
905
+ #: ../settings.php:179
906
  msgid "Enable reCAPTCHA for WordPress lost password form"
907
  msgstr "Aktiviere reCAPTCHA für das WordPress Passwort-Vergessen-Formular"
908
 
909
+ #: ../settings.php:180
910
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
911
  msgstr "Aktiviere reCAPTCHA für das WooCommerce Passwort-Vergessen-Formular"
912
 
913
+ #: ../settings.php:183
914
  msgid "Enable reCAPTCHA for WooCommerce login form"
915
  msgstr "Aktiviere reCAPTCHA für das WooCommerce Anmeldeformular"
916
 
917
+ #: ../common.php:641
918
  msgid "Request to the Google reCAPTCHA service failed"
919
  msgstr "Anfrage an den Google reCAPTCHA Dienst gescheitert"
920
 
921
+ #: ../dashboard.php:1324 ../dashboard.php:1354
922
  msgid "View all"
923
  msgstr "Zeige alle"
924
 
925
+ #: ../dashboard.php:1355
926
  msgid "Recently locked out IP addresses"
927
  msgstr "Kürzlich ausgesperrte IP-Adressen"
928
 
929
  #. "OK, vernichte sie alle" is a nicer translation for "OK, kill them all" ... too harsh or does it fit?
930
+ #: ../cerber-lab.php:667
931
  #, fuzzy
932
  msgid "OK, nail them all"
933
  msgstr "OK, vernichte sie alle"
934
 
935
+ #: ../cerber-lab.php:668
936
  msgid "NO, maybe later"
937
  msgstr "NEIN, vielleicht später"
938
 
939
  #. Dashboard is in German more common in this context as the actual translation "Amaturenbrett" which is only used for non-digital things like in cars!
940
+ #: ../dashboard.php:917 ../dashboard.php:1141 ../dashboard.php:1672 ../settings.
941
+ #: php:350
942
  #, fuzzy
943
  msgid "Dashboard"
944
  msgstr "Dashboard"
945
 
946
+ #: ../cerber-lab.php:665
947
  msgid "Want to make WP Cerber even more powerful?"
948
  msgstr "Wollen Sie WP Cerber noch stärker machen?"
949
 
950
+ #: ../cerber-lab.php:666
951
  msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
952
  msgstr "Erlaube WP Cerber ausgesperrte bösartige IP-Adressen an das Cerber Lab zu senden. Dies hilft dem Plugin-Team neue Algorithmen für WP Cerber zu entwickeln, die WordPress gegen täglich auftretende neue Bedrohungen und Botnets verteidigen. Sie können das Senden jederzeit in den Plugin-Einstellungen deaktivieren."
953
 
954
+ #: ../dashboard.php:489
955
  msgid "IP address"
956
  msgstr "IP-Adresse"
957
 
958
+ #: ../dashboard.php:489
959
  msgid "User login"
960
  msgstr "Benutzer-Anmeldung"
961
 
962
+ #: ../dashboard.php:489
963
  msgid "User ID"
964
  msgstr "Benutzer-ID"
965
 
966
+ #: ../dashboard.php:669
967
  msgid "Export"
968
  msgstr "Export"
969
 
970
+ #: ../dashboard.php:689
971
  msgid "Search for IP or username"
972
  msgstr "Suche nach IP oder Nutzernamen"
973
 
974
+ #: ../dashboard.php:689
975
  msgid "Filter"
976
  msgstr "Filter"
977
 
978
+ #: ../dashboard.php:917
979
  msgid "Cerber Dashboard"
980
  msgstr "Cerber Dashboard"
981
 
982
+ #: ../dashboard.php:927
983
  msgid "Cerber tools"
984
  msgstr "Cerber Werkzeuge"
985
 
986
+ #: ../dashboard.php:1582
987
  msgid "Subscribe"
988
  msgstr "Abonnieren"
989
 
990
+ #: ../dashboard.php:1583 ../cerber-tools.php:266
991
  msgid "Unsubscribe"
992
  msgstr "Abmelden"
993
 
994
+ #: ../dashboard.php:1611
995
  #, fuzzy
996
  msgid "You've subscribed"
997
  msgstr "Erfolgreich abonniert"
998
 
999
+ #: ../dashboard.php:1614
1000
  #, fuzzy
1001
  msgid "You've unsubscribed"
1002
  msgstr "Erfolgreich abgemeldet"
1003
 
1004
+ #: ../wp-cerber.php:3203 ../wp-cerber.php:3204
1005
  msgid "A new activity has been recorded"
1006
  msgstr "Eine neue Aktivität wurde aufgezeichnet"
1007
 
1008
+ #: ../wp-cerber.php:3665
1009
  msgid "User"
1010
  msgstr "Benutzer"
1011
 
1012
+ #: ../wp-cerber.php:3673
1013
  msgid "Search string"
1014
  msgstr "Such-String"
1015
 
1016
+ #: ../wp-cerber.php:3694
1017
  msgid "To unsubscribe click here"
1018
  msgstr "Zum Abmelden hier klicken"
1019
 
1020
+ #: ../settings.php:100
1021
  msgid "Preferences"
1022
  msgstr "Präferenzen"
1023
 
1024
+ #: ../settings.php:102
1025
  msgid "Date format"
1026
  msgstr "Datumsformat"
1027
 
1028
+ #: ../settings.php:102
1029
  msgid "if empty, the default format %s will be used"
1030
  msgstr "wenn leer, dann wird das Standard Format %s verwendet"
1031
 
1032
+ #: ../dashboard.php:1137 ../settings.php:211
1033
  msgid "Push notifications"
1034
  msgstr "Push-Benachrichtigungen"
1035
 
1036
+ #: ../settings.php:194
1037
  msgid "Email notifications"
1038
  msgstr "Email-Benachrichtigungen"
1039
 
1040
+ #: ../settings.php:201 ../settings.php:233 ../settings.php:282
1041
  msgid "Use comma to specify multiple values"
1042
  msgstr "Mit Komma mehrere Werte trennen"
1043
 
1044
+ #: ../settings.php:218
1045
  msgid "All connected devices"
1046
  msgstr "Alle verbundenen Geräte"
1047
 
1048
+ #: ../settings.php:219
1049
  msgid "No devices found"
1050
  msgstr "Kein Gerät gefunden"
1051
 
1052
+ #: ../settings.php:221
1053
  msgid "Not available"
1054
  msgstr "Nicht verfügbar"
1055
 
1056
+ #: ../common.php:637
1057
  msgid "Password reset requested"
1058
  msgstr "Passwort Zurücksetzung angefordert"
1059
 
1060
+ #: ../common.php:692
1061
  msgid "Limit on failed reCAPTCHA verifications is reached"
1062
  msgstr "Grenze an fehlgeschlagenen reCAPTCHA ist erreicht"
1063
 
1064
+ #: ../common.php:750
1065
  msgid "%s ago"
1066
  msgstr "vor %s"
1067
 
1068
+ #: ../settings.php:74
1069
  msgid "Apply limit login rules to IP addresses in the White IP Access List"
1070
  msgstr "Eingeschränkte Zugangsregeln für IP Adresse in der White IP Liste anwenden"
1071
 
1072
+ #: ../settings.php:83
1073
  msgid "Display 404 page"
1074
  msgstr "Zeige 404 Seite"
1075
 
1076
+ #: ../settings.php:174
1077
  msgid "Invisible reCAPTCHA"
1078
  msgstr "Unsichtbares reCAPTCHA"
1079
 
1080
+ #: ../settings.php:174
1081
  msgid "Enable invisible reCAPTCHA"
1082
  msgstr "Unsichtbares reCAPTCHA aktivieren"
1083
 
1084
+ #: ../settings.php:174
1085
  msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
1086
  msgstr "(nicht anwenden, sofern nicht Seite betreten wurde und Geheimschlüssel für unsichtbare Version erhalten)"
1087
 
1088
+ #: ../settings.php:185
1089
  msgid "Enable reCAPTCHA for WordPress comment form"
1090
  msgstr "reCAPTCHA für WordPress Kommentarformular aktivieren"
1091
 
1092
+ #: ../settings.php:186
1093
  msgid "Disable reCAPTCHA for logged in users"
1094
  msgstr "reCAPTCHA für angemeldete Benutzer deaktivieren"
1095
 
1096
+ #: ../settings.php:188
1097
  msgid "Limit attempts"
1098
  msgstr "Versuche Einschränken"
1099
 
1100
+ #: ../settings.php:188
1101
  msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1102
  msgstr "IP Adresse für %s Minuten nach %s fehlgeschlagenen Versuchen innerhalb von %s Minuten sperren"
1103
 
1104
+ #: ../settings.php:319
1105
  msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
1106
  msgstr "Im Citadel Modus kann sich niemand einloggen, außer IPs auf der White IP Zugangsliste. Laufende Sitzungen werden nicht beeinflusst."
1107
 
1108
+ #: ../dashboard.php:489 ../dashboard.php:647
1109
  msgid "Event"
1110
  msgstr "Ereignis"
1111
 
1112
+ #: ../common.php:137
1113
  msgid "Spam comments denied"
1114
  msgstr "Spam Kommentare verweigert"
1115
 
1116
+ #: ../common.php:139
1117
  msgid "Malicious IP addresses detected"
1118
  msgstr "Schadhafte IP Adresse gefunden"
1119
 
1120
+ #: ../common.php:140
1121
  msgid "Lockouts occurred"
1122
  msgstr "Sperre aufgetreten"
1123
 
1124
+ #: ../dashboard.php:1333
1125
  msgid "All suspicious activity"
1126
  msgstr "Alle verdächtigen Aktivitäten"
1127
 
1128
+ #: ../wp-cerber.php:1043 ../wp-cerber.php:1049 ../wp-cerber.php:1065 ../wp-cerber.
1129
+ #: php:1072
1130
  msgid "You are not allowed to register."
1131
  msgstr "Registrierung nicht erlaubt."
1132
 
1133
+ #: ../common.php:622
1134
  msgid "Spam comment denied"
1135
  msgstr "Spam Kommentar verweigert"
1136
 
1137
+ #: ../common.php:647
1138
  msgid "Attempt to log in denied"
1139
  msgstr "Loginversuch verweigert"
1140
 
1141
+ #: ../common.php:648
1142
  msgid "Attempt to register denied"
1143
  msgstr "Registrierungsversuch verweigert"
1144
 
1145
+ #: ../common.php:134
1146
  msgid "Malicious activities mitigated"
1147
  msgstr "Schadhafte Aktivitäten gemildert"
1148
 
1149
+ #: ../dashboard.php:926
1150
  msgid "Cerber antispam settings"
1151
  msgstr "Cerber Antispam-Einstellungen"
1152
 
1153
+ #: ../dashboard.php:926 ../dashboard.php:1144 ../wp-cerber.php:3889 ../settings.
1154
+ #: php:185
1155
  msgid "Antispam"
1156
+ msgstr "Spam-Schutz"
1157
 
1158
+ #: ../settings.php:149
1159
  msgid "Cerber antispam engine"
1160
+ msgstr "Cerber Anti-Spam Engine"
1161
 
1162
+ #: ../settings.php:150
1163
  msgid "Comment form"
1164
  msgstr "Kommentarformular"
1165
 
1166
+ #: ../settings.php:150
1167
  msgid "Protect comment form with bot detection engine"
1168
+ msgstr "Schützen Sie das Kommentarformular mit der Bot-Erkennung"
1169
 
1170
+ #: ../settings.php:151
1171
  msgid "Protect registration form with bot detection engine"
1172
+ msgstr "Schützen Sie das Registrierungsformular mit Bot-Erkennung"
1173
 
1174
  #: ../cerber-tools.php:48
1175
  msgid "Export & Import"
1183
  msgid "License"
1184
  msgstr "Lizenz"
1185
 
1186
+ #: ../cerber-tools.php:336
1187
  msgid "Antispam and bot detection settings"
1188
  msgstr "Antispam- und Bot-Erkennungseinstellungen"
1189
 
1190
+ #: ../wp-cerber.php:1308
1191
  msgid "Sorry, human verification failed."
1192
  msgstr "Entschuldigung, der Menschlichkeitsnachweis ist fehlgeschlagen.\n"
1193
  ""
1194
 
1195
+ #: ../common.php:693
1196
  msgid "Bot activity is detected"
1197
  msgstr "Bot-Aktivität wurde erkannt"
1198
 
1199
+ #: ../settings.php:166
1200
  msgid "Comment processing"
1201
  msgstr "Kommentarverarbeitung"
1202
 
1203
+ #: ../settings.php:167
1204
  msgid "If a spam comment detected"
1205
  msgstr "wenn ein Spam-Kommentar erkannt wird"
1206
 
1207
+ #: ../settings.php:168
1208
  msgid "Trash spam comments"
1209
  msgstr "Spam-Kommentar in den Papierkorb legen"
1210
 
1211
+ #: ../settings.php:168
1212
  msgid "Move spam comments to trash after"
1213
  msgstr "Verschieben Sie die Spam-Kommentare anschließend in den Papierkorb"
1214
 
1215
+ #: ../common.php:623
1216
  msgid "Spam form submission denied"
1217
+ msgstr "Spam in Formular geblockt"
1218
 
1219
+ #: ../settings.php:152
1220
  msgid "Other forms"
1221
  msgstr "andere Formulare"
1222
 
1223
+ #: ../settings.php:152
1224
  msgid "Protect all forms on the website with bot detection engine"
1225
  msgstr "Schützen Sie alle Formulare auf der Website mit der Bot-Erkennungs-Engine"
1226
 
1227
+ #: ../settings.php:154
1228
  msgid "Adjust antispam engine"
1229
  msgstr "Passen Sie die Anti-Spam-Engine an"
1230
 
1231
+ #: ../settings.php:155
1232
  msgid "Safe mode"
1233
  msgstr "Abgesicherter Modus"
1234
 
1235
+ #: ../settings.php:155
1236
  msgid "Use less restrictive policies (allow AJAX)"
1237
  msgstr "Weniger restriktive Richtlinien verwenden (AJAX zulassen)"
1238
 
1239
+ #: ../dashboard.php:2705 ../settings.php:156
1240
  msgid "Logged in users"
1241
  msgstr "Angemeldete Benutzer"
1242
 
1243
+ #: ../settings.php:156
1244
  msgid "Disable bot detection engine for logged in users"
1245
  msgstr "Deaktivieren der Bot-Erkennungs-Engine für eingeloggte Benutzer"
1246
 
1249
  msgid "WP Cerber Security & Antispam"
1250
  msgstr "WP Cerber Security & Antispam"
1251
 
1252
+ #: ../dashboard.php:95 ../dashboard.php:645
1253
  msgid "Country"
1254
  msgstr "Land"
1255
 
1256
+ #: ../dashboard.php:680
1257
  msgid "All events"
1258
  msgstr "Alle Ereignisse"
1259
 
1260
+ #: ../dashboard.php:923
1261
  msgid "Cerber Security Rules"
1262
  msgstr "Cerber Sicherheitsregeln"
1263
 
1264
+ #: ../dashboard.php:923 ../dashboard.php:2040
1265
  msgid "Security Rules"
1266
  msgstr "Sicherheitsregeln"
1267
 
1268
+ #: ../dashboard.php:1000
1269
  msgid "Failed login attempts"
1270
  msgstr "Fehlgeschlagene Anmeldeversuche"
1271
 
1272
+ #: ../dashboard.php:1001
1273
  msgid "Registered"
1274
  msgstr "Registriert"
1275
 
1276
+ #: ../dashboard.php:1068
1277
  msgid "You"
1278
  msgstr "Du"
1279
 
1280
+ #: ../common.php:138
1281
  msgid "Spam form submissions denied"
1282
  msgstr "Spam Formular-Übermittlungen verweigert\n"
1283
  ""
1284
 
1285
+ #: ../dashboard.php:1390 ../wp-cerber.php:3193 ../wp-cerber.php:3882
1286
  msgid "Getting Started Guide"
1287
  msgstr "Leitfaden für den Einstieg"
1288
 
1289
+ #: ../dashboard.php:2045
1290
  msgid "Countries"
1291
  msgstr "Länder"
1292
 
1293
+ #: ../dashboard.php:2108
1294
  msgid "Permitted for one country"
1295
  msgid_plural "Permitted for %d countries"
1296
  msgstr[0] "Erlaubt für ein Land"
1297
  msgstr[1] "Erlaubt für %d Länder"
1298
 
1299
+ #: ../dashboard.php:2119
1300
  msgid "No rule"
1301
  msgstr "Keine Regel"
1302
 
1303
+ #: ../dashboard.php:2331
1304
  msgid "Security rules have been updated"
1305
  msgstr "Sicherheitsregeln wurden aktualisiert"
1306
 
1309
  msgid "https://wpcerber.com"
1310
  msgstr "https://wpcerber.com"
1311
 
1312
+ #: ../common.php:624
1313
  msgid "Form submission denied"
1314
  msgstr "Formular-Übermittlung verweigert"
1315
 
1316
+ #: ../common.php:625
1317
  msgid "Comment denied"
1318
  msgstr "Kommentar verweigert"
1319
 
1320
+ #: ../common.php:651
1321
  msgid "Request to REST API denied"
1322
  msgstr "Anfrage an REST API verweigert"
1323
 
1324
+ #: ../common.php:652
1325
  msgid "XML-RPC request denied"
1326
  msgstr "XML-RPC-Anfrage verweigert"
1327
 
1328
+ #: ../common.php:656
1329
  msgid "Bot detected"
1330
  msgstr "Bot erkannt"
1331
 
1332
+ #: ../common.php:657
1333
  msgid "Citadel mode is active"
1334
  msgstr "Citadel-Modus ist aktiv"
1335
 
1336
+ #: ../common.php:662
1337
  msgid "Malicious activity detected"
1338
  msgstr "Bösartige Aktivität entdeckt"
1339
 
1340
+ #: ../common.php:663
1341
  msgid "Blocked by country rule"
1342
  msgstr "Gesperrt durch Länderregel"
1343
 
1344
+ #: ../common.php:664
1345
  msgid "Limit reached"
1346
  msgstr "Limit erreicht"
1347
 
1348
+ #: ../common.php:665
1349
  msgid "Multiple suspicious activities"
1350
  msgstr "Mehrere verdächtige Aktivitäten"
1351
 
1352
+ #: ../common.php:694
1353
  msgid "Multiple suspicious activities were detected"
1354
  msgstr "Mehrere verdächtige Aktivitäten erkannt"
1355
 
1356
+ #: ../settings.php:110
1357
  msgid "Block access to user pages like /?author=n and user data via REST API"
1358
  msgstr "Blockieren Sie den Zugriff auf Benutzerseiten wie /? Author = n und Benutzerdaten über die REST-API"
1359
 
1360
+ #: ../settings.php:113
1361
  msgid "Block access to the WordPress REST API except the following"
1362
+ msgstr "Zugriffe auf WordPress REST API blockieren mit Ausnahme der folgenden"
1363
 
1364
+ #: ../settings.php:114
1365
  msgid "Allow REST API for logged in users"
1366
+ msgstr "REST API für angemeldete Benutzer erlauben"
1367
 
1368
+ #: ../settings.php:121
1369
  msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
1370
+ msgstr "Geben Sie die REST API Namespaces an, die zugelassen werden sollen, falls die REST API deaktiviert ist. Ein String pro Zeile."
1371
 
1372
+ #: ../settings.php:132
1373
  msgid "Registration limit"
1374
+ msgstr "Registrierungs-Beschränkung"
1375
 
1376
+ #: ../settings.php:142
1377
  msgid "Sort users in dashboard"
1378
+ msgstr "Benutzer im Dashboard sortieren"
1379
 
1380
+ #: ../settings.php:142
1381
  msgid "by date of registration"
1382
+ msgstr "nach Registrierungsdatum"
1383
 
1384
+ #: ../settings.php:157
1385
  msgid "Query whitelist"
1386
+ msgstr "IP Whitelist abfragen"
1387
 
1388
+ #: ../settings.php:482 ../settings.php:604
1389
  msgid "%s allowed registrations in %s minutes from one IP"
1390
+ msgstr "%s erlaubte Registrierungen innerhalb von %s Minuten von derselben IP"
1391
 
1392
+ #: ../dashboard.php:2175
1393
  msgid "Start typing here to find a country"
1394
+ msgstr "Beginnen Sie hier mit der Eingabe, um ein Land zu finden"
1395
 
1396
+ #: ../dashboard.php:2258
1397
  msgid "Click on a country name to add it to the list of selected countries"
1398
+ msgstr "Klicken Sie auf einen Ländernamen, um ihn zur Liste der ausgewählten Länder hinzuzufügen"
1399
 
1400
+ #: ../dashboard.php:2282
1401
  msgid "Submit forms"
1402
+ msgstr "Formulare absenden"
1403
 
1404
+ #: ../dashboard.php:2283
1405
  msgid "Post comments"
1406
+ msgstr "Kommentare veröffentlichen"
1407
 
1408
+ #: ../dashboard.php:2284
1409
  msgid "Log in to the website"
1410
+ msgstr "Auf der Website anmelden"
1411
 
1412
+ #: ../dashboard.php:2285
1413
  msgid "Register on the website"
1414
+ msgstr "Auf der Website registrieren"
1415
 
1416
+ #: ../dashboard.php:2286
1417
  msgid "Use XML-RPC"
1418
+ msgstr "XML-RPC benutzen"
1419
 
1420
+ #: ../dashboard.php:2287
1421
  msgid "Use REST API"
1422
+ msgstr "REST API benutzen"
1423
 
1424
+ #: ../settings.php:167
1425
  msgid "Deny it completely"
1426
+ msgstr "Alles verbieten"
1427
 
1428
+ #: ../settings.php:167
1429
  msgid "Mark it as spam"
1430
+ msgstr "Als Spam markieren"
1431
 
1432
+ #: ../dashboard.php:1318
1433
  msgid "in the last 24 hours"
1434
+ msgstr "in den letzten 24 Stunden"
1435
 
1436
+ #: ../dashboard.php:1673
1437
  msgid "Main settings"
1438
+ msgstr "Haupteinstellungen"
1439
 
1440
+ #: ../settings.php:225
1441
  msgid "Weekly reports"
1442
+ msgstr "Wöchentliche Berichte"
1443
 
1444
+ #: ../settings.php:701
1445
  msgid "Sunday"
1446
+ msgstr "Sonntag"
1447
 
1448
+ #: ../settings.php:702
1449
  msgid "Monday"
1450
+ msgstr "Montag"
1451
 
1452
+ #: ../settings.php:703
1453
  msgid "Tuesday"
1454
+ msgstr "Dienstag"
1455
 
1456
+ #: ../settings.php:704
1457
  msgid "Wednesday"
1458
+ msgstr "Mittwoch"
1459
 
1460
+ #: ../settings.php:705
1461
  msgid "Thursday"
1462
+ msgstr "Donnerstag"
1463
 
1464
+ #: ../settings.php:706
1465
  msgid "Friday"
1466
+ msgstr "Freitag"
1467
 
1468
+ #: ../settings.php:707
1469
  msgid "Saturday"
1470
+ msgstr "Samstag"
1471
 
1472
+ #: ../settings.php:760 ../settings.php:761
1473
  msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
1474
+ msgstr "Wenn Sie ein Caching-Plugin verwenden, müssen Sie Ihre neue Anmelde-URL zur Liste der Seiten hinzufügen, die nicht gecached werden sollen."
1475
 
1476
  #. translators: preposition of time
1477
+ #: ../settings.php:717
1478
  msgctxt "preposition of time"
1479
  msgid "at"
1480
+ msgstr "um"
1481
 
1482
+ #: ../wp-cerber.php:3209
1483
  msgid "Weekly report"
1484
+ msgstr "Wöchentlicher Bericht"
1485
 
1486
+ #: ../wp-cerber.php:3212
1487
  msgid "To change reporting settings visit"
1488
+ msgstr "Um die Einstellungen für die Berichte zu ändern besuchen Sie"
1489
 
1490
+ #: ../wp-cerber.php:3238
1491
  msgid "Your login page:"
1492
+ msgstr "Ihre Anmeldeseite:"
1493
 
1494
+ #: ../wp-cerber.php:3242
1495
  msgid "Your license is valid until"
1496
+ msgstr "Ihre Lizenz ist gültig bis"
1497
 
1498
+ #: ../wp-cerber.php:3355
1499
  msgid "Activity details"
1500
+ msgstr "Aktivitätsdetails"
1501
 
1502
+ #: ../settings.php:733
1503
  msgid "Click to send now"
1504
+ msgstr "Klicken Sie, um jetzt zu senden"
1505
 
1506
+ #: ../wp-cerber.php:705
1507
  msgid "> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/"
1508
+ msgstr "> > > Sind Sie ein Übersetzer von WP Cerber? Um eine kostenlose PRO-Lizenz zu erhalten, kontaktieren Sie uns über https://wpcerber.com/contact/"
1509
 
1510
+ #: ../dashboard.php:378
1511
  msgid "Email has been sent to"
1512
+ msgstr "E-Mail wurde gesendet an"
1513
 
1514
+ #: ../dashboard.php:381
1515
  msgid "Unable to send email to"
1516
+ msgstr "E-Mail kann nicht gesendet werden an"
1517
 
1518
+ #: ../dashboard.php:2111
1519
  msgid "Not permitted for one country"
1520
  msgid_plural "Not permitted for %d countries"
1521
+ msgstr[0] "Nicht erlaubt für 1 Land"
1522
+ msgstr[1] "Nicht erlaubt für %d Länder"
1523
 
1524
+ #: ../dashboard.php:2262
1525
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1526
  msgid "Selected countries are permitted to %s, other countries are not permitted to"
1527
  msgstr ""
1528
 
1529
+ #: ../dashboard.php:2265
1530
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1531
  msgid "Selected countries are not permitted to %s, other countries are permitted to"
1532
  msgstr ""
1534
  #. Description of the plugin
1535
  #:
1536
  msgid "Protects site from brute force attacks, bots and hackers. Antispam protection with the Cerber antispam engine and reCAPTCHA. Comprehensive control of user activity. Restrict login by IP access lists. Limit login attempts. Know more: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1537
+ msgstr "Schützt die Website vor Bruteforce-Angriffen, Bots und Hackern. Schutz gegen Spam durch die Cerber Antispam Engine und reCAPTCHA. Umfassende Kontrolle der Benutzeraktivitäten. Anmeldebeschränkung über IP-Zugangslisten. Limitiert die Anzahl der Anmeldeversuche. Mehr Informationen: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1538
 
1539
+ #: ../wp-cerber.php:3343
1540
  msgid "Weekly Report"
1541
+ msgstr "Wöchentlicher Bericht"
1542
 
1543
+ #: ../settings.php:83
1544
  msgid "Use 404 template from the active theme"
1545
+ msgstr "404-Template des aktiven Themes nutzen"
1546
 
1547
+ #: ../settings.php:83
1548
  msgid "Display simple 404 page"
1549
+ msgstr "Einfache 404-Seite anzeigen"
1550
 
1551
+ #: ../settings.php:163
1552
  msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
1553
+ msgstr "Geben Sie einen Teil eines Query Strings oder eines Query Paths ein, um einen Request von der Untersuchung auszuschliessen. Ein Eintrag pro Zeile."
1554
 
1555
+ #: ../settings.php:238
1556
  msgid "if empty, email from notification settings will be used"
1557
+ msgstr "leer lassen, um die E-Mail-Adresse von den Benachrichtigungseinstellungen zu verwenden"
1558
 
1559
+ #: ../settings.php:226
1560
  msgid "Enable reporting"
1561
+ msgstr "Berichte aktivieren"
1562
 
1563
+ #: ../wp-cerber.php:3265
1564
  msgid "Your last sign-in was %s from %s"
1565
+ msgstr "Ihre letzte Anmeldung war am %s von %s aus"
1566
 
1567
+ #: ../wp-cerber.php:3369
1568
  msgid "Attempts to log in with non-existent username"
1569
+ msgstr "Anmeldeversuche mit nicht existierendem Benutzernamen"
1570
 
1571
  #: ../dashboard.php:167
1572
  msgid "IP address, IPv4 address range or subnet"
1573
+ msgstr "IP-Adresse, IPv4-Adressbereich oder Subnetz"
1574
 
1575
  #: ../dashboard.php:169
1576
  msgid "Optional comment for this entry"
1577
+ msgstr "Optionaler Kommentar zu diesem Eintrag"
1578
 
1579
  #: ../dashboard.php:210
1580
  msgid "You cannot add your IP address or network"
1581
+ msgstr "Sie können Ihre IP-Adresse oder Ihr Netzwerk nicht hinzufügen."
1582
 
1583
+ #: ../cerber-news.php:141
1584
  msgid "Cool!"
1585
+ msgstr "Cool!"
1586
 
1587
+ #: ../settings.php:139
1588
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
1589
+ msgstr "Um einen REGEX-Ausdruck zu definieren umschliessen Sie diesen mit zwei Vorwärts-Schrägstrichen"
1590
+
1591
+ #: ../dashboard.php:919
1592
+ msgid "Cerber Traffic Inspector"
1593
+ msgstr ""
1594
+
1595
+ #: ../dashboard.php:919 ../dashboard.php:2380
1596
+ msgid "Traffic Inspector"
1597
+ msgstr ""
1598
+
1599
+ #: ../dashboard.php:1143
1600
+ msgid "Traffic"
1601
+ msgstr ""
1602
+
1603
+ #: ../dashboard.php:2385
1604
+ msgid "Live traffic"
1605
+ msgstr ""
1606
+
1607
+ #: ../dashboard.php:2673
1608
+ msgid "Request"
1609
+ msgstr ""
1610
+
1611
+ #: ../dashboard.php:2675
1612
+ msgid "Host Info"
1613
+ msgstr ""
1614
+
1615
+ #: ../dashboard.php:2676
1616
+ msgid "User Agent"
1617
+ msgstr ""
1618
+
1619
+ #: ../dashboard.php:2696
1620
+ msgid "No requests has been logged."
1621
+ msgstr ""
1622
+
1623
+ #: ../dashboard.php:2704
1624
+ msgid "All requests"
1625
+ msgstr ""
1626
+
1627
+ #: ../dashboard.php:2706
1628
+ msgid "Not logged in visitors"
1629
+ msgstr ""
1630
+
1631
+ #: ../dashboard.php:2707
1632
+ msgid "Form submissions"
1633
+ msgstr ""
1634
+
1635
+ #: ../dashboard.php:2708
1636
+ msgid "Page Not Found"
1637
+ msgstr ""
1638
+
1639
+ #: ../dashboard.php:2709
1640
+ msgid "REST API"
1641
+ msgstr ""
1642
+
1643
+ #: ../dashboard.php:2710
1644
+ msgid "XML-RPC"
1645
+ msgstr ""
1646
+
1647
+ #: ../dashboard.php:2714
1648
+ msgid "Longer than"
1649
+ msgstr ""
1650
+
1651
+ #: ../dashboard.php:2725
1652
+ msgid "Refresh"
1653
+ msgstr ""
1654
+
1655
+ #: ../common.php:101
1656
+ msgid "Check for requests"
1657
+ msgstr ""
1658
+
1659
+ #: ../common.php:649 ../common.php:695
1660
+ msgid "Probing for vulnerable PHP script"
1661
+ msgstr ""
1662
+
1663
+ #: ../common.php:910
1664
+ msgid "Not specified"
1665
+ msgstr ""
1666
+
1667
+ #: ../settings.php:245
1668
+ msgid "Logging settings"
1669
+ msgstr ""
1670
+
1671
+ #: ../settings.php:254
1672
+ msgid "Logging mode"
1673
+ msgstr ""
1674
+
1675
+ #: ../settings.php:260
1676
+ msgid "Logging disabled"
1677
+ msgstr ""
1678
+
1679
+ #: ../settings.php:261
1680
+ msgid "Smart"
1681
+ msgstr ""
1682
+
1683
+ #: ../settings.php:262
1684
+ msgid "All traffic"
1685
+ msgstr ""
1686
+
1687
+ #: ../settings.php:266
1688
+ msgid "Ignore crawlers"
1689
+ msgstr ""
1690
+
1691
+ #: ../settings.php:276
1692
+ msgid "Mask these form fields"
1693
+ msgstr ""
1694
+
1695
+ #: ../settings.php:291
1696
+ msgid "milliseconds"
1697
+ msgstr ""
1698
+
1699
+ #: ../settings.php:246
1700
+ msgid "Inspection"
1701
+ msgstr ""
1702
+
1703
+ #: ../settings.php:247
1704
+ msgid "Enable traffic inspection"
1705
+ msgstr ""
1706
+
1707
+ #: ../settings.php:253
1708
+ msgid "Logging"
1709
+ msgstr ""
1710
+
1711
+ #: ../settings.php:271
1712
+ msgid "Save request fields"
1713
+ msgstr ""
1714
+
1715
+ #: ../settings.php:286
1716
+ msgid "Page generation time threshold"
1717
  msgstr ""
1718
 
languages/wp-cerber-nb_NO.mo CHANGED
Binary file
languages/wp-cerber-nb_NO.po CHANGED
@@ -4,433 +4,416 @@ msgstr ""
4
  "Content-Type: text/plain; charset=UTF-8\n"
5
  "Content-Transfer-Encoding: 8bit\n"
6
  "X-Generator: POEditor.com\n"
7
- "Project-Id-Version: WP Cerber\n"
8
  "Language: nb\n"
9
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
10
 
11
- #: ../settings.php:59
12
  msgid "Limit login attempts"
13
  msgstr "Begrens innloggingsforsøk"
14
 
15
- #: ../settings.php:60
16
  msgid "Attempts"
17
  msgstr "Forsøk"
18
 
19
- #: ../settings.php:61
20
  msgid "Lockout duration"
21
  msgstr "Varighet for utestengelse"
22
 
23
- #: ../common.php:353 ../settings.php:61 ../settings.php:78
24
  msgid "minutes"
25
  msgstr "minutter"
26
 
27
- #: ../settings.php:62
28
  msgid "Aggressive lockout"
29
  msgstr "Aggressiv utestengelse"
30
 
31
- #: ../settings.php:64
32
  msgid "Site connection"
33
  msgstr "Sidetilkobling"
34
 
35
- #: ../settings.php:66
36
  msgid "Proactive security rules"
37
  msgstr "Proaktive sikkerhetsregler"
38
 
39
- #: ../settings.php:67
40
  msgid "Block subnet"
41
  msgstr "Blokkér subnet"
42
 
43
- #: ../settings.php:70
44
  msgid "Request wp-login.php"
45
  msgstr "Kobling til wp-login.php"
46
 
47
- #: ../settings.php:70
48
  msgid "Immediately block IP after any request to wp-login.php"
49
  msgstr "Blokkér umiddelbart IP-en etter ethvert forsøk på å koble til wp-login.php"
50
 
51
- #: ../settings.php:69
52
  msgid "Redirect dashboard requests"
53
  msgstr "Omdiriger kontrollpanel-koblinger"
54
 
55
- #: ../settings.php:72
56
  msgid "Custom login page"
57
  msgstr "Egendefinert innloggingsside"
58
 
59
- #: ../settings.php:73
60
  msgid "Custom login URL"
61
  msgstr "Egendefinert URL for innlogging"
62
 
63
- #: ../settings.php:73
64
  msgid "must not overlap with the existing pages or posts slug"
65
  msgstr "må ikke være lik eksisterende sider eller slug"
66
 
67
- #: ../settings.php:74
68
  msgid "Disable wp-login.php"
69
  msgstr "Deaktiver wp-login.php"
70
 
71
- #: ../settings.php:74
72
  msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
73
  msgstr "Blokkér direkte tilgang til wp-login.php og returnér HTTP 404 Ikke Funnet-feil."
74
 
75
- #: ../dashboard.php:854 ../settings.php:76
76
  msgid "Citadel mode"
77
  msgstr "Vakttårnsmodus"
78
 
79
- #: ../settings.php:77
80
  msgid "Threshold"
81
  msgstr "Terskel"
82
 
83
- #: ../settings.php:78
84
  msgid "Duration"
85
  msgstr "Varighet"
86
 
87
- #: ../wp-cerber.php:2288 ../settings.php:63 ../settings.php:80 ../settings.php:235
88
  msgid "Notifications"
89
  msgstr "Varsling"
90
 
91
- #: ../settings.php:80
92
  msgid "Send notification to admin email"
93
  msgstr "Send varsel til admins e-postadresse"
94
 
95
- #: ../dashboard.php:863 ../dashboard.php:1304 ../wp-cerber.php:2286 ../settings.
96
- #: php:228 ../cerber-tools.php:59 ../cerber-tools.php:68 ../cerber-tools.php:178
97
  msgid "Access Lists"
98
  msgstr "Tilgangsliste"
99
 
100
- #: ../dashboard.php:330 ../dashboard.php:445 ../dashboard.php:861 ../dashboard.
101
- #: php:996 ../wp-cerber.php:2175 ../settings.php:87 ../settings.php:220
102
  msgid "Activity"
103
  msgstr "Aktivitet"
104
 
105
- #: ../dashboard.php:862 ../settings.php:223
106
  msgid "Lockouts"
107
  msgstr "Utestengelser"
108
 
109
- #: ../settings.php:326
110
  msgid "%s allowed retries in %s minutes"
111
  msgstr "%s tillatte forsøk på %s minutter"
112
 
113
- #: ../settings.php:343
114
  msgid "Enable after %s failed login attempts in last %s minutes"
115
  msgstr "Aktivér etter %s mislykkede innloggingsforsøk på %s minutter"
116
 
117
- #: ../dashboard.php:77 ../dashboard.php:445 ../wp-cerber.php:2176
 
118
  msgid "IP"
119
  msgstr "IP-adresse"
120
 
121
- #: ../dashboard.php:330 ../dashboard.php:445
122
  msgid "Date"
123
  msgstr "Dato"
124
 
125
- #: ../dashboard.php:330 ../dashboard.php:445
126
  msgid "Local User"
127
  msgstr "Lokal bruker"
128
 
129
- #: ../dashboard.php:330 ../dashboard.php:445 ../wp-cerber.php:2184
130
  msgid "Username used"
131
  msgstr "Brukernavn brukt"
132
 
133
- #: ../dashboard.php:83
134
  msgid "Showing last %d records from %d"
135
  msgstr "Viser siste %d oppføringer fra %d"
136
 
137
- #: ../common.php:255
138
  msgid "Logged in"
139
  msgstr "Logget inn"
140
 
141
- #: ../common.php:256
142
  msgid "Logged out"
143
  msgstr "Logget ut"
144
 
145
- #: ../common.php:257
146
  msgid "Login failed"
147
  msgstr "Innlogging feilet"
148
 
149
- #: ../common.php:260
150
  msgid "IP blocked"
151
  msgstr "IP blokkert"
152
 
153
- #: ../common.php:261
154
  msgid "Subnet blocked"
155
  msgstr "Subnet blokkert"
156
 
157
- #: ../common.php:263
158
  msgid "Citadel activated!"
159
  msgstr "Vakttårn aktivert!"
160
 
161
- #: ../dashboard.php:430 ../dashboard.php:615 ../common.php:265
 
162
  msgid "Locked out"
163
  msgstr "Utestengt"
164
 
165
- #: ../common.php:266
166
  msgid "IP blacklisted"
167
  msgstr "IP svartelistet"
168
 
169
- #: ../common.php:269
170
  msgid "Password changed"
171
  msgstr "Passord endret"
172
 
173
- #: ../dashboard.php:74 ../dashboard.php:123
174
  msgid "Remove"
175
  msgstr "Fjern"
176
 
177
- #: ../dashboard.php:260
178
  msgid "Lockout for %s was removed"
179
  msgstr "Utestengelse for %s ble fjernet"
180
 
181
- #: ../dashboard.php:102 ../dashboard.php:425 ../dashboard.php:610 ../dashboard.
182
- #: php:852 ../wp-cerber.php:2280 ../settings.php:185
 
183
  msgid "White IP Access List"
184
  msgstr "Hvit IP-tilgangsliste"
185
 
186
- #: ../dashboard.php:104 ../dashboard.php:426 ../dashboard.php:612 ../dashboard.
187
- #: php:853
188
  msgid "Black IP Access List"
189
  msgstr "Svart IP-tilgangsliste"
190
 
191
- #: ../dashboard.php:126
192
  msgid "List is empty"
193
  msgstr "Listen er tom"
194
 
195
- #: ../dashboard.php:148
196
  msgid "Address %s was added to White IP Access List"
197
  msgstr "Adressen %s ble lagt til den hvite IP-tilgangslisten"
198
 
199
- #: ../dashboard.php:161
200
  msgid "Address %s was added to Black IP Access List"
201
  msgstr "Adressen %s ble lagt til den svarte IP-tilgangslisten"
202
 
203
- #: ../wp-cerber.php:1889
204
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
205
  msgstr "Vakttårnsmodus ble aktivert etter %d mislykkede innloggingsforsøk på %d minutter"
206
 
207
- #: ../dashboard.php:1117
208
  msgid "View Activity"
209
  msgstr "Se aktivitet"
210
 
211
- #: ../cerber-tools.php:58 ../cerber-tools.php:67
212
  msgid "Settings"
213
  msgstr "Innstillinger"
214
 
215
- #: ../dashboard.php:755
216
  msgid "Last login"
217
  msgstr "Siste innlogging"
218
 
219
- #: ../dashboard.php:782 ../dashboard.php:835
220
  msgid "Never"
221
  msgstr "Aldri"
222
 
223
- #: ../dashboard.php:1038 ../dashboard.php:1433
224
  msgid "Are you sure?"
225
  msgstr "Er du sikker?"
226
 
227
- #: ../dashboard.php:685
228
- msgid "WP Cerber Settings"
229
- msgstr "WP Cerber-innstillinger"
230
-
231
- #: ../settings.php:64
232
  msgid "My site is behind a reverse proxy"
233
  msgstr "Min side er bak en reverse proxy"
234
 
235
- #: ../settings.php:68
236
  msgid "Non-existent users"
237
  msgstr "Ikke-eksisterende brukere"
238
 
239
- #: ../settings.php:68
240
  msgid "Immediately block IP when attempting to login with a non-existent username"
241
  msgstr "Blokkér umiddelbart IP når noen prøver å logge inn med et ikke-eksisterende brukernavn"
242
 
243
- #: ../settings.php:69
244
  msgid "Disable automatic redirecting to the login page when /wp-admin/ is requested by an unauthorized request"
245
  msgstr "Deaktivér automatisk omdirigering til innloggingssiden når /wp-admin/ blir forsøkt tilkoblet fra en uatorisert forespørsel"
246
 
247
- #: ../settings.php:167
248
  msgid "Make your protection smarter!"
249
  msgstr "Gjør din beskyttelse smartere!"
250
 
251
- #: ../settings.php:171
252
  msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
253
  msgstr "Vennligst "
254
 
255
- #: ../settings.php:174
256
  msgid "Be careful when enabling this options. If you forget the custom login URL you will not be able to login."
257
  msgstr "Vær forsiktig når du velger dette alternativet. Glemmer du din nye URL for innlogging, vil du ikke kunne logge deg inn."
258
 
259
- #: ../wp-cerber.php:2285 ../settings.php:225
260
  msgid "Main Settings"
261
  msgstr "Hovedinnstillinger"
262
 
263
- #: ../settings.php:239
264
  msgid "Help"
265
  msgstr "Hjelp"
266
 
267
- #: ../settings.php:331
268
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
269
  msgstr "Øk varigheten av utestengelser til %s timer etter %s utestengelser i løpet av de siste %s timer"
270
 
271
- #: ../wp-cerber.php:190
272
  msgid "You are not allowed to log in. Ask your administrator for assistance."
273
  msgstr "Du har ikke tillatelse til å logge inn. Spør din administrator om du trenger hjelp."
274
 
275
- #: ../wp-cerber.php:196
276
  msgid "You have reached the login attempts limit. Please try again in %d minutes."
277
  msgstr "Du har nådd grensen for antall tillatte innloggingsforsøk. Vennligst prøv igjen om %d minutter."
278
 
279
- #: ../wp-cerber.php:214
280
  msgid "You have only one attempt remaining."
281
  msgid_plural "You have %d attempts remaining."
282
  msgstr[0] "Du har kun ett forsøk igjen."
283
  msgstr[1] "Du har %d forsøk igjen."
284
 
285
- #: ../dashboard.php:458
286
  msgid "No activity has been logged."
287
  msgstr "Ingen aktivitet har blitt registrert."
288
 
289
- #: ../dashboard.php:77
290
  msgid "Expires"
291
  msgstr "Utgår"
292
 
293
- #: ../dashboard.php:89
294
  msgid "No lockouts at the moment. The sky is clear."
295
  msgstr "Ingen utestengelser akkurat nå. Kysten er klar."
296
 
297
- #: ../dashboard.php:102
298
  msgid "These IPs will never be locked out"
299
  msgstr "Disse IP-er vil aldri bli utestengt"
300
 
301
- #: ../dashboard.php:106
302
  msgid "Your IP"
303
  msgstr "Din IP"
304
 
305
- #: ../dashboard.php:157
306
- msgid "You can't add your IP address"
307
- msgstr "Du kan ikke legge til din IP-adresse"
308
-
309
- #: ../wp-cerber.php:1890
310
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
311
  msgstr "Siste mislykkede forsøk var %s fra IP %s med brukernavn %s."
312
 
313
- #: ../wp-cerber.php:1950
314
- msgid "Change notification settings"
315
- msgstr "Endre varslingsinnstillinger"
316
-
317
- #: ../wp-cerber.php:2263
318
  msgid "Can't activate WP Cerber due to a database error."
319
  msgstr "Kunne ikke aktivere WP Cerber på grunn av en databasefeil."
320
 
321
- #: ../settings.php:338
322
  msgid "Notify admin if the number of active lockouts above"
323
  msgstr "Varsle administratoren om antallet aktive utestengelser overskrider"
324
 
325
- #: ../common.php:351 ../settings.php:88
326
  msgid "days"
327
  msgstr "dager"
328
 
329
- #: ../dashboard.php:806
330
  msgid "Cerber Quick View"
331
  msgstr "Cerber hurtigvisning"
332
 
333
- #: ../dashboard.php:85
334
  msgid "Hint"
335
  msgstr "Hint"
336
 
337
- #: ../dashboard.php:85
338
  msgid "To view activity, click on the IP"
339
  msgstr "For å se aktivitet klikk på IP-en"
340
 
341
- #: ../dashboard.php:123 ../dashboard.php:642
342
  msgid "Check for activity"
343
  msgstr "Sjekk etter aktivitet"
344
 
345
- #: ../settings.php:67
346
  msgid "Always block entire subnet Class C of intruders IP"
347
  msgstr "Alltid blokkér hele subnet Class C av inntrengerens IP"
348
 
349
- #: ../settings.php:80 ../settings.php:340
350
  msgid "Click to send test"
351
  msgstr "Klikk for å sende test"
352
 
353
- #: ../settings.php:427
354
  msgid "Attention! You have changed the login URL! The new login URL is"
355
  msgstr "OBS! Du har endret innloggings-adressen. Din nye URL for innlogging er"
356
 
357
- #: ../dashboard.php:754
358
  msgid "Comments"
359
  msgstr "Kommentarer"
360
 
361
- #: ../dashboard.php:757
362
- msgid "Date of registration"
363
- msgstr "Registreringsdato"
364
-
365
- #: ../dashboard.php:252
366
- msgid "Message has been sent to "
367
- msgstr "Melding har blitt sendt til "
368
-
369
- #: ../dashboard.php:1179
370
  msgid "Update to version %s of WP Cerber"
371
  msgstr "Oppdatér til versjon %s av WP Cerber"
372
 
373
- #: ../wp-cerber.php:1891 ../wp-cerber.php:2200
374
  msgid "View activity in dashboard"
375
  msgstr "Se aktivitet i kontrollpanelet"
376
 
377
- #: ../wp-cerber.php:1918
378
  msgid "Number of active lockouts"
379
  msgstr "Antall aktive utestengelser"
380
 
381
- #: ../wp-cerber.php:1922
382
  msgid "View lockouts in dashboard"
383
  msgstr "Se utestengelser i kontrollpanelet"
384
 
385
- #: ../wp-cerber.php:1975
386
  msgid "This message was sent by"
387
  msgstr "Denne meldingen ble sendt av"
388
 
389
- #: ../dashboard.php:693 ../cerber-tools.php:40
390
  msgid "Tools"
391
  msgstr "Verktøy"
392
 
393
- #: ../cerber-tools.php:55
394
  msgid "Export settings to the file"
395
  msgstr "Eksportér innstillinger til filen"
396
 
397
- #: ../cerber-tools.php:56
398
  msgid "When you click the button below you will get a configuration file, which you can upload on another site."
399
  msgstr "Når du klikker knappen under, vil du få en konfigurasjonsfil som du kan laste opp på en annen side."
400
 
401
- #: ../cerber-tools.php:57
402
  msgid "What do you want to export?"
403
  msgstr "Hva ønsker du å eksportere?"
404
 
405
- #: ../cerber-tools.php:60
406
  msgid "Download file"
407
  msgstr "Last ned fil"
408
 
409
- #: ../cerber-tools.php:62
410
  msgid "Import settings from the file"
411
  msgstr "Importér innstillinger fra filen"
412
 
413
- #: ../cerber-tools.php:63
414
  msgid "When you click the button below, file will be uploaded and all existing settings will be overridden."
415
  msgstr "Når du klikker på knappen under, vil filen lastes opp og alle eksisterende innstillinger vil bli overskrevet."
416
 
417
- #: ../cerber-tools.php:64
418
  msgid "Select file to import."
419
  msgstr "Velg fil å importere."
420
 
421
- #: ../cerber-tools.php:64
422
  msgid "Maximum upload file size: %s."
423
  msgstr "Maksimum tillatte filstørrelse for opplasting: %s."
424
 
425
- #: ../cerber-tools.php:67
426
  msgid "What do you want to import?"
427
  msgstr "Hva ønsker du å importere?"
428
 
429
- #: ../cerber-tools.php:69
430
  msgid "Upload file"
431
  msgstr "Last opp fil"
432
 
433
- #: ../cerber-tools.php:148
434
  msgid "No file was uploaded or file is corrupted"
435
  msgstr "Ingen fil ble lastet opp, eller er filen ødelagt"
436
 
@@ -446,683 +429,1246 @@ msgstr "Innstillinger ble importert fra"
446
  msgid "Error while parsing file"
447
  msgstr "Feil under parsing av filen"
448
 
449
- #: ../dashboard.php:77 ../dashboard.php:445
450
  msgid "Hostname"
451
  msgstr "Vertsnavn"
452
 
453
- #: ../dashboard.php:232
454
  msgid "unknown"
455
  msgstr "ukjent"
456
 
457
- #: ../settings.php:88
458
  msgid "Keep records for"
459
  msgstr "Behold logger"
460
 
461
- #: ../dashboard.php:839
462
  msgid "active"
463
  msgstr "aktive"
464
 
465
- #: ../dashboard.php:839
466
  msgid "deactivate"
467
  msgstr "deaktiver"
468
 
469
- #: ../dashboard.php:841
470
  msgid "not active"
471
  msgstr "ikke aktive"
472
 
473
- #: ../dashboard.php:842
474
  msgid "disabled"
475
  msgstr "deaktivert"
476
 
477
- #: ../dashboard.php:847
478
  msgid "failed attempts"
479
  msgstr "mislykkede forsøk"
480
 
481
- #: ../dashboard.php:847 ../dashboard.php:848
482
  msgid "in 24 hours"
483
  msgstr "på 24 timer"
484
 
485
- #: ../dashboard.php:847 ../dashboard.php:848
486
  msgid "view all"
487
  msgstr "se alle"
488
 
489
- #: ../dashboard.php:848
490
  msgid "lockouts"
491
  msgstr "utestengelser"
492
 
493
- #: ../dashboard.php:850
494
  msgid "Lockouts at the moment"
495
  msgstr "Utestengelser akkurat nå"
496
 
497
- #: ../dashboard.php:851
498
  msgid "Last lockout"
499
  msgstr "Siste utestengelse"
500
 
501
- #: ../dashboard.php:852 ../dashboard.php:853 ../dashboard.php:1283
502
  msgid "entry"
503
  msgid_plural "entries"
504
  msgstr[0] "oppføring"
505
  msgstr[1] "oppføringer"
506
 
507
- #: ../dashboard.php:1033
508
  msgid "Confused about some settings?"
509
  msgstr "Usikker på noen innstillinger?"
510
 
511
- #: ../dashboard.php:1034
512
  msgid "You can easily load default recommended settings using button below"
513
  msgstr "Du kan enkelt laste inn anbefalte standardinnstillinger via knappen under"
514
 
515
- #: ../dashboard.php:1036
516
  msgid "Load default settings"
517
  msgstr "Last inn standardinnstillinger"
518
 
519
- #: ../dashboard.php:1044
520
  msgid "doesn't affect Custom login URL and Access Lists"
521
  msgstr "påvirker ikke egendefinert innloggings-URL og tilgangslister"
522
 
523
- #: ../dashboard.php:1063
524
- msgid "Donate"
525
- msgstr "Donér"
526
-
527
- #: ../dashboard.php:1173
528
  msgid "New version is available"
529
  msgstr "Ny versjon er tilgjengelig"
530
 
531
  #. Name of the plugin
532
- #: ../dashboard.php:685 ../dashboard.php:688 ../dashboard.php:717
533
  msgid "WP Cerber"
534
  msgstr "WP Cerber"
535
 
536
- #. URI of the plugin
537
- #:
538
- msgid "http://wpcerber.com"
539
- msgstr "http://wpcerber.com"
540
-
541
- #: ../wp-cerber.php:1868
542
  msgid "WP Cerber notify"
543
  msgstr "WP Cerber-varsling"
544
 
545
- #: ../wp-cerber.php:1887
546
  msgid "Citadel mode is activated"
547
  msgstr "Vakttårns-modus er aktivert"
548
 
549
- #: ../wp-cerber.php:1955
550
  msgid "New Custom login URL"
551
  msgstr "Ny egendefinert innloggings-URL"
552
 
553
- #: ../wp-cerber.php:2254
554
  msgid "The WP Cerber requires PHP %s or higher. You are running"
555
  msgstr "WP Cerber krever PHP versjon %s eller høyere. Du kjører"
556
 
557
- #: ../wp-cerber.php:2258
558
  msgid "The WP Cerber requires WordPress %s or higher. You are running"
559
  msgstr "WP Cerber krever WordPress versjon %s eller høyere. Du kjører"
560
 
561
- #: ../settings.php:94
562
  msgid "Use file"
563
  msgstr "Bruk fil"
564
 
565
- #: ../settings.php:94
566
  msgid "Write failed login attempts to the file"
567
  msgstr "Skriv mislykkede innloggingsforsøk til filen"
568
 
569
- #: ../dashboard.php:756
570
- msgid "Failed attempts in last 24 hours"
571
- msgstr "Mislykkede forsøk de siste 24 timer"
572
-
573
- #: ../dashboard.php:1116
574
  msgid "Deactivate"
575
  msgstr "Deaktivér"
576
 
577
- #: ../dashboard.php:77 ../wp-cerber.php:1920
578
  msgid "Reason"
579
  msgstr "Grunn"
580
 
581
- #: ../dashboard.php:130
582
  msgid "Add IP to the list"
583
  msgstr "Legg IP til listen"
584
 
585
- #: ../dashboard.php:660
586
  msgid "Add IP to the Black List"
587
  msgstr "Legg IP til svartelisten"
588
 
589
- #: ../common.php:287
590
  msgid "Attempt to access"
591
  msgstr "Forsøk på å få tilgang til"
592
 
593
- #: ../common.php:286
594
  msgid "Limit on login attempts is reached"
595
  msgstr "Grensen for innloggingsforsøk er nådd"
596
 
597
- #: ../common.php:276 ../common.php:288
598
  msgid "Attempt to log in with non-existent username"
599
  msgstr "Forsøk på å logge inn med ikke-eksisterende brukernavn"
600
 
601
- #: ../wp-cerber.php:1919
602
  msgid "Last lockout was added: %s for IP %s"
603
  msgstr "Siste utestengelse ble lagt til: %s for IP %s"
604
 
605
- #: ../wp-cerber.php:2282
606
- msgid "It's important to check security settings."
607
- msgstr "Det viktig å sjekke sikkerhetsinnstillingene."
608
-
609
- #: ../wp-cerber.php:2287 ../settings.php:230
610
  msgid "Hardening"
611
  msgstr "Forsterking"
612
 
613
- #: ../dashboard.php:638
614
  msgid "Abuse email:"
615
  msgstr "Repportering av misbruk:"
616
 
617
- #: ../settings.php:144
618
  msgid "Email Address"
619
  msgstr "E-postadresse"
620
 
621
- #: ../settings.php:144
622
  msgid "if empty, the admin email %s will be used"
623
  msgstr "Hvis tom, vil e-postadressen %s bli brukt"
624
 
625
- #: ../settings.php:97
626
  msgid "Drill down IP"
627
  msgstr "Inspiser IP"
628
 
629
- #: ../settings.php:97
630
  msgid "Retrieve extra WHOIS information for IP"
631
  msgstr "Hent ekstra WHOIS-informasjon for IP"
632
 
633
- #: ../settings.php:105
634
  msgid "Hardening WordPress"
635
  msgstr "Forsterke WordPress"
636
 
637
- #: ../settings.php:106
638
  msgid "Stop user enumeration"
639
  msgstr "Stopp opplisting av brukere"
640
 
641
- #: ../settings.php:106
642
- msgid "Block access to the pages like /?author=n"
643
- msgstr "Blokkér tilgang til sider som /?author=n"
644
-
645
- #: ../settings.php:107
646
  msgid "Disable XML-RPC"
647
  msgstr "Deaktivér XML-RPC"
648
 
649
- #: ../settings.php:107
650
  msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
651
  msgstr "Blokkér tilgang til XML-RPC-serveren (inkluderer Pingbacks og Trackbacks)"
652
 
653
- #: ../settings.php:108
654
  msgid "Disable feeds"
655
  msgstr "Deaktiver feeds"
656
 
657
- #: ../settings.php:108
658
  msgid "Block access to the RSS, Atom and RDF feeds"
659
  msgstr "Blokkér tilgang til RSS- Atom- og RDF-feeds"
660
 
661
- #: ../settings.php:109
662
  msgid "Disable REST API"
663
  msgstr "Deaktivér REST API"
664
 
665
- #: ../settings.php:109
666
- msgid "Block access to the WordPress REST API"
667
- msgstr "Blokkér tilgang til WordPress' REST API"
668
-
669
- #: ../settings.php:185
670
  msgid "These settings do not affect hosts from the "
671
  msgstr "Disse innstillingene påvirker ikke verter fra "
672
 
673
- #: ../settings.php:502
674
  msgid "<strong>ERROR</strong>: please enter a valid email address."
675
  msgstr "<strong>FEIL</strong>: vennligst skriv inn en gyldig e-postadresse"
676
 
677
- #: ../settings.php:618
678
- msgid "Number of items per page:"
679
- msgstr "Antall innlegg pr. side:"
680
-
681
- #: ../wp-cerber.php:1949 ../wp-cerber.php:2279
682
  msgid "WP Cerber is now active and has started protecting your site"
683
  msgstr "WP Cerber er nå aktiv og har begynt å beskytte siden din"
684
 
685
- #: ../dashboard.php:77
686
  msgid "Action"
687
  msgstr "Handling"
688
 
689
- #: ../dashboard.php:104
690
  msgid "Nobody can log in or register from these IPs"
691
  msgstr "Ingen kan logge inn eller registrere seg fra disse IP-ene"
692
 
693
- #: ../dashboard.php:145 ../dashboard.php:153
694
  msgid "Incorrect IP address or IP range"
695
  msgstr "Feil IP-adresse eller IP-rekkevidde"
696
 
697
- #: ../dashboard.php:254
698
- msgid "Unable to send notification email"
699
- msgstr "Kunne ikke sende e-postvarsling"
700
-
701
- #: ../dashboard.php:276 ../dashboard.php:1132
702
  msgid "Settings saved"
703
  msgstr "Innstillingene er lagret"
704
 
705
- #: ../dashboard.php:642
706
  msgid "Network:"
707
  msgstr "Nettverk:"
708
 
709
- #: ../dashboard.php:656
710
  msgid "Add network to the Black List"
711
  msgstr "Legg nettverk til svartelisten"
712
 
713
- #: ../dashboard.php:468
714
- msgid "Cerber Security"
715
- msgstr "Cerber-sikkerhet"
716
-
717
- #: ../dashboard.php:1115
718
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
719
  msgstr "Advarsel! Vakttårns-modus er nå aktiv. Ingen vil kunne logge inn."
720
 
721
- #: ../whois.php:211
 
722
  msgid "Unknown"
723
  msgstr "Ukjent"
724
 
725
- #. Description of the plugin
726
- #:
727
- msgid "Protects site from brute force attacks, bots and hackers. Antispam protection with reCAPTCHA. Comprehensive control of user activity. Restrict login by IP access lists. Limit login attempts. Feel free to contact developer on the site <a href=\"http://wpcerber.com\">wpcerber.com</a>."
728
- msgstr "Beskytter siden mot brute force-angrep, botter og hackere. Antispam-beskyttelse med erCAPTCHA. Grundig kontroll av brukeraktivitet. Begrensning av innlogginger etter IP-tilgangslister. Begrens innloggingsforsøk. Ta gjerne kontakt med utvikleren på <a href=\"http://wpcerber.com\">wpcerber.com</a>."
729
-
730
  #. Author of the plugin
731
  #:
732
  msgid "Gregory"
733
  msgstr "Gregory"
734
 
735
- #: ../wp-cerber.php:602 ../wp-cerber.php:734 ../wp-cerber.php:741 ../wp-cerber.
736
- #: php:765 ../common.php:81 ../common.php:134 ../settings.php:480
 
 
 
737
  msgid "ERROR:"
738
  msgstr "FEIL:"
739
 
740
- #: ../wp-cerber.php:496
741
  msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
742
  msgstr "Bekreftelse av menneskelighet feilet. Vennligst klikk den firkantige boksen i reCAPTCHA-blokken under."
743
 
744
- #: ../wp-cerber.php:613
745
  msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
746
  msgstr "<strong>FEIL</strong>: Passordet du skrev inn for brukernavnet %s er ugyldig."
747
 
748
- #: ../wp-cerber.php:742
749
  msgid "Username is not allowed. Please choose another one."
750
  msgstr "Brukernavnet er ikke tillatt. Vennligst velg et annet brukernavn."
751
 
752
- #: ../wp-cerber.php:1913
753
  msgid "unspecified"
754
  msgstr "uspesifisert"
755
 
756
- #: ../wp-cerber.php:1916
757
  msgid "Number of lockouts is increasing"
758
  msgstr "Antallet utestengelser stiger"
759
 
760
- #: ../wp-cerber.php:1921
761
  msgid "View activity for this IP"
762
  msgstr "Se aktivitet for denne IP"
763
 
764
- #: ../wp-cerber.php:1925 ../wp-cerber.php:1927
765
  msgid "A new version of WP Cerber is available to install"
766
  msgstr "En ny versjon av WP Cerber er tilgjengelig for installasjon"
767
 
768
- #: ../wp-cerber.php:1926
769
  msgid "Hi!"
770
  msgstr "Hei!"
771
 
772
- #: ../wp-cerber.php:1928 ../wp-cerber.php:1939
773
  msgid "Website"
774
  msgstr "Webside"
775
 
776
- #: ../wp-cerber.php:1931 ../wp-cerber.php:1932
777
  msgid "The WP Cerber security plugin has been deactivated"
778
  msgstr "Sikkerhetstillegget WP Cerber har blitt deaktivert"
779
 
780
- #: ../wp-cerber.php:1934
781
  msgid "Not logged in"
782
  msgstr "Ikke innlogget"
783
 
784
- #: ../wp-cerber.php:1940
785
  msgid "By user"
786
  msgstr "Etter brukernavn"
787
 
788
- #: ../wp-cerber.php:1941
789
  msgid "From IP address"
790
  msgstr "Fra IP-adresse"
791
 
792
- #: ../wp-cerber.php:1944
793
  msgid "From country"
794
  msgstr "Fra land"
795
 
796
- #: ../wp-cerber.php:1948
797
  msgid "The WP Cerber security plugin is now active"
798
  msgstr "Sikkerhetstillegget WP Cerber er nå aktivt"
799
 
800
- #: ../wp-cerber.php:2280
801
  msgid "Your IP address is added to the"
802
  msgstr "Din IP-adresse ble lagt til"
803
 
804
- #: ../dashboard.php:692
805
- msgid "reCAPTCHA"
806
- msgstr "reCAPTCHA"
807
-
808
- #: ../wp-cerber.php:2289
809
  msgid "Import settings"
810
  msgstr "Importer innstillinger"
811
 
812
- #: ../settings.php:145
813
  msgid "Notification limit"
814
  msgstr "Grense for varslinger"
815
 
816
- #: ../settings.php:145
817
  msgid "notification letters allowed per hour (0 means unlimited)"
818
  msgstr "varslingsmeldinger tillatt per time (0 betyr ubegrenset)"
819
 
820
- #: ../settings.php:117
821
  msgid "User related settings"
822
  msgstr "Brukerrelaterte innstillinger"
823
 
824
- #: ../settings.php:118
825
  msgid "Prohibited usernames"
826
  msgstr "Blokkerte brukernavn"
827
 
828
- #: ../settings.php:118
829
  msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
830
  msgstr "Brukernavn fra denne listen har ikke tilgang til å logge inn eller registrere seg. Enhver IP som forsøker å bruke noen av disse brukernavnene blir blokkert umiddelbart. Bruk komma for å skille brukernavn."
831
 
832
- #: ../settings.php:119
833
  msgid "User session expire"
834
  msgstr "Brukerøktens varighet"
835
 
836
- #: ../settings.php:119
837
  msgid "in minutes (leave empty to use default WP value)"
838
  msgstr "i minutter (la stå tom for å bruke WordPress' standardverdi)"
839
 
840
- #: ../cerber-tools.php:195
841
  msgid "reCAPTCHA settings"
842
  msgstr "reCAPTCHA-innstillinger"
843
 
844
- #: ../settings.php:126
845
  msgid "Site key"
846
  msgstr "Site key"
847
 
848
- #: ../settings.php:127
849
  msgid "Secret key"
850
  msgstr "Secret key"
851
 
852
- #: ../settings.php:129
853
  msgid "Enable reCAPTCHA for WordPress registration form"
854
  msgstr "Slå på reCAPTCHA for WordPress' registreringsskjema"
855
 
856
- #: ../settings.php:132
857
  msgid "Lost password form"
858
  msgstr "Skjema for mistet passord"
859
 
860
- #: ../settings.php:135
861
  msgid "Login form"
862
  msgstr "Innloggingsskjema"
863
 
864
- #: ../settings.php:135
865
  msgid "Enable reCAPTCHA for WordPress login form"
866
  msgstr "Slå på reCAPTCHA for WordPress' innloggingsskjema"
867
 
868
- #: ../settings.php:178
869
- msgid "In Citadel mode nobody is able to login. Active user's sessions will not be affected."
870
- msgstr "I vakttårns-modus vil ingen kunne logge inn. Aktive brukerinnlogginger vil ikke bli påvirket."
871
-
872
- #: ../settings.php:190
873
  msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
874
  msgstr "Før du kan ta i bruk reCAPTCHA må du skaffe deg en Site key og Secret key på Googles webside"
875
 
876
- #: ../cerber-lab.php:419 ../settings.php:191
877
  msgid "Know more"
878
  msgstr "Lær mer"
879
 
880
- #: ../dashboard.php:688 ../settings.php:213
881
  msgid "WP Cerber Security"
882
  msgstr "WP Cerber-sikkerhet"
883
 
884
- #: ../settings.php:232
885
  msgid "Users"
886
  msgstr "Brukere"
887
 
888
- #: ../common.php:253
889
  msgid "User created"
890
  msgstr "Bruker opprettet"
891
 
892
- #: ../common.php:254
893
  msgid "User registered"
894
  msgstr "Bruker registrert"
895
 
896
- #: ../common.php:271
897
  msgid "reCAPTCHA verification failed"
898
  msgstr "reCAPTCHA-godkjenning mislyktes"
899
 
900
- #: ../common.php:272
901
  msgid "reCAPTCHA settings are incorrect"
902
  msgstr "reCAPTCHA-innstillingene er feil"
903
 
904
- #: ../common.php:275
905
  msgid "Attempt to access prohibited URL"
906
  msgstr "Forsøk på å koble til forbudt URL"
907
 
908
- #: ../common.php:277 ../common.php:289
909
  msgid "Attempt to log in with prohibited username"
910
  msgstr "Forsøk på å logge inn med forbudt brukernavn"
911
 
912
- #: ../common.php:341
913
- msgid "year"
914
- msgstr "år"
915
-
916
- #: ../common.php:342
917
- msgid "month"
918
- msgstr "måned"
919
-
920
- #: ../common.php:343
921
- msgid "day"
922
- msgstr "dag"
923
-
924
- #: ../common.php:344
925
- msgid "hour"
926
- msgstr "time"
927
-
928
- #: ../common.php:345
929
- msgid "minute"
930
- msgstr "minutt"
931
-
932
- #: ../common.php:346
933
- msgid "second"
934
- msgstr "sekund"
935
-
936
- #: ../common.php:349
937
- msgid "years"
938
- msgstr "år"
939
-
940
- #: ../common.php:350
941
- msgid "months"
942
- msgstr "måneder"
943
-
944
- #: ../common.php:352
945
- msgid "hours"
946
- msgstr "timer"
947
-
948
- #: ../common.php:354
949
- msgid "seconds"
950
- msgstr "sekunder"
951
-
952
- #: ../common.php:360
953
- msgid "ago"
954
- msgstr "siden"
955
-
956
- #: ../settings.php:92
957
  msgid "Cerber Lab connection"
958
  msgstr "Tilkobling til Cerber Lab"
959
 
960
- #: ../settings.php:92
961
  msgid "Send malicious IP addresses to the Cerber Lab"
962
  msgstr "Send ondsinnede IP-adresser til Cerber Lab"
963
 
964
- #: ../settings.php:93
965
  msgid "Cerber Lab protocol"
966
  msgstr "Cerber Lab protokoll"
967
 
968
- #: ../settings.php:129
969
  msgid "Registration form"
970
  msgstr "Registreringsskjema"
971
 
972
- #: ../settings.php:130
973
  msgid "Enable reCAPTCHA for WooCommerce registration form"
974
  msgstr "Slå på reCAPTCHA for WooCommerces registreringsskjema"
975
 
976
- #: ../settings.php:132
977
  msgid "Enable reCAPTCHA for WordPress lost password form"
978
  msgstr "Slå på reCAPTCHA for WordPress' skjema for mistet passord"
979
 
980
- #: ../settings.php:133
981
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
982
  msgstr "Slå på reCAPTCHA for WooCommerce mistet passord-skjema"
983
 
984
- #: ../settings.php:136
985
  msgid "Enable reCAPTCHA for WooCommerce login form"
986
  msgstr "Slå på reCAPTCHA for WooCommerce innloggings-skjema"
987
 
988
- #: ../common.php:273
989
  msgid "Request to the Google reCAPTCHA service failed"
990
  msgstr "Forespørsel til Googles reCAPTCHA-tjeneste mislyktes"
991
 
992
- #: ../dashboard.php:995 ../dashboard.php:1010
993
  msgid "View all"
994
  msgstr "Se alle"
995
 
996
- #: ../dashboard.php:1011
997
  msgid "Recently locked out IP addresses"
998
  msgstr "Nylig utestengte IP-adresser"
999
 
1000
- #: ../cerber-lab.php:417
1001
  msgid "OK, nail them all"
1002
  msgstr "OK, ta alle sammen"
1003
 
1004
- #: ../cerber-lab.php:418
1005
  msgid "NO, maybe later"
1006
  msgstr "NEI, kanskje senere"
1007
 
1008
- #: ../dashboard.php:690 ../dashboard.php:860 ../dashboard.php:1303 ../settings.
1009
- #: php:218
1010
  msgid "Dashboard"
1011
  msgstr "Kontrollpanel"
1012
 
1013
- #: ../cerber-lab.php:415
1014
  msgid "Want to make WP Cerber even more powerful?"
1015
  msgstr "Vil du gjøre WP Cerber enda sterkere?"
1016
 
1017
- #: ../cerber-lab.php:416
1018
  msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
1019
  msgstr "Tillat at WP Cerber sender utestengde ondsinnede IP-adresser til Cerber Lab. Dette hjelper plugin-teamet å utvikle nye algoritmer som vil beskytte WordPress mot nye trusler og botnett som dukker opp hver dag. Du kan slå av sendingen i plugin-innstillingene når som helst."
1020
 
1021
- #: ../dashboard.php:330
1022
  msgid "IP address"
1023
  msgstr "IP-adresse"
1024
 
1025
- #: ../dashboard.php:330
1026
  msgid "User login"
1027
  msgstr "Brukernavn"
1028
 
1029
- #: ../dashboard.php:330
1030
  msgid "User ID"
1031
  msgstr "Bruker-ID"
1032
 
1033
- #: ../dashboard.php:454
1034
  msgid "Export"
1035
  msgstr "Eksporter"
1036
 
1037
- #: ../dashboard.php:463
1038
- msgid "All activities"
1039
- msgstr "Alle aktiviteter"
1040
-
1041
- #: ../dashboard.php:470
1042
  msgid "Search for IP or username"
1043
  msgstr "Søk etter IP eller brukernavn"
1044
 
1045
- #: ../dashboard.php:470
1046
  msgid "Filter"
1047
  msgstr "Filter"
1048
 
1049
- #: ../dashboard.php:690
1050
  msgid "Cerber Dashboard"
1051
  msgstr "Cerber-kontrollpanel"
1052
 
1053
- #: ../dashboard.php:692
1054
- msgid "Cerber reCAPTCHA settings"
1055
- msgstr "Cerber-innstillinger for reCAPTCHA"
1056
-
1057
- #: ../dashboard.php:693
1058
  msgid "Cerber tools"
1059
  msgstr "Cerber-verktøy"
1060
 
1061
- #: ../dashboard.php:1218
1062
  msgid "Subscribe"
1063
  msgstr "Abbonér"
1064
 
1065
- #: ../dashboard.php:1219
1066
  msgid "Unsubscribe"
1067
  msgstr "Avslutt abonnementet"
1068
 
1069
- #: ../dashboard.php:1247
1070
  msgid "You've subscribed"
1071
  msgstr "Du abbonerer"
1072
 
1073
- #: ../dashboard.php:1250
1074
  msgid "You've unsubscribed"
1075
  msgstr "Du har avsluttet abonnementet"
1076
 
1077
- #: ../wp-cerber.php:1959 ../wp-cerber.php:1960
1078
  msgid "A new activity has been recorded"
1079
  msgstr "En ny aktivitet har blitt registrert"
1080
 
1081
- #: ../wp-cerber.php:2180
1082
  msgid "User"
1083
  msgstr "Bruker"
1084
 
1085
- #: ../wp-cerber.php:2188
1086
  msgid "Search string"
1087
  msgstr "Søkeord"
1088
 
1089
- #: ../wp-cerber.php:2201
1090
  msgid "To unsubscribe click here"
1091
  msgstr "Klikk her for å avslutte abbonementet"
1092
 
1093
- #: ../settings.php:96
1094
  msgid "Preferences"
1095
  msgstr "Valg"
1096
 
1097
- #: ../settings.php:98
1098
  msgid "Date format"
1099
  msgstr "Datoformat"
1100
 
1101
- #: ../settings.php:98
1102
  msgid "if empty, the default format %s will be used"
1103
  msgstr "hvis blank, vil formatet %s bli brukt"
1104
 
1105
- #: ../dashboard.php:856 ../settings.php:147
1106
  msgid "Push notifications"
1107
  msgstr "Push-varsler"
1108
 
1109
- #: ../settings.php:142
1110
  msgid "Email notifications"
1111
  msgstr "E-postvarsel"
1112
 
1113
- #: ../settings.php:144
1114
  msgid "Use comma to specify multiple values"
1115
  msgstr "Bruk komma for å skille mellom flere verdier"
1116
 
1117
- #: ../settings.php:153
1118
  msgid "All connected devices"
1119
  msgstr "Alle tilkoblede enheter"
1120
 
1121
- #: ../settings.php:154
1122
  msgid "No devices found"
1123
  msgstr "Ingen enheter funnet"
1124
 
1125
- #: ../settings.php:156
1126
  msgid "Not available"
1127
  msgstr "Ikke tilgjengelig"
1128
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  "Content-Type: text/plain; charset=UTF-8\n"
5
  "Content-Transfer-Encoding: 8bit\n"
6
  "X-Generator: POEditor.com\n"
7
+ "Project-Id-Version: WP Cerber Security\n"
8
  "Language: nb\n"
9
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
10
 
11
+ #: ../settings.php:70
12
  msgid "Limit login attempts"
13
  msgstr "Begrens innloggingsforsøk"
14
 
15
+ #: ../settings.php:71
16
  msgid "Attempts"
17
  msgstr "Forsøk"
18
 
19
+ #: ../settings.php:72
20
  msgid "Lockout duration"
21
  msgstr "Varighet for utestengelse"
22
 
23
+ #: ../settings.php:72 ../settings.php:91
24
  msgid "minutes"
25
  msgstr "minutter"
26
 
27
+ #: ../settings.php:73
28
  msgid "Aggressive lockout"
29
  msgstr "Aggressiv utestengelse"
30
 
31
+ #: ../settings.php:76
32
  msgid "Site connection"
33
  msgstr "Sidetilkobling"
34
 
35
+ #: ../settings.php:78
36
  msgid "Proactive security rules"
37
  msgstr "Proaktive sikkerhetsregler"
38
 
39
+ #: ../settings.php:79
40
  msgid "Block subnet"
41
  msgstr "Blokkér subnet"
42
 
43
+ #: ../settings.php:82
44
  msgid "Request wp-login.php"
45
  msgstr "Kobling til wp-login.php"
46
 
47
+ #: ../settings.php:82
48
  msgid "Immediately block IP after any request to wp-login.php"
49
  msgstr "Blokkér umiddelbart IP-en etter ethvert forsøk på å koble til wp-login.php"
50
 
51
+ #: ../settings.php:81
52
  msgid "Redirect dashboard requests"
53
  msgstr "Omdiriger kontrollpanel-koblinger"
54
 
55
+ #: ../settings.php:85
56
  msgid "Custom login page"
57
  msgstr "Egendefinert innloggingsside"
58
 
59
+ #: ../settings.php:86
60
  msgid "Custom login URL"
61
  msgstr "Egendefinert URL for innlogging"
62
 
63
+ #: ../settings.php:86
64
  msgid "must not overlap with the existing pages or posts slug"
65
  msgstr "må ikke være lik eksisterende sider eller slug"
66
 
67
+ #: ../settings.php:87
68
  msgid "Disable wp-login.php"
69
  msgstr "Deaktiver wp-login.php"
70
 
71
+ #: ../settings.php:87
72
  msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
73
  msgstr "Blokkér direkte tilgang til wp-login.php og returnér HTTP 404 Ikke Funnet-feil."
74
 
75
+ #: ../dashboard.php:1135 ../settings.php:89
76
  msgid "Citadel mode"
77
  msgstr "Vakttårnsmodus"
78
 
79
+ #: ../settings.php:90
80
  msgid "Threshold"
81
  msgstr "Terskel"
82
 
83
+ #: ../settings.php:91
84
  msgid "Duration"
85
  msgstr "Varighet"
86
 
87
+ #: ../wp-cerber.php:3891 ../settings.php:75 ../settings.php:92 ../settings.php:368
88
  msgid "Notifications"
89
  msgstr "Varsling"
90
 
91
+ #: ../settings.php:92
92
  msgid "Send notification to admin email"
93
  msgstr "Send varsel til admins e-postadresse"
94
 
95
+ #: ../wp-cerber.php:3888 ../settings.php:361 ../cerber-tools.php:88 ../cerber-
96
+ #: tools.php:97 ../cerber-tools.php:178
97
  msgid "Access Lists"
98
  msgstr "Tilgangsliste"
99
 
100
+ #: ../dashboard.php:1142 ../dashboard.php:1339 ../wp-cerber.php:3652 ../settings.
101
+ #: php:94 ../settings.php:352
102
  msgid "Activity"
103
  msgstr "Aktivitet"
104
 
105
+ #: ../settings.php:356
106
  msgid "Lockouts"
107
  msgstr "Utestengelser"
108
 
109
+ #: ../settings.php:477 ../settings.php:599
110
  msgid "%s allowed retries in %s minutes"
111
  msgstr "%s tillatte forsøk på %s minutter"
112
 
113
+ #: ../settings.php:499 ../settings.php:621
114
  msgid "Enable after %s failed login attempts in last %s minutes"
115
  msgstr "Aktivér etter %s mislykkede innloggingsforsøk på %s minutter"
116
 
117
+ #: ../dashboard.php:93 ../dashboard.php:643 ../dashboard.php:2674 ../wp-cerber.
118
+ #: php:3661
119
  msgid "IP"
120
  msgstr "IP-adresse"
121
 
122
+ #: ../dashboard.php:489 ../dashboard.php:646 ../dashboard.php:2672
123
  msgid "Date"
124
  msgstr "Dato"
125
 
126
+ #: ../dashboard.php:489 ../dashboard.php:648 ../dashboard.php:2677
127
  msgid "Local User"
128
  msgstr "Lokal bruker"
129
 
130
+ #: ../dashboard.php:489 ../dashboard.php:649 ../wp-cerber.php:3669
131
  msgid "Username used"
132
  msgstr "Brukernavn brukt"
133
 
134
+ #: ../dashboard.php:112
135
  msgid "Showing last %d records from %d"
136
  msgstr "Viser siste %d oppføringer fra %d"
137
 
138
+ #: ../common.php:613
139
  msgid "Logged in"
140
  msgstr "Logget inn"
141
 
142
+ #: ../common.php:614
143
  msgid "Logged out"
144
  msgstr "Logget ut"
145
 
146
+ #: ../common.php:615
147
  msgid "Login failed"
148
  msgstr "Innlogging feilet"
149
 
150
+ #: ../common.php:618
151
  msgid "IP blocked"
152
  msgstr "IP blokkert"
153
 
154
+ #: ../common.php:619
155
  msgid "Subnet blocked"
156
  msgstr "Subnet blokkert"
157
 
158
+ #: ../common.php:621
159
  msgid "Citadel activated!"
160
  msgstr "Vakttårn aktivert!"
161
 
162
+ #: ../dashboard.php:623 ../dashboard.php:833 ../dashboard.php:2526 ../common.php:
163
+ #: 658
164
  msgid "Locked out"
165
  msgstr "Utestengt"
166
 
167
+ #: ../common.php:659
168
  msgid "IP blacklisted"
169
  msgstr "IP svartelistet"
170
 
171
+ #: ../common.php:636
172
  msgid "Password changed"
173
  msgstr "Passord endret"
174
 
175
+ #: ../dashboard.php:86 ../dashboard.php:158
176
  msgid "Remove"
177
  msgstr "Fjern"
178
 
179
+ #: ../dashboard.php:388
180
  msgid "Lockout for %s was removed"
181
  msgstr "Utestengelse for %s ble fjernet"
182
 
183
+ #: ../dashboard.php:131 ../dashboard.php:618 ../dashboard.php:827 ../dashboard.
184
+ #: php:1133 ../dashboard.php:2521 ../wp-cerber.php:3880 ../settings.php:74 ..
185
+ #: /settings.php:322
186
  msgid "White IP Access List"
187
  msgstr "Hvit IP-tilgangsliste"
188
 
189
+ #: ../dashboard.php:133 ../dashboard.php:619 ../dashboard.php:830 ../dashboard.
190
+ #: php:1134 ../dashboard.php:2522
191
  msgid "Black IP Access List"
192
  msgstr "Svart IP-tilgangsliste"
193
 
194
+ #: ../dashboard.php:163
195
  msgid "List is empty"
196
  msgstr "Listen er tom"
197
 
198
+ #: ../dashboard.php:200
199
  msgid "Address %s was added to White IP Access List"
200
  msgstr "Adressen %s ble lagt til den hvite IP-tilgangslisten"
201
 
202
+ #: ../dashboard.php:214
203
  msgid "Address %s was added to Black IP Access List"
204
  msgstr "Adressen %s ble lagt til den svarte IP-tilgangslisten"
205
 
206
+ #: ../wp-cerber.php:3127
207
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
208
  msgstr "Vakttårnsmodus ble aktivert etter %d mislykkede innloggingsforsøk på %d minutter"
209
 
210
+ #: ../dashboard.php:1481
211
  msgid "View Activity"
212
  msgstr "Se aktivitet"
213
 
214
+ #: ../dashboard.php:2386 ../cerber-tools.php:87 ../cerber-tools.php:96
215
  msgid "Settings"
216
  msgstr "Innstillinger"
217
 
218
+ #: ../dashboard.php:999
219
  msgid "Last login"
220
  msgstr "Siste innlogging"
221
 
222
+ #: ../dashboard.php:1032 ../dashboard.php:1116
223
  msgid "Never"
224
  msgstr "Aldri"
225
 
226
+ #: ../dashboard.php:1383
227
  msgid "Are you sure?"
228
  msgstr "Er du sikker?"
229
 
230
+ #: ../dashboard.php:1190 ../settings.php:76
 
 
 
 
231
  msgid "My site is behind a reverse proxy"
232
  msgstr "Min side er bak en reverse proxy"
233
 
234
+ #: ../settings.php:80
235
  msgid "Non-existent users"
236
  msgstr "Ikke-eksisterende brukere"
237
 
238
+ #: ../settings.php:80
239
  msgid "Immediately block IP when attempting to login with a non-existent username"
240
  msgstr "Blokkér umiddelbart IP når noen prøver å logge inn med et ikke-eksisterende brukernavn"
241
 
242
+ #: ../settings.php:81
243
  msgid "Disable automatic redirecting to the login page when /wp-admin/ is requested by an unauthorized request"
244
  msgstr "Deaktivér automatisk omdirigering til innloggingssiden når /wp-admin/ blir forsøkt tilkoblet fra en uatorisert forespørsel"
245
 
246
+ #: ../settings.php:308
247
  msgid "Make your protection smarter!"
248
  msgstr "Gjør din beskyttelse smartere!"
249
 
250
+ #: ../settings.php:312
251
  msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
252
  msgstr "Vennligst "
253
 
254
+ #: ../settings.php:315
255
  msgid "Be careful when enabling this options. If you forget the custom login URL you will not be able to login."
256
  msgstr "Vær forsiktig når du velger dette alternativet. Glemmer du din nye URL for innlogging, vil du ikke kunne logge deg inn."
257
 
258
+ #: ../wp-cerber.php:3887 ../settings.php:358
259
  msgid "Main Settings"
260
  msgstr "Hovedinnstillinger"
261
 
262
+ #: ../settings.php:370
263
  msgid "Help"
264
  msgstr "Hjelp"
265
 
266
+ #: ../settings.php:487 ../settings.php:609
267
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
268
  msgstr "Øk varigheten av utestengelser til %s timer etter %s utestengelser i løpet av de siste %s timer"
269
 
270
+ #: ../wp-cerber.php:297
271
  msgid "You are not allowed to log in. Ask your administrator for assistance."
272
  msgstr "Du har ikke tillatelse til å logge inn. Spør din administrator om du trenger hjelp."
273
 
274
+ #: ../wp-cerber.php:303
275
  msgid "You have reached the login attempts limit. Please try again in %d minutes."
276
  msgstr "Du har nådd grensen for antall tillatte innloggingsforsøk. Vennligst prøv igjen om %d minutter."
277
 
278
+ #: ../wp-cerber.php:322
279
  msgid "You have only one attempt remaining."
280
  msgid_plural "You have %d attempts remaining."
281
  msgstr[0] "Du har kun ett forsøk igjen."
282
  msgstr[1] "Du har %d forsøk igjen."
283
 
284
+ #: ../dashboard.php:674
285
  msgid "No activity has been logged."
286
  msgstr "Ingen aktivitet har blitt registrert."
287
 
288
+ #: ../dashboard.php:96
289
  msgid "Expires"
290
  msgstr "Utgår"
291
 
292
+ #: ../dashboard.php:118
293
  msgid "No lockouts at the moment. The sky is clear."
294
  msgstr "Ingen utestengelser akkurat nå. Kysten er klar."
295
 
296
+ #: ../dashboard.php:131
297
  msgid "These IPs will never be locked out"
298
  msgstr "Disse IP-er vil aldri bli utestengt"
299
 
300
+ #: ../dashboard.php:140
301
  msgid "Your IP"
302
  msgstr "Din IP"
303
 
304
+ #: ../wp-cerber.php:3128
 
 
 
 
305
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
306
  msgstr "Siste mislykkede forsøk var %s fra IP %s med brukernavn %s."
307
 
308
+ #: ../wp-cerber.php:3863
 
 
 
 
309
  msgid "Can't activate WP Cerber due to a database error."
310
  msgstr "Kunne ikke aktivere WP Cerber på grunn av en databasefeil."
311
 
312
+ #: ../settings.php:494 ../settings.php:616
313
  msgid "Notify admin if the number of active lockouts above"
314
  msgstr "Varsle administratoren om antallet aktive utestengelser overskrider"
315
 
316
+ #: ../settings.php:95 ../settings.php:168 ../settings.php:298
317
  msgid "days"
318
  msgstr "dager"
319
 
320
+ #: ../dashboard.php:1086
321
  msgid "Cerber Quick View"
322
  msgstr "Cerber hurtigvisning"
323
 
324
+ #: ../dashboard.php:114
325
  msgid "Hint"
326
  msgstr "Hint"
327
 
328
+ #: ../dashboard.php:114
329
  msgid "To view activity, click on the IP"
330
  msgstr "For å se aktivitet klikk på IP-en"
331
 
332
+ #: ../dashboard.php:158 ../dashboard.php:840 ../dashboard.php:867
333
  msgid "Check for activity"
334
  msgstr "Sjekk etter aktivitet"
335
 
336
+ #: ../settings.php:79
337
  msgid "Always block entire subnet Class C of intruders IP"
338
  msgstr "Alltid blokkér hele subnet Class C av inntrengerens IP"
339
 
340
+ #: ../settings.php:92 ../settings.php:496 ../settings.php:618
341
  msgid "Click to send test"
342
  msgstr "Klikk for å sende test"
343
 
344
+ #: ../settings.php:758 ../settings.php:759
345
  msgid "Attention! You have changed the login URL! The new login URL is"
346
  msgstr "OBS! Du har endret innloggings-adressen. Din nye URL for innlogging er"
347
 
348
+ #: ../dashboard.php:998
349
  msgid "Comments"
350
  msgstr "Kommentarer"
351
 
352
+ #: ../common.php:891
 
 
 
 
 
 
 
 
353
  msgid "Update to version %s of WP Cerber"
354
  msgstr "Oppdatér til versjon %s av WP Cerber"
355
 
356
+ #: ../wp-cerber.php:3129 ../wp-cerber.php:3693
357
  msgid "View activity in dashboard"
358
  msgstr "Se aktivitet i kontrollpanelet"
359
 
360
+ #: ../wp-cerber.php:3159
361
  msgid "Number of active lockouts"
362
  msgstr "Antall aktive utestengelser"
363
 
364
+ #: ../wp-cerber.php:3163
365
  msgid "View lockouts in dashboard"
366
  msgstr "Se utestengelser i kontrollpanelet"
367
 
368
+ #: ../wp-cerber.php:3245
369
  msgid "This message was sent by"
370
  msgstr "Denne meldingen ble sendt av"
371
 
372
+ #: ../dashboard.php:927 ../cerber-tools.php:43
373
  msgid "Tools"
374
  msgstr "Verktøy"
375
 
376
+ #: ../cerber-tools.php:84
377
  msgid "Export settings to the file"
378
  msgstr "Eksportér innstillinger til filen"
379
 
380
+ #: ../cerber-tools.php:85
381
  msgid "When you click the button below you will get a configuration file, which you can upload on another site."
382
  msgstr "Når du klikker knappen under, vil du få en konfigurasjonsfil som du kan laste opp på en annen side."
383
 
384
+ #: ../cerber-tools.php:86
385
  msgid "What do you want to export?"
386
  msgstr "Hva ønsker du å eksportere?"
387
 
388
+ #: ../cerber-tools.php:89
389
  msgid "Download file"
390
  msgstr "Last ned fil"
391
 
392
+ #: ../cerber-tools.php:91
393
  msgid "Import settings from the file"
394
  msgstr "Importér innstillinger fra filen"
395
 
396
+ #: ../cerber-tools.php:92
397
  msgid "When you click the button below, file will be uploaded and all existing settings will be overridden."
398
  msgstr "Når du klikker på knappen under, vil filen lastes opp og alle eksisterende innstillinger vil bli overskrevet."
399
 
400
+ #: ../cerber-tools.php:93
401
  msgid "Select file to import."
402
  msgstr "Velg fil å importere."
403
 
404
+ #: ../cerber-tools.php:93
405
  msgid "Maximum upload file size: %s."
406
  msgstr "Maksimum tillatte filstørrelse for opplasting: %s."
407
 
408
+ #: ../cerber-tools.php:96
409
  msgid "What do you want to import?"
410
  msgstr "Hva ønsker du å importere?"
411
 
412
+ #: ../cerber-tools.php:98
413
  msgid "Upload file"
414
  msgstr "Last opp fil"
415
 
416
+ #: ../cerber-tools.php:145
417
  msgid "No file was uploaded or file is corrupted"
418
  msgstr "Ingen fil ble lastet opp, eller er filen ødelagt"
419
 
429
  msgid "Error while parsing file"
430
  msgstr "Feil under parsing av filen"
431
 
432
+ #: ../dashboard.php:94 ../dashboard.php:644
433
  msgid "Hostname"
434
  msgstr "Vertsnavn"
435
 
436
+ #: ../dashboard.php:353
437
  msgid "unknown"
438
  msgstr "ukjent"
439
 
440
+ #: ../settings.php:95 ../settings.php:294
441
  msgid "Keep records for"
442
  msgstr "Behold logger"
443
 
444
+ #: ../dashboard.php:1120
445
  msgid "active"
446
  msgstr "aktive"
447
 
448
+ #: ../dashboard.php:1120
449
  msgid "deactivate"
450
  msgstr "deaktiver"
451
 
452
+ #: ../dashboard.php:1122
453
  msgid "not active"
454
  msgstr "ikke aktive"
455
 
456
+ #: ../dashboard.php:1123
457
  msgid "disabled"
458
  msgstr "deaktivert"
459
 
460
+ #: ../dashboard.php:1128
461
  msgid "failed attempts"
462
  msgstr "mislykkede forsøk"
463
 
464
+ #: ../dashboard.php:1128 ../dashboard.php:1129
465
  msgid "in 24 hours"
466
  msgstr "på 24 timer"
467
 
468
+ #: ../dashboard.php:1128 ../dashboard.php:1129
469
  msgid "view all"
470
  msgstr "se alle"
471
 
472
+ #: ../dashboard.php:1129
473
  msgid "lockouts"
474
  msgstr "utestengelser"
475
 
476
+ #: ../dashboard.php:1131
477
  msgid "Lockouts at the moment"
478
  msgstr "Utestengelser akkurat nå"
479
 
480
+ #: ../dashboard.php:1132
481
  msgid "Last lockout"
482
  msgstr "Siste utestengelse"
483
 
484
+ #: ../dashboard.php:1133 ../dashboard.php:1134 ../dashboard.php:1652
485
  msgid "entry"
486
  msgid_plural "entries"
487
  msgstr[0] "oppføring"
488
  msgstr[1] "oppføringer"
489
 
490
+ #: ../dashboard.php:1378
491
  msgid "Confused about some settings?"
492
  msgstr "Usikker på noen innstillinger?"
493
 
494
+ #: ../dashboard.php:1379
495
  msgid "You can easily load default recommended settings using button below"
496
  msgstr "Du kan enkelt laste inn anbefalte standardinnstillinger via knappen under"
497
 
498
+ #: ../dashboard.php:1381
499
  msgid "Load default settings"
500
  msgstr "Last inn standardinnstillinger"
501
 
502
+ #: ../dashboard.php:1389
503
  msgid "doesn't affect Custom login URL and Access Lists"
504
  msgstr "påvirker ikke egendefinert innloggings-URL og tilgangslister"
505
 
506
+ #: ../common.php:884
 
 
 
 
507
  msgid "New version is available"
508
  msgstr "Ny versjon er tilgjengelig"
509
 
510
  #. Name of the plugin
511
+ #: ../dashboard.php:915 ../dashboard.php:937
512
  msgid "WP Cerber"
513
  msgstr "WP Cerber"
514
 
515
+ #: ../wp-cerber.php:3103
 
 
 
 
 
516
  msgid "WP Cerber notify"
517
  msgstr "WP Cerber-varsling"
518
 
519
+ #: ../wp-cerber.php:3125
520
  msgid "Citadel mode is activated"
521
  msgstr "Vakttårns-modus er aktivert"
522
 
523
+ #: ../wp-cerber.php:3199
524
  msgid "New Custom login URL"
525
  msgstr "Ny egendefinert innloggings-URL"
526
 
527
+ #: ../wp-cerber.php:3850
528
  msgid "The WP Cerber requires PHP %s or higher. You are running"
529
  msgstr "WP Cerber krever PHP versjon %s eller høyere. Du kjører"
530
 
531
+ #: ../wp-cerber.php:3854
532
  msgid "The WP Cerber requires WordPress %s or higher. You are running"
533
  msgstr "WP Cerber krever WordPress versjon %s eller høyere. Du kjører"
534
 
535
+ #: ../settings.php:98
536
  msgid "Use file"
537
  msgstr "Bruk fil"
538
 
539
+ #: ../settings.php:98
540
  msgid "Write failed login attempts to the file"
541
  msgstr "Skriv mislykkede innloggingsforsøk til filen"
542
 
543
+ #: ../dashboard.php:1480
 
 
 
 
544
  msgid "Deactivate"
545
  msgstr "Deaktivér"
546
 
547
+ #: ../dashboard.php:97 ../wp-cerber.php:3161
548
  msgid "Reason"
549
  msgstr "Grunn"
550
 
551
+ #: ../dashboard.php:168
552
  msgid "Add IP to the list"
553
  msgstr "Legg IP til listen"
554
 
555
+ #: ../dashboard.php:885
556
  msgid "Add IP to the Black List"
557
  msgstr "Legg IP til svartelisten"
558
 
559
+ #: ../common.php:689
560
  msgid "Attempt to access"
561
  msgstr "Forsøk på å få tilgang til"
562
 
563
+ #: ../common.php:688
564
  msgid "Limit on login attempts is reached"
565
  msgstr "Grensen for innloggingsforsøk er nådd"
566
 
567
+ #: ../common.php:644 ../common.php:690
568
  msgid "Attempt to log in with non-existent username"
569
  msgstr "Forsøk på å logge inn med ikke-eksisterende brukernavn"
570
 
571
+ #: ../wp-cerber.php:3160
572
  msgid "Last lockout was added: %s for IP %s"
573
  msgstr "Siste utestengelse ble lagt til: %s for IP %s"
574
 
575
+ #: ../wp-cerber.php:3890 ../settings.php:363
 
 
 
 
576
  msgid "Hardening"
577
  msgstr "Forsterking"
578
 
579
+ #: ../dashboard.php:863
580
  msgid "Abuse email:"
581
  msgstr "Repportering av misbruk:"
582
 
583
+ #: ../settings.php:197 ../settings.php:228
584
  msgid "Email Address"
585
  msgstr "E-postadresse"
586
 
587
+ #: ../settings.php:206
588
  msgid "if empty, the admin email %s will be used"
589
  msgstr "Hvis tom, vil e-postadressen %s bli brukt"
590
 
591
+ #: ../settings.php:101
592
  msgid "Drill down IP"
593
  msgstr "Inspiser IP"
594
 
595
+ #: ../settings.php:101
596
  msgid "Retrieve extra WHOIS information for IP"
597
  msgstr "Hent ekstra WHOIS-informasjon for IP"
598
 
599
+ #: ../settings.php:109
600
  msgid "Hardening WordPress"
601
  msgstr "Forsterke WordPress"
602
 
603
+ #: ../settings.php:110
604
  msgid "Stop user enumeration"
605
  msgstr "Stopp opplisting av brukere"
606
 
607
+ #: ../settings.php:111
 
 
 
 
608
  msgid "Disable XML-RPC"
609
  msgstr "Deaktivér XML-RPC"
610
 
611
+ #: ../settings.php:111
612
  msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
613
  msgstr "Blokkér tilgang til XML-RPC-serveren (inkluderer Pingbacks og Trackbacks)"
614
 
615
+ #: ../settings.php:112
616
  msgid "Disable feeds"
617
  msgstr "Deaktiver feeds"
618
 
619
+ #: ../settings.php:112
620
  msgid "Block access to the RSS, Atom and RDF feeds"
621
  msgstr "Blokkér tilgang til RSS- Atom- og RDF-feeds"
622
 
623
+ #: ../settings.php:113
624
  msgid "Disable REST API"
625
  msgstr "Deaktivér REST API"
626
 
627
+ #: ../settings.php:322
 
 
 
 
628
  msgid "These settings do not affect hosts from the "
629
  msgstr "Disse innstillingene påvirker ikke verter fra "
630
 
631
+ #: ../settings.php:839 ../settings.php:851
632
  msgid "<strong>ERROR</strong>: please enter a valid email address."
633
  msgstr "<strong>FEIL</strong>: vennligst skriv inn en gyldig e-postadresse"
634
 
635
+ #: ../wp-cerber.php:3191 ../wp-cerber.php:3879
 
 
 
 
636
  msgid "WP Cerber is now active and has started protecting your site"
637
  msgstr "WP Cerber er nå aktiv og har begynt å beskytte siden din"
638
 
639
+ #: ../dashboard.php:98
640
  msgid "Action"
641
  msgstr "Handling"
642
 
643
+ #: ../dashboard.php:133
644
  msgid "Nobody can log in or register from these IPs"
645
  msgstr "Ingen kan logge inn eller registrere seg fra disse IP-ene"
646
 
647
+ #: ../dashboard.php:194 ../dashboard.php:206
648
  msgid "Incorrect IP address or IP range"
649
  msgstr "Feil IP-adresse eller IP-rekkevidde"
650
 
651
+ #: ../dashboard.php:405 ../dashboard.php:1496
 
 
 
 
652
  msgid "Settings saved"
653
  msgstr "Innstillingene er lagret"
654
 
655
+ #: ../dashboard.php:867
656
  msgid "Network:"
657
  msgstr "Nettverk:"
658
 
659
+ #: ../dashboard.php:881
660
  msgid "Add network to the Black List"
661
  msgstr "Legg nettverk til svartelisten"
662
 
663
+ #: ../dashboard.php:1479
 
 
 
 
664
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
665
  msgstr "Advarsel! Vakttårns-modus er nå aktiv. Ingen vil kunne logge inn."
666
 
667
+ #: ../dashboard.php:311 ../dashboard.php:2457 ../whois.php:221 ../whois.php:252 ..
668
+ #: /common.php:687 ../common.php:966
669
  msgid "Unknown"
670
  msgstr "Ukjent"
671
 
 
 
 
 
 
672
  #. Author of the plugin
673
  #:
674
  msgid "Gregory"
675
  msgstr "Gregory"
676
 
677
+ #: ../wp-cerber.php:605 ../wp-cerber.php:617 ../wp-cerber.php:624 ../wp-cerber.
678
+ #: php:826 ../wp-cerber.php:1042 ../wp-cerber.php:1048 ../wp-cerber.php:1053 ..
679
+ #: /wp-cerber.php:1058 ../wp-cerber.php:1064 ../wp-cerber.php:1071 ../wp-cerber.
680
+ #: php:1171 ../wp-cerber.php:1308 ../common.php:194 ../common.php:251 ../common.
681
+ #: php:255 ../settings.php:808
682
  msgid "ERROR:"
683
  msgstr "FEIL:"
684
 
685
+ #: ../wp-cerber.php:634
686
  msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
687
  msgstr "Bekreftelse av menneskelighet feilet. Vennligst klikk den firkantige boksen i reCAPTCHA-blokken under."
688
 
689
+ #: ../wp-cerber.php:838
690
  msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
691
  msgstr "<strong>FEIL</strong>: Passordet du skrev inn for brukernavnet %s er ugyldig."
692
 
693
+ #: ../wp-cerber.php:1059
694
  msgid "Username is not allowed. Please choose another one."
695
  msgstr "Brukernavnet er ikke tillatt. Vennligst velg et annet brukernavn."
696
 
697
+ #: ../wp-cerber.php:3154
698
  msgid "unspecified"
699
  msgstr "uspesifisert"
700
 
701
+ #: ../wp-cerber.php:3157
702
  msgid "Number of lockouts is increasing"
703
  msgstr "Antallet utestengelser stiger"
704
 
705
+ #: ../wp-cerber.php:3162
706
  msgid "View activity for this IP"
707
  msgstr "Se aktivitet for denne IP"
708
 
709
+ #: ../wp-cerber.php:3166 ../wp-cerber.php:3168
710
  msgid "A new version of WP Cerber is available to install"
711
  msgstr "En ny versjon av WP Cerber er tilgjengelig for installasjon"
712
 
713
+ #: ../wp-cerber.php:3167
714
  msgid "Hi!"
715
  msgstr "Hei!"
716
 
717
+ #: ../wp-cerber.php:3170 ../wp-cerber.php:3181
718
  msgid "Website"
719
  msgstr "Webside"
720
 
721
+ #: ../wp-cerber.php:3173 ../wp-cerber.php:3174
722
  msgid "The WP Cerber security plugin has been deactivated"
723
  msgstr "Sikkerhetstillegget WP Cerber har blitt deaktivert"
724
 
725
+ #: ../wp-cerber.php:3176
726
  msgid "Not logged in"
727
  msgstr "Ikke innlogget"
728
 
729
+ #: ../wp-cerber.php:3182
730
  msgid "By user"
731
  msgstr "Etter brukernavn"
732
 
733
+ #: ../wp-cerber.php:3183
734
  msgid "From IP address"
735
  msgstr "Fra IP-adresse"
736
 
737
+ #: ../wp-cerber.php:3186
738
  msgid "From country"
739
  msgstr "Fra land"
740
 
741
+ #: ../wp-cerber.php:3190
742
  msgid "The WP Cerber security plugin is now active"
743
  msgstr "Sikkerhetstillegget WP Cerber er nå aktivt"
744
 
745
+ #: ../wp-cerber.php:3880
746
  msgid "Your IP address is added to the"
747
  msgstr "Din IP-adresse ble lagt til"
748
 
749
+ #: ../wp-cerber.php:3892
 
 
 
 
750
  msgid "Import settings"
751
  msgstr "Importer innstillinger"
752
 
753
+ #: ../settings.php:209
754
  msgid "Notification limit"
755
  msgstr "Grense for varslinger"
756
 
757
+ #: ../settings.php:209
758
  msgid "notification letters allowed per hour (0 means unlimited)"
759
  msgstr "varslingsmeldinger tillatt per time (0 betyr ubegrenset)"
760
 
761
+ #: ../settings.php:131
762
  msgid "User related settings"
763
  msgstr "Brukerrelaterte innstillinger"
764
 
765
+ #: ../settings.php:133
766
  msgid "Prohibited usernames"
767
  msgstr "Blokkerte brukernavn"
768
 
769
+ #: ../settings.php:139
770
  msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
771
  msgstr "Brukernavn fra denne listen har ikke tilgang til å logge inn eller registrere seg. Enhver IP som forsøker å bruke noen av disse brukernavnene blir blokkert umiddelbart. Bruk komma for å skille brukernavn."
772
 
773
+ #: ../settings.php:141
774
  msgid "User session expire"
775
  msgstr "Brukerøktens varighet"
776
 
777
+ #: ../settings.php:141
778
  msgid "in minutes (leave empty to use default WP value)"
779
  msgstr "i minutter (la stå tom for å bruke WordPress' standardverdi)"
780
 
781
+ #: ../settings.php:171
782
  msgid "reCAPTCHA settings"
783
  msgstr "reCAPTCHA-innstillinger"
784
 
785
+ #: ../settings.php:172
786
  msgid "Site key"
787
  msgstr "Site key"
788
 
789
+ #: ../settings.php:173
790
  msgid "Secret key"
791
  msgstr "Secret key"
792
 
793
+ #: ../settings.php:176
794
  msgid "Enable reCAPTCHA for WordPress registration form"
795
  msgstr "Slå på reCAPTCHA for WordPress' registreringsskjema"
796
 
797
+ #: ../settings.php:179
798
  msgid "Lost password form"
799
  msgstr "Skjema for mistet passord"
800
 
801
+ #: ../settings.php:182
802
  msgid "Login form"
803
  msgstr "Innloggingsskjema"
804
 
805
+ #: ../settings.php:182
806
  msgid "Enable reCAPTCHA for WordPress login form"
807
  msgstr "Slå på reCAPTCHA for WordPress' innloggingsskjema"
808
 
809
+ #: ../settings.php:325
 
 
 
 
810
  msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
811
  msgstr "Før du kan ta i bruk reCAPTCHA må du skaffe deg en Site key og Secret key på Googles webside"
812
 
813
+ #: ../cerber-lab.php:669 ../settings.php:326
814
  msgid "Know more"
815
  msgstr "Lær mer"
816
 
817
+ #: ../dashboard.php:915 ../settings.php:345
818
  msgid "WP Cerber Security"
819
  msgstr "WP Cerber-sikkerhet"
820
 
821
+ #: ../settings.php:365
822
  msgid "Users"
823
  msgstr "Brukere"
824
 
825
+ #: ../common.php:611
826
  msgid "User created"
827
  msgstr "Bruker opprettet"
828
 
829
+ #: ../dashboard.php:1332 ../common.php:612
830
  msgid "User registered"
831
  msgstr "Bruker registrert"
832
 
833
+ #: ../common.php:639
834
  msgid "reCAPTCHA verification failed"
835
  msgstr "reCAPTCHA-godkjenning mislyktes"
836
 
837
+ #: ../common.php:640
838
  msgid "reCAPTCHA settings are incorrect"
839
  msgstr "reCAPTCHA-innstillingene er feil"
840
 
841
+ #: ../common.php:643
842
  msgid "Attempt to access prohibited URL"
843
  msgstr "Forsøk på å koble til forbudt URL"
844
 
845
+ #: ../common.php:645 ../common.php:691
846
  msgid "Attempt to log in with prohibited username"
847
  msgstr "Forsøk på å logge inn med forbudt brukernavn"
848
 
849
+ #: ../settings.php:96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
850
  msgid "Cerber Lab connection"
851
  msgstr "Tilkobling til Cerber Lab"
852
 
853
+ #: ../settings.php:96
854
  msgid "Send malicious IP addresses to the Cerber Lab"
855
  msgstr "Send ondsinnede IP-adresser til Cerber Lab"
856
 
857
+ #: ../settings.php:97
858
  msgid "Cerber Lab protocol"
859
  msgstr "Cerber Lab protokoll"
860
 
861
+ #: ../settings.php:151 ../settings.php:176
862
  msgid "Registration form"
863
  msgstr "Registreringsskjema"
864
 
865
+ #: ../settings.php:177
866
  msgid "Enable reCAPTCHA for WooCommerce registration form"
867
  msgstr "Slå på reCAPTCHA for WooCommerces registreringsskjema"
868
 
869
+ #: ../settings.php:179
870
  msgid "Enable reCAPTCHA for WordPress lost password form"
871
  msgstr "Slå på reCAPTCHA for WordPress' skjema for mistet passord"
872
 
873
+ #: ../settings.php:180
874
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
875
  msgstr "Slå på reCAPTCHA for WooCommerce mistet passord-skjema"
876
 
877
+ #: ../settings.php:183
878
  msgid "Enable reCAPTCHA for WooCommerce login form"
879
  msgstr "Slå på reCAPTCHA for WooCommerce innloggings-skjema"
880
 
881
+ #: ../common.php:641
882
  msgid "Request to the Google reCAPTCHA service failed"
883
  msgstr "Forespørsel til Googles reCAPTCHA-tjeneste mislyktes"
884
 
885
+ #: ../dashboard.php:1324 ../dashboard.php:1354
886
  msgid "View all"
887
  msgstr "Se alle"
888
 
889
+ #: ../dashboard.php:1355
890
  msgid "Recently locked out IP addresses"
891
  msgstr "Nylig utestengte IP-adresser"
892
 
893
+ #: ../cerber-lab.php:667
894
  msgid "OK, nail them all"
895
  msgstr "OK, ta alle sammen"
896
 
897
+ #: ../cerber-lab.php:668
898
  msgid "NO, maybe later"
899
  msgstr "NEI, kanskje senere"
900
 
901
+ #: ../dashboard.php:917 ../dashboard.php:1141 ../dashboard.php:1672 ../settings.
902
+ #: php:350
903
  msgid "Dashboard"
904
  msgstr "Kontrollpanel"
905
 
906
+ #: ../cerber-lab.php:665
907
  msgid "Want to make WP Cerber even more powerful?"
908
  msgstr "Vil du gjøre WP Cerber enda sterkere?"
909
 
910
+ #: ../cerber-lab.php:666
911
  msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
912
  msgstr "Tillat at WP Cerber sender utestengde ondsinnede IP-adresser til Cerber Lab. Dette hjelper plugin-teamet å utvikle nye algoritmer som vil beskytte WordPress mot nye trusler og botnett som dukker opp hver dag. Du kan slå av sendingen i plugin-innstillingene når som helst."
913
 
914
+ #: ../dashboard.php:489
915
  msgid "IP address"
916
  msgstr "IP-adresse"
917
 
918
+ #: ../dashboard.php:489
919
  msgid "User login"
920
  msgstr "Brukernavn"
921
 
922
+ #: ../dashboard.php:489
923
  msgid "User ID"
924
  msgstr "Bruker-ID"
925
 
926
+ #: ../dashboard.php:669
927
  msgid "Export"
928
  msgstr "Eksporter"
929
 
930
+ #: ../dashboard.php:689
 
 
 
 
931
  msgid "Search for IP or username"
932
  msgstr "Søk etter IP eller brukernavn"
933
 
934
+ #: ../dashboard.php:689
935
  msgid "Filter"
936
  msgstr "Filter"
937
 
938
+ #: ../dashboard.php:917
939
  msgid "Cerber Dashboard"
940
  msgstr "Cerber-kontrollpanel"
941
 
942
+ #: ../dashboard.php:927
 
 
 
 
943
  msgid "Cerber tools"
944
  msgstr "Cerber-verktøy"
945
 
946
+ #: ../dashboard.php:1582
947
  msgid "Subscribe"
948
  msgstr "Abbonér"
949
 
950
+ #: ../dashboard.php:1583 ../cerber-tools.php:266
951
  msgid "Unsubscribe"
952
  msgstr "Avslutt abonnementet"
953
 
954
+ #: ../dashboard.php:1611
955
  msgid "You've subscribed"
956
  msgstr "Du abbonerer"
957
 
958
+ #: ../dashboard.php:1614
959
  msgid "You've unsubscribed"
960
  msgstr "Du har avsluttet abonnementet"
961
 
962
+ #: ../wp-cerber.php:3203 ../wp-cerber.php:3204
963
  msgid "A new activity has been recorded"
964
  msgstr "En ny aktivitet har blitt registrert"
965
 
966
+ #: ../wp-cerber.php:3665
967
  msgid "User"
968
  msgstr "Bruker"
969
 
970
+ #: ../wp-cerber.php:3673
971
  msgid "Search string"
972
  msgstr "Søkeord"
973
 
974
+ #: ../wp-cerber.php:3694
975
  msgid "To unsubscribe click here"
976
  msgstr "Klikk her for å avslutte abbonementet"
977
 
978
+ #: ../settings.php:100
979
  msgid "Preferences"
980
  msgstr "Valg"
981
 
982
+ #: ../settings.php:102
983
  msgid "Date format"
984
  msgstr "Datoformat"
985
 
986
+ #: ../settings.php:102
987
  msgid "if empty, the default format %s will be used"
988
  msgstr "hvis blank, vil formatet %s bli brukt"
989
 
990
+ #: ../dashboard.php:1137 ../settings.php:211
991
  msgid "Push notifications"
992
  msgstr "Push-varsler"
993
 
994
+ #: ../settings.php:194
995
  msgid "Email notifications"
996
  msgstr "E-postvarsel"
997
 
998
+ #: ../settings.php:201 ../settings.php:233 ../settings.php:282
999
  msgid "Use comma to specify multiple values"
1000
  msgstr "Bruk komma for å skille mellom flere verdier"
1001
 
1002
+ #: ../settings.php:218
1003
  msgid "All connected devices"
1004
  msgstr "Alle tilkoblede enheter"
1005
 
1006
+ #: ../settings.php:219
1007
  msgid "No devices found"
1008
  msgstr "Ingen enheter funnet"
1009
 
1010
+ #: ../settings.php:221
1011
  msgid "Not available"
1012
  msgstr "Ikke tilgjengelig"
1013
 
1014
+ #: ../common.php:637
1015
+ msgid "Password reset requested"
1016
+ msgstr "Nullstilling av passord forespurt"
1017
+
1018
+ #: ../common.php:692
1019
+ msgid "Limit on failed reCAPTCHA verifications is reached"
1020
+ msgstr "Grensen for mislykkede reCAPTCHA-verifiseringer er nådd"
1021
+
1022
+ #: ../common.php:750
1023
+ msgid "%s ago"
1024
+ msgstr "%s siden"
1025
+
1026
+ #: ../settings.php:74
1027
+ msgid "Apply limit login rules to IP addresses in the White IP Access List"
1028
+ msgstr "Aktivér regler for begrensning av innloggingsforsøk for hvitlistede IP-adresser."
1029
+
1030
+ #: ../settings.php:83
1031
+ msgid "Display 404 page"
1032
+ msgstr "Vis 404-siden"
1033
+
1034
+ #: ../settings.php:174
1035
+ msgid "Invisible reCAPTCHA"
1036
+ msgstr "Usynlig reCAPTCHA"
1037
+
1038
+ #: ../settings.php:174
1039
+ msgid "Enable invisible reCAPTCHA"
1040
+ msgstr "Aktivér usynlig reCAPTCHA"
1041
+
1042
+ #: ../settings.php:174
1043
+ msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
1044
+ msgstr "(ikke aktivér denne med mindre du legger inn sidenøkkel og hemmelig nøkkel for den usynlige versjonen)"
1045
+
1046
+ #: ../settings.php:185
1047
+ msgid "Enable reCAPTCHA for WordPress comment form"
1048
+ msgstr "Aktivér reCAPTCHA for WordPress' kommentarskjema"
1049
+
1050
+ #: ../settings.php:186
1051
+ msgid "Disable reCAPTCHA for logged in users"
1052
+ msgstr "Deaktivér reCAPTCHA for innloggede brukere"
1053
+
1054
+ #: ../settings.php:188
1055
+ msgid "Limit attempts"
1056
+ msgstr "Begrens forsøk"
1057
+
1058
+ #: ../settings.php:188
1059
+ msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1060
+ msgstr "Steng ute IP-adresser for %s minutter etter %s mislykkede forsøk på %s minutter"
1061
+
1062
+ #: ../settings.php:319
1063
+ msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
1064
+ msgstr "I vakttårnsmodus kan ingen andre enn hvitlistede IP-adresser logge seg inn. Allerede innloggede brukere vil ikke bli påvirket."
1065
+
1066
+ #: ../dashboard.php:489 ../dashboard.php:647
1067
+ msgid "Event"
1068
+ msgstr "Hendelse"
1069
+
1070
+ #: ../common.php:137
1071
+ msgid "Spam comments denied"
1072
+ msgstr "Spam-kommentarer nektet"
1073
+
1074
+ #: ../common.php:139
1075
+ msgid "Malicious IP addresses detected"
1076
+ msgstr "Ondsinnede IP-adresser oppdaget"
1077
+
1078
+ #: ../common.php:140
1079
+ msgid "Lockouts occurred"
1080
+ msgstr "Utestengelser"
1081
+
1082
+ #: ../dashboard.php:1333
1083
+ msgid "All suspicious activity"
1084
+ msgstr "All mistenkelig aktivitet"
1085
+
1086
+ #: ../wp-cerber.php:1043 ../wp-cerber.php:1049 ../wp-cerber.php:1065 ../wp-cerber.
1087
+ #: php:1072
1088
+ msgid "You are not allowed to register."
1089
+ msgstr "Du har ikke tilgang til å registrere deg"
1090
+
1091
+ #: ../common.php:622
1092
+ msgid "Spam comment denied"
1093
+ msgstr "Spam-kommentar nektet"
1094
+
1095
+ #: ../common.php:647
1096
+ msgid "Attempt to log in denied"
1097
+ msgstr "Innloggingsforsøk nektet"
1098
+
1099
+ #: ../common.php:648
1100
+ msgid "Attempt to register denied"
1101
+ msgstr "Registreringsforsøk nektet"
1102
+
1103
+ #: ../common.php:134
1104
+ msgid "Malicious activities mitigated"
1105
+ msgstr "Mistenkelige aktiviteter redusert"
1106
+
1107
+ #: ../dashboard.php:926
1108
+ msgid "Cerber antispam settings"
1109
+ msgstr "Cerber antispam-innstillinger"
1110
+
1111
+ #: ../dashboard.php:926 ../dashboard.php:1144 ../wp-cerber.php:3889 ../settings.
1112
+ #: php:185
1113
+ msgid "Antispam"
1114
+ msgstr "Antispam"
1115
+
1116
+ #: ../settings.php:149
1117
+ msgid "Cerber antispam engine"
1118
+ msgstr "Cerber antispam-system"
1119
+
1120
+ #: ../settings.php:150
1121
+ msgid "Comment form"
1122
+ msgstr "Kommentarskjema"
1123
+
1124
+ #: ../settings.php:150
1125
+ msgid "Protect comment form with bot detection engine"
1126
+ msgstr "Beskytt kommentarskjema med system for bot-oppdagelse"
1127
+
1128
+ #: ../settings.php:151
1129
+ msgid "Protect registration form with bot detection engine"
1130
+ msgstr "Beskytt registreringssskjema med system for bot-oppdagelse"
1131
+
1132
+ #: ../cerber-tools.php:48
1133
+ msgid "Export & Import"
1134
+ msgstr "Eksporter og importer"
1135
+
1136
+ #: ../cerber-tools.php:49
1137
+ msgid "Diagnostic"
1138
+ msgstr "Diagnose"
1139
+
1140
+ #: ../cerber-tools.php:50
1141
+ msgid "License"
1142
+ msgstr "Lisens"
1143
+
1144
+ #: ../cerber-tools.php:336
1145
+ msgid "Antispam and bot detection settings"
1146
+ msgstr "Innstillinger for antispam og bot-oppdagelse"
1147
+
1148
+ #: ../wp-cerber.php:1308
1149
+ msgid "Sorry, human verification failed."
1150
+ msgstr "Beklager, menneskeverifisering feilet"
1151
+
1152
+ #: ../common.php:693
1153
+ msgid "Bot activity is detected"
1154
+ msgstr "Bot-aktivitet er oppdaget"
1155
+
1156
+ #: ../settings.php:166
1157
+ msgid "Comment processing"
1158
+ msgstr "Behandler kommentaren"
1159
+
1160
+ #: ../settings.php:167
1161
+ msgid "If a spam comment detected"
1162
+ msgstr "Hvis en spam-kommentar oppdages"
1163
+
1164
+ #: ../settings.php:168
1165
+ msgid "Trash spam comments"
1166
+ msgstr "Kast spam-kommentarer i papirkurven"
1167
+
1168
+ #: ../settings.php:168
1169
+ msgid "Move spam comments to trash after"
1170
+ msgstr "Flytt spam-kommentarer til papirkurven etter"
1171
+
1172
+ #: ../common.php:623
1173
+ msgid "Spam form submission denied"
1174
+ msgstr "Innsending av skjema nektet pga. spam"
1175
+
1176
+ #: ../settings.php:152
1177
+ msgid "Other forms"
1178
+ msgstr "Andre skjemaer"
1179
+
1180
+ #: ../settings.php:152
1181
+ msgid "Protect all forms on the website with bot detection engine"
1182
+ msgstr "Beskytt alle skjemaer på websiden med systemet for bot-oppdagelse"
1183
+
1184
+ #: ../settings.php:154
1185
+ msgid "Adjust antispam engine"
1186
+ msgstr "Justér antispam-systemet"
1187
+
1188
+ #: ../settings.php:155
1189
+ msgid "Safe mode"
1190
+ msgstr "Sikkermodus"
1191
+
1192
+ #: ../settings.php:155
1193
+ msgid "Use less restrictive policies (allow AJAX)"
1194
+ msgstr "Bruk mindre restriktive regler (tillat AJAX)"
1195
+
1196
+ #: ../dashboard.php:2705 ../settings.php:156
1197
+ msgid "Logged in users"
1198
+ msgstr "Innloggede brukere"
1199
+
1200
+ #: ../settings.php:156
1201
+ msgid "Disable bot detection engine for logged in users"
1202
+ msgstr "Deaktivér systemet for bot-oppdagelse for innloggede brukere"
1203
+
1204
+ #. Name of the plugin
1205
+ #:
1206
+ msgid "WP Cerber Security & Antispam"
1207
+ msgstr "WP Cerber Sikkerhet og Antispam"
1208
+
1209
+ #: ../dashboard.php:95 ../dashboard.php:645
1210
+ msgid "Country"
1211
+ msgstr "Land"
1212
+
1213
+ #: ../dashboard.php:680
1214
+ msgid "All events"
1215
+ msgstr "Alle hendelser"
1216
+
1217
+ #: ../dashboard.php:923
1218
+ msgid "Cerber Security Rules"
1219
+ msgstr "Cerber sikkerhetsregler"
1220
+
1221
+ #: ../dashboard.php:923 ../dashboard.php:2040
1222
+ msgid "Security Rules"
1223
+ msgstr "Sikkerhetsregler"
1224
+
1225
+ #: ../dashboard.php:1000
1226
+ msgid "Failed login attempts"
1227
+ msgstr "Mislykkede innloggingsforsøk"
1228
+
1229
+ #: ../dashboard.php:1001
1230
+ msgid "Registered"
1231
+ msgstr "Registrert"
1232
+
1233
+ #: ../dashboard.php:1068
1234
+ msgid "You"
1235
+ msgstr "Deg"
1236
+
1237
+ #: ../common.php:138
1238
+ msgid "Spam form submissions denied"
1239
+ msgstr "Innsending av skjema nektet pga. spam"
1240
+
1241
+ #: ../dashboard.php:1390 ../wp-cerber.php:3193 ../wp-cerber.php:3882
1242
+ msgid "Getting Started Guide"
1243
+ msgstr "Hurtigstartsguide"
1244
+
1245
+ #: ../dashboard.php:2045
1246
+ msgid "Countries"
1247
+ msgstr "Land"
1248
+
1249
+ #: ../dashboard.php:2108
1250
+ msgid "Permitted for one country"
1251
+ msgid_plural "Permitted for %d countries"
1252
+ msgstr[0] "Tillatt for ett land"
1253
+ msgstr[1] "Tillatt for %s land"
1254
+
1255
+ #: ../dashboard.php:2119
1256
+ msgid "No rule"
1257
+ msgstr "Ingen regel"
1258
+
1259
+ #: ../dashboard.php:2331
1260
+ msgid "Security rules have been updated"
1261
+ msgstr "Sikkerhetsreglene har blitt oppdatert"
1262
+
1263
+ #. URI of the plugin
1264
+ #:
1265
+ msgid "https://wpcerber.com"
1266
+ msgstr "https://wpcerber.com"
1267
+
1268
+ #: ../common.php:624
1269
+ msgid "Form submission denied"
1270
+ msgstr "Innsending av skjema nektet"
1271
+
1272
+ #: ../common.php:625
1273
+ msgid "Comment denied"
1274
+ msgstr "Kommentar nektet"
1275
+
1276
+ #: ../common.php:651
1277
+ msgid "Request to REST API denied"
1278
+ msgstr "Forespørsel til REST API nektet"
1279
+
1280
+ #: ../common.php:652
1281
+ msgid "XML-RPC request denied"
1282
+ msgstr "Forespørsel til XML-RPC nektet"
1283
+
1284
+ #: ../common.php:656
1285
+ msgid "Bot detected"
1286
+ msgstr "Bot oppdaget"
1287
+
1288
+ #: ../common.php:657
1289
+ msgid "Citadel mode is active"
1290
+ msgstr "Vakttårnsmodus er aktiv"
1291
+
1292
+ #: ../common.php:662
1293
+ msgid "Malicious activity detected"
1294
+ msgstr "Mistenkelig aktivitet oppdaget"
1295
+
1296
+ #: ../common.php:663
1297
+ msgid "Blocked by country rule"
1298
+ msgstr "Blokkert av land-regel"
1299
+
1300
+ #: ../common.php:664
1301
+ msgid "Limit reached"
1302
+ msgstr "Grensen er nådd"
1303
+
1304
+ #: ../common.php:665
1305
+ msgid "Multiple suspicious activities"
1306
+ msgstr "Flere mistenkelige aktiviteter"
1307
+
1308
+ #: ../common.php:694
1309
+ msgid "Multiple suspicious activities were detected"
1310
+ msgstr "Flere mistenkelige aktiviteter ble oppdaget"
1311
+
1312
+ #: ../settings.php:110
1313
+ msgid "Block access to user pages like /?author=n and user data via REST API"
1314
+ msgstr "Blokkér tilgang til brukersider som /?author=n og brukerdata via REST API"
1315
+
1316
+ #: ../settings.php:113
1317
+ msgid "Block access to the WordPress REST API except the following"
1318
+ msgstr "Blokkér tilgang til WordPress' REST API, bortsett fra følgende"
1319
+
1320
+ #: ../settings.php:114
1321
+ msgid "Allow REST API for logged in users"
1322
+ msgstr "Tillat REST API for innloggede brukere"
1323
+
1324
+ #: ../settings.php:121
1325
+ msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
1326
+ msgstr "Spesifisér REST API navneområder som skal tillates når REST API er deaktivert. En string per linje."
1327
+
1328
+ #: ../settings.php:132
1329
+ msgid "Registration limit"
1330
+ msgstr "Grense for registreringer"
1331
+
1332
+ #: ../settings.php:142
1333
+ msgid "Sort users in dashboard"
1334
+ msgstr "Sorter brukere i kontrollpanelet"
1335
+
1336
+ #: ../settings.php:142
1337
+ msgid "by date of registration"
1338
+ msgstr "etter registreringsdato"
1339
+
1340
+ #: ../settings.php:157
1341
+ msgid "Query whitelist"
1342
+ msgstr "Forespør hvitliste"
1343
+
1344
+ #: ../settings.php:482 ../settings.php:604
1345
+ msgid "%s allowed registrations in %s minutes from one IP"
1346
+ msgstr "%s tillatte registreringer på %s minutter fra én IP-adresse"
1347
+
1348
+ #: ../dashboard.php:2175
1349
+ msgid "Start typing here to find a country"
1350
+ msgstr "Begynn å skrive her for å finne et land"
1351
+
1352
+ #: ../dashboard.php:2258
1353
+ msgid "Click on a country name to add it to the list of selected countries"
1354
+ msgstr "Klikk på et land for å legge det til listen over valgte land"
1355
+
1356
+ #: ../dashboard.php:2282
1357
+ msgid "Submit forms"
1358
+ msgstr "Send inn skjemaer"
1359
+
1360
+ #: ../dashboard.php:2283
1361
+ msgid "Post comments"
1362
+ msgstr "Publisér kommentarer"
1363
+
1364
+ #: ../dashboard.php:2284
1365
+ msgid "Log in to the website"
1366
+ msgstr "Logg inn på websiden"
1367
+
1368
+ #: ../dashboard.php:2285
1369
+ msgid "Register on the website"
1370
+ msgstr "Registrer på websiden"
1371
+
1372
+ #: ../dashboard.php:2286
1373
+ msgid "Use XML-RPC"
1374
+ msgstr "Bruk XML-RPC"
1375
+
1376
+ #: ../dashboard.php:2287
1377
+ msgid "Use REST API"
1378
+ msgstr "Bruk REST API"
1379
+
1380
+ #: ../settings.php:167
1381
+ msgid "Deny it completely"
1382
+ msgstr "Nekt det fullstendig"
1383
+
1384
+ #: ../settings.php:167
1385
+ msgid "Mark it as spam"
1386
+ msgstr "Marker det som spam"
1387
+
1388
+ #: ../dashboard.php:1318
1389
+ msgid "in the last 24 hours"
1390
+ msgstr "i løpet av de siste 24 timer"
1391
+
1392
+ #: ../dashboard.php:1673
1393
+ msgid "Main settings"
1394
+ msgstr "Hovedinnstillinger"
1395
+
1396
+ #: ../settings.php:225
1397
+ msgid "Weekly reports"
1398
+ msgstr "Ukentlige rapporter"
1399
+
1400
+ #: ../settings.php:701
1401
+ msgid "Sunday"
1402
+ msgstr "Søndag"
1403
+
1404
+ #: ../settings.php:702
1405
+ msgid "Monday"
1406
+ msgstr "Mandag"
1407
+
1408
+ #: ../settings.php:703
1409
+ msgid "Tuesday"
1410
+ msgstr "Tirsdag"
1411
+
1412
+ #: ../settings.php:704
1413
+ msgid "Wednesday"
1414
+ msgstr "Onsdag"
1415
+
1416
+ #: ../settings.php:705
1417
+ msgid "Thursday"
1418
+ msgstr "Torsdag"
1419
+
1420
+ #: ../settings.php:706
1421
+ msgid "Friday"
1422
+ msgstr "Fredag"
1423
+
1424
+ #: ../settings.php:707
1425
+ msgid "Saturday"
1426
+ msgstr "Lørdag"
1427
+
1428
+ #: ../settings.php:760 ../settings.php:761
1429
+ msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
1430
+ msgstr "Hvis du bruker en plugin for caching, må du legge din nye innloggings-URL til listen over sider som ikke skal caches."
1431
+
1432
+ #. translators: preposition of time
1433
+ #: ../settings.php:717
1434
+ msgctxt "preposition of time"
1435
+ msgid "at"
1436
+ msgstr "klokken"
1437
+
1438
+ #: ../wp-cerber.php:3209
1439
+ msgid "Weekly report"
1440
+ msgstr "Ukentlig rapport"
1441
+
1442
+ #: ../wp-cerber.php:3212
1443
+ msgid "To change reporting settings visit"
1444
+ msgstr "For å endre rapporteringsinnstillingene, besøk"
1445
+
1446
+ #: ../wp-cerber.php:3238
1447
+ msgid "Your login page:"
1448
+ msgstr "Din innloggingsside"
1449
+
1450
+ #: ../wp-cerber.php:3242
1451
+ msgid "Your license is valid until"
1452
+ msgstr "Din lisens er gyldig inntil"
1453
+
1454
+ #: ../wp-cerber.php:3355
1455
+ msgid "Activity details"
1456
+ msgstr "Aktivitetsdetaljer"
1457
+
1458
+ #: ../settings.php:733
1459
+ msgid "Click to send now"
1460
+ msgstr "Klikk for å sende nå"
1461
+
1462
+ #: ../wp-cerber.php:705
1463
+ msgid "> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/"
1464
+ msgstr "> > > WP Cerber-oversetter? For å få en gratis PRO-lisens, legg igjen din kontaktinfo her: https://wpcerber.com/contact"
1465
+
1466
+ #: ../dashboard.php:378
1467
+ msgid "Email has been sent to"
1468
+ msgstr "E-post har blitt sendt til"
1469
+
1470
+ #: ../dashboard.php:381
1471
+ msgid "Unable to send email to"
1472
+ msgstr "Kunne ikke sende e-post til"
1473
+
1474
+ #: ../dashboard.php:2111
1475
+ msgid "Not permitted for one country"
1476
+ msgid_plural "Not permitted for %d countries"
1477
+ msgstr[0] "Ikke tillatt for ett land"
1478
+ msgstr[1] "Ikke tillatt for %d land"
1479
+
1480
+ #: ../dashboard.php:2262
1481
+ msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1482
+ msgid "Selected countries are permitted to %s, other countries are not permitted to"
1483
+ msgstr "Valgte land er tillatt å %s, andre land er ikke tillatt å"
1484
+
1485
+ #: ../dashboard.php:2265
1486
+ msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1487
+ msgid "Selected countries are not permitted to %s, other countries are permitted to"
1488
+ msgstr "Valgte land er ikke tillatt å %s, andre land er tillatt å"
1489
+
1490
+ #. Description of the plugin
1491
+ #:
1492
+ msgid "Protects site from brute force attacks, bots and hackers. Antispam protection with the Cerber antispam engine and reCAPTCHA. Comprehensive control of user activity. Restrict login by IP access lists. Limit login attempts. Know more: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1493
+ msgstr "Beskytter siden mot brute force-angrep, botter og hackere. Antispam-beskyttelse via Cerbers eget system og reCAPTCHA. Omfattende kontroll av brukeraktivitet. Begrens innlogging etter IP-adresselister. Begrens innloggingsforsøk. Finn ut mer: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1494
+
1495
+ #: ../wp-cerber.php:3343
1496
+ msgid "Weekly Report"
1497
+ msgstr "Ukentlig rapport"
1498
+
1499
+ #: ../settings.php:83
1500
+ msgid "Use 404 template from the active theme"
1501
+ msgstr "Bruk malen for 404-siden fra det aktive temaet."
1502
+
1503
+ #: ../settings.php:83
1504
+ msgid "Display simple 404 page"
1505
+ msgstr "Vis en enkel 404-side"
1506
+
1507
+ #: ../settings.php:163
1508
+ msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
1509
+ msgstr "Skriv inn en del av en spørringsstreng for å ekskludere en forespørsel fra undersøkelse av systemet. En feorespørsel per linje."
1510
+
1511
+ #: ../settings.php:238
1512
+ msgid "if empty, email from notification settings will be used"
1513
+ msgstr "hvis feltet er tomt, vil e-postadressen fra varselinnstillingene bli brukt"
1514
+
1515
+ #: ../settings.php:226
1516
+ msgid "Enable reporting"
1517
+ msgstr "Aktivér rapportering"
1518
+
1519
+ #: ../wp-cerber.php:3265
1520
+ msgid "Your last sign-in was %s from %s"
1521
+ msgstr "Din siste innlogging var %s fra %s"
1522
+
1523
+ #: ../wp-cerber.php:3369
1524
+ msgid "Attempts to log in with non-existent username"
1525
+ msgstr "Forsøk på å logge inn med ikke-eksisterende brukernavn"
1526
+
1527
+ #: ../dashboard.php:167
1528
+ msgid "IP address, IPv4 address range or subnet"
1529
+ msgstr "IP-adresse, IPv4-adresseområde eller subnet"
1530
+
1531
+ #: ../dashboard.php:169
1532
+ msgid "Optional comment for this entry"
1533
+ msgstr "Valgfri kommentar for denne oppføringen"
1534
+
1535
+ #: ../dashboard.php:210
1536
+ msgid "You cannot add your IP address or network"
1537
+ msgstr "Du kan ikke legge til din IP-adresse eller nettverk"
1538
+
1539
+ #: ../cerber-news.php:141
1540
+ msgid "Cool!"
1541
+ msgstr "Kult!"
1542
+
1543
+ #: ../settings.php:139
1544
+ msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
1545
+ msgstr "For å spesifisere et REGEX-mønster, pakk mønsteret inn i to skråstreker."
1546
+
1547
+ #: ../dashboard.php:919
1548
+ msgid "Cerber Traffic Inspector"
1549
+ msgstr ""
1550
+
1551
+ #: ../dashboard.php:919 ../dashboard.php:2380
1552
+ msgid "Traffic Inspector"
1553
+ msgstr ""
1554
+
1555
+ #: ../dashboard.php:1143
1556
+ msgid "Traffic"
1557
+ msgstr ""
1558
+
1559
+ #: ../dashboard.php:2385
1560
+ msgid "Live traffic"
1561
+ msgstr ""
1562
+
1563
+ #: ../dashboard.php:2673
1564
+ msgid "Request"
1565
+ msgstr ""
1566
+
1567
+ #: ../dashboard.php:2675
1568
+ msgid "Host Info"
1569
+ msgstr ""
1570
+
1571
+ #: ../dashboard.php:2676
1572
+ msgid "User Agent"
1573
+ msgstr ""
1574
+
1575
+ #: ../dashboard.php:2696
1576
+ msgid "No requests has been logged."
1577
+ msgstr ""
1578
+
1579
+ #: ../dashboard.php:2704
1580
+ msgid "All requests"
1581
+ msgstr ""
1582
+
1583
+ #: ../dashboard.php:2706
1584
+ msgid "Not logged in visitors"
1585
+ msgstr ""
1586
+
1587
+ #: ../dashboard.php:2707
1588
+ msgid "Form submissions"
1589
+ msgstr ""
1590
+
1591
+ #: ../dashboard.php:2708
1592
+ msgid "Page Not Found"
1593
+ msgstr ""
1594
+
1595
+ #: ../dashboard.php:2709
1596
+ msgid "REST API"
1597
+ msgstr ""
1598
+
1599
+ #: ../dashboard.php:2710
1600
+ msgid "XML-RPC"
1601
+ msgstr ""
1602
+
1603
+ #: ../dashboard.php:2714
1604
+ msgid "Longer than"
1605
+ msgstr ""
1606
+
1607
+ #: ../dashboard.php:2725
1608
+ msgid "Refresh"
1609
+ msgstr ""
1610
+
1611
+ #: ../common.php:101
1612
+ msgid "Check for requests"
1613
+ msgstr ""
1614
+
1615
+ #: ../common.php:649 ../common.php:695
1616
+ msgid "Probing for vulnerable PHP script"
1617
+ msgstr ""
1618
+
1619
+ #: ../common.php:910
1620
+ msgid "Not specified"
1621
+ msgstr ""
1622
+
1623
+ #: ../settings.php:245
1624
+ msgid "Logging settings"
1625
+ msgstr ""
1626
+
1627
+ #: ../settings.php:254
1628
+ msgid "Logging mode"
1629
+ msgstr ""
1630
+
1631
+ #: ../settings.php:260
1632
+ msgid "Logging disabled"
1633
+ msgstr ""
1634
+
1635
+ #: ../settings.php:261
1636
+ msgid "Smart"
1637
+ msgstr ""
1638
+
1639
+ #: ../settings.php:262
1640
+ msgid "All traffic"
1641
+ msgstr ""
1642
+
1643
+ #: ../settings.php:266
1644
+ msgid "Ignore crawlers"
1645
+ msgstr ""
1646
+
1647
+ #: ../settings.php:276
1648
+ msgid "Mask these form fields"
1649
+ msgstr ""
1650
+
1651
+ #: ../settings.php:291
1652
+ msgid "milliseconds"
1653
+ msgstr ""
1654
+
1655
+ #: ../settings.php:246
1656
+ msgid "Inspection"
1657
+ msgstr ""
1658
+
1659
+ #: ../settings.php:247
1660
+ msgid "Enable traffic inspection"
1661
+ msgstr ""
1662
+
1663
+ #: ../settings.php:253
1664
+ msgid "Logging"
1665
+ msgstr ""
1666
+
1667
+ #: ../settings.php:271
1668
+ msgid "Save request fields"
1669
+ msgstr ""
1670
+
1671
+ #: ../settings.php:286
1672
+ msgid "Page generation time threshold"
1673
+ msgstr ""
1674
+
languages/wp-cerber-nl_NL.mo CHANGED
Binary file
languages/wp-cerber-nl_NL.po CHANGED
@@ -8,125 +8,126 @@ msgstr ""
8
  "Language: nl\n"
9
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
10
 
11
- #: ../settings.php:67
12
  msgid "Limit login attempts"
13
  msgstr "Inlogpogingen beperken"
14
 
15
- #: ../settings.php:68
16
  msgid "Attempts"
17
  msgstr "Pogingen"
18
 
19
- #: ../settings.php:69
20
  msgid "Lockout duration"
21
  msgstr "Lockout duur"
22
 
23
- #: ../settings.php:69 ../settings.php:88
24
  msgid "minutes"
25
  msgstr "minuten"
26
 
27
- #: ../settings.php:70
28
  msgid "Aggressive lockout"
29
  msgstr "Agressieve uitsluiting"
30
 
31
- #: ../settings.php:73
32
  msgid "Site connection"
33
  msgstr "Websiteverbinding"
34
 
35
- #: ../settings.php:75
36
  msgid "Proactive security rules"
37
  msgstr "Proactieve beveiligingsregels"
38
 
39
- #: ../settings.php:76
40
  msgid "Block subnet"
41
  msgstr "Subnet blokkeren"
42
 
43
- #: ../settings.php:79
44
  msgid "Request wp-login.php"
45
  msgstr "Verzoek wp-login.php"
46
 
47
- #: ../settings.php:79
48
  msgid "Immediately block IP after any request to wp-login.php"
49
  msgstr "IP meteen blokkeren bij verzoeken aan wp-login.php"
50
 
51
- #: ../settings.php:78
52
  msgid "Redirect dashboard requests"
53
  msgstr "Dashboardverzoeken omleiden"
54
 
55
- #: ../settings.php:82
56
  msgid "Custom login page"
57
  msgstr "Aangepaste inlogpagina"
58
 
59
- #: ../settings.php:83
60
  msgid "Custom login URL"
61
  msgstr "Aangepaste inlog-URL"
62
 
63
- #: ../settings.php:83
64
  msgid "must not overlap with the existing pages or posts slug"
65
  msgstr "mag niet overlappen met bestaande pagina's of post slugs"
66
 
67
- #: ../settings.php:84
68
  msgid "Disable wp-login.php"
69
  msgstr "Wp-login.php uitschakelen"
70
 
71
- #: ../settings.php:84
72
  msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
73
  msgstr "Directe toegang tot wp-login.php blokkeren en HTTP 404 Not Found Error teruggeven"
74
 
75
- #: ../dashboard.php:1109 ../settings.php:86
76
  msgid "Citadel mode"
77
  msgstr "Citadelmodus"
78
 
79
- #: ../settings.php:87
80
  msgid "Threshold"
81
  msgstr "Drempelwaarde"
82
 
83
- #: ../settings.php:88
84
  msgid "Duration"
85
  msgstr "Duur"
86
 
87
- #: ../wp-cerber.php:3742 ../settings.php:72 ../settings.php:89 ../settings.php:262
88
  msgid "Notifications"
89
  msgstr "Meldingen"
90
 
91
- #: ../settings.php:89
92
  msgid "Send notification to admin email"
93
  msgstr "Melding versturen naar admin e-mailadres"
94
 
95
- #: ../dashboard.php:1118 ../wp-cerber.php:3739 ../settings.php:255 ../cerber-
96
- #: tools.php:88 ../cerber-tools.php:97 ../cerber-tools.php:178
97
  msgid "Access Lists"
98
  msgstr "Toegangslijsten"
99
 
100
- #: ../dashboard.php:1116 ../dashboard.php:1312 ../wp-cerber.php:3503 ../settings.
101
- #: php:91 ../settings.php:246
102
  msgid "Activity"
103
  msgstr "Activiteit"
104
 
105
- #: ../dashboard.php:1117 ../settings.php:250
106
  msgid "Lockouts"
107
  msgstr "Uitsluitingen"
108
 
109
- #: ../settings.php:377 ../settings.php:500
110
  msgid "%s allowed retries in %s minutes"
111
  msgstr "%s toegestane pogingen in %s minuten"
112
 
113
- #: ../settings.php:399 ../settings.php:522
114
  msgid "Enable after %s failed login attempts in last %s minutes"
115
  msgstr "Aanzetten na %s mislukte inlogpogingen binnen %s minuten"
116
 
117
- #: ../dashboard.php:93 ../dashboard.php:631 ../wp-cerber.php:3512
 
118
  msgid "IP"
119
  msgstr "IP"
120
 
121
- #: ../dashboard.php:476 ../dashboard.php:634
122
  msgid "Date"
123
  msgstr "Datum"
124
 
125
- #: ../dashboard.php:476 ../dashboard.php:636
126
  msgid "Local User"
127
  msgstr "Lokale gebruiker"
128
 
129
- #: ../dashboard.php:476 ../dashboard.php:637 ../wp-cerber.php:3520
130
  msgid "Username used"
131
  msgstr "Toegepaste gebruikersnaam"
132
 
@@ -134,158 +135,160 @@ msgstr "Toegepaste gebruikersnaam"
134
  msgid "Showing last %d records from %d"
135
  msgstr "Laatste %d records van %d"
136
 
137
- #: ../common.php:521
138
  msgid "Logged in"
139
  msgstr "Ingelogd"
140
 
141
- #: ../common.php:522
142
  msgid "Logged out"
143
  msgstr "Uitgelogd"
144
 
145
- #: ../common.php:523
146
  msgid "Login failed"
147
  msgstr "Inloggen mislukt"
148
 
149
- #: ../common.php:526
150
  msgid "IP blocked"
151
  msgstr "IP geblokkeerd"
152
 
153
- #: ../common.php:527
154
  msgid "Subnet blocked"
155
  msgstr "Subnet geblokkeerd"
156
 
157
- #: ../common.php:529
158
  msgid "Citadel activated!"
159
  msgstr "Citadelmodus geactiveerd!"
160
 
161
- #: ../dashboard.php:612 ../dashboard.php:816 ../common.php:565
 
162
  #, fuzzy
163
  msgid "Locked out"
164
  msgstr "Buitengesloten"
165
 
166
- #: ../common.php:566
167
  msgid "IP blacklisted"
168
  msgstr "IP uitgesloten"
169
 
170
- #: ../common.php:544
171
  msgid "Password changed"
172
  msgstr "Wachtwoord veranderd"
173
 
174
- #: ../dashboard.php:86 ../dashboard.php:158
175
  msgid "Remove"
176
  msgstr "Verwijderen"
177
 
178
- #: ../dashboard.php:387
179
  msgid "Lockout for %s was removed"
180
  msgstr "Uitsluiting voor %s is verwijderd"
181
 
182
- #: ../dashboard.php:131 ../dashboard.php:607 ../dashboard.php:811 ../dashboard.
183
- #: php:1107 ../wp-cerber.php:3731 ../settings.php:71 ../settings.php:216
 
184
  #, fuzzy
185
  msgid "White IP Access List"
186
  msgstr "Toegelaten IP-adressen"
187
 
188
- #: ../dashboard.php:133 ../dashboard.php:608 ../dashboard.php:813 ../dashboard.
189
- #: php:1108
190
  #, fuzzy
191
  msgid "Black IP Access List"
192
  msgstr "Uitgesloten IP-adressen"
193
 
194
- #: ../dashboard.php:163
195
  msgid "List is empty"
196
  msgstr "Lijst is leeg"
197
 
198
- #: ../dashboard.php:200
199
  #, fuzzy
200
  msgid "Address %s was added to White IP Access List"
201
  msgstr "Adres %s toegevoegd aan de Lijst Toegelaten IP-adressen"
202
 
203
- #: ../dashboard.php:214
204
  #, fuzzy
205
  msgid "Address %s was added to Black IP Access List"
206
  msgstr "Adres %s toegevoegd aan de Lijst Uitgesloten IP-adressen "
207
 
208
- #: ../wp-cerber.php:2995
209
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
210
  msgstr "Citadelmodus geactiveerd na %d mislukte inlogpogingen binnen %d minuten"
211
 
212
- #: ../dashboard.php:1454
213
  #, fuzzy
214
  msgid "View Activity"
215
  msgstr "Activiteit bekijken"
216
 
217
- #: ../cerber-tools.php:87 ../cerber-tools.php:96
218
  msgid "Settings"
219
  msgstr "Instellingen"
220
 
221
- #: ../dashboard.php:973
222
  #, fuzzy
223
  msgid "Last login"
224
  msgstr "Laatst ingelogd"
225
 
226
- #: ../dashboard.php:1006 ../dashboard.php:1090
227
  msgid "Never"
228
  msgstr "Nooit"
229
 
230
- #: ../dashboard.php:1356
231
  msgid "Are you sure?"
232
  msgstr "Weet je het zeker?"
233
 
234
- #: ../dashboard.php:1164 ../settings.php:73
235
  msgid "My site is behind a reverse proxy"
236
  msgstr "Mijn website draait achter een reverse proxy"
237
 
238
- #: ../settings.php:77
239
  msgid "Non-existent users"
240
  msgstr "Niet-bestaande gebruikers"
241
 
242
- #: ../settings.php:77
243
  msgid "Immediately block IP when attempting to login with a non-existent username"
244
  msgstr "IP meteen blokkeren bij inlogpoging op niet-bestaande gebruiker"
245
 
246
- #: ../settings.php:78
247
  msgid "Disable automatic redirecting to the login page when /wp-admin/ is requested by an unauthorized request"
248
  msgstr "Uitschakelen omleiding naar de inlogpagina bij ongeautoriseerde verzoeken aan /wp-admin/"
249
 
250
- #: ../settings.php:202
251
  msgid "Make your protection smarter!"
252
  msgstr "Maak je bescherming slimmer!"
253
 
254
- #: ../settings.php:206
255
  msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
256
  msgstr "Schakel Permalinks in om deze functionaliteit te gebruiken. Stel de Permalinks instelling in op iets anders dan Standaard."
257
 
258
- #: ../settings.php:209
259
  msgid "Be careful when enabling this options. If you forget the custom login URL you will not be able to login."
260
  msgstr "Pas op als je deze opties inschakelt! Vergeet je de aangepaste inlog-URL, dan kun je niet meer inloggen."
261
 
262
- #: ../wp-cerber.php:3738 ../settings.php:252
263
  msgid "Main Settings"
264
  msgstr "Hoofdinstellingen"
265
 
266
- #: ../settings.php:264
267
  msgid "Help"
268
  msgstr "Hulp"
269
 
270
- #: ../settings.php:387 ../settings.php:510
271
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
272
  msgstr "Uitsluitingsduur ophogen naar %s uren na %s uitsluitingen in de laatste %s uren"
273
 
274
- #: ../wp-cerber.php:237
275
  msgid "You are not allowed to log in. Ask your administrator for assistance."
276
  msgstr "Je hebt geen toestemming om in te loggen. Vraag je beheerder om informatie."
277
 
278
- #: ../wp-cerber.php:243
279
  msgid "You have reached the login attempts limit. Please try again in %d minutes."
280
  msgstr "Je hebt de limiet voor inlogpogingen bereikt. Probeer het opnieuw na %d minuten."
281
 
282
- #: ../wp-cerber.php:262
283
  msgid "You have only one attempt remaining."
284
  msgid_plural "You have %d attempts remaining."
285
  msgstr[0] "Slechts één inlogpoging resterend!"
286
  msgstr[1] "%s inlogpogingen resterend."
287
 
288
- #: ../dashboard.php:658
289
  msgid "No activity has been logged."
290
  msgstr "Geen activiteit waargenomen."
291
 
@@ -306,23 +309,23 @@ msgstr "Deze IP's worden nooit geblokkeerd."
306
  msgid "Your IP"
307
  msgstr "Jouw IP"
308
 
309
- #: ../wp-cerber.php:2996
310
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
311
  msgstr "Laatste mislukte inlogpoging was op %s vanaf IP %s op gebruiker %s."
312
 
313
- #: ../wp-cerber.php:3714
314
  msgid "Can't activate WP Cerber due to a database error."
315
  msgstr "Kan WP Cerber niet activeren door een fout in de database"
316
 
317
- #: ../settings.php:394 ../settings.php:517
318
  msgid "Notify admin if the number of active lockouts above"
319
  msgstr "Waarschuw de beheerder als het aantal actieve uitsluitingen stijgt tot boven"
320
 
321
- #: ../settings.php:92 ../settings.php:144
322
  msgid "days"
323
  msgstr "dagen"
324
 
325
- #: ../dashboard.php:1060
326
  msgid "Cerber Quick View"
327
  msgstr "Cerber Quick View"
328
 
@@ -334,47 +337,48 @@ msgstr "Tip"
334
  msgid "To view activity, click on the IP"
335
  msgstr "Klik op het IP om activiteiten te bekijken"
336
 
337
- #: ../dashboard.php:158 ../dashboard.php:843
 
338
  msgid "Check for activity"
339
  msgstr "Check voor activiteit"
340
 
341
- #: ../settings.php:76
342
  msgid "Always block entire subnet Class C of intruders IP"
343
  msgstr "Altijd gehele IP Class C subnet blokkeren van aanvaller"
344
 
345
- #: ../settings.php:89 ../settings.php:396 ../settings.php:519
346
  msgid "Click to send test"
347
  msgstr "Klik om test te verzenden"
348
 
349
- #: ../settings.php:659 ../settings.php:660
350
  msgid "Attention! You have changed the login URL! The new login URL is"
351
  msgstr "Let op! Je hebt de inlog-URL veranderd. De nieuwe inlog-URL is"
352
 
353
- #: ../dashboard.php:972
354
  msgid "Comments"
355
  msgstr "Reacties"
356
 
357
- #: ../common.php:785
358
  msgid "Update to version %s of WP Cerber"
359
  msgstr "WP Cerber updaten naar versie %s"
360
 
361
- #: ../wp-cerber.php:2997 ../wp-cerber.php:3544
362
  msgid "View activity in dashboard"
363
  msgstr "Activiteiten bekijken in dashboard"
364
 
365
- #: ../wp-cerber.php:3027
366
  msgid "Number of active lockouts"
367
  msgstr "Aantal actieve uitsluitingen"
368
 
369
- #: ../wp-cerber.php:3031
370
  msgid "View lockouts in dashboard"
371
  msgstr "Uitsluitingen bekijken in dashboard"
372
 
373
- #: ../wp-cerber.php:3113
374
  msgid "This message was sent by"
375
  msgstr "Dit bericht is verzonden door"
376
 
377
- #: ../dashboard.php:901 ../cerber-tools.php:43
378
  msgid "Tools"
379
  msgstr "Gereedschap"
380
 
@@ -434,215 +438,215 @@ msgstr "Instellingen geïmporteerd van"
434
  msgid "Error while parsing file"
435
  msgstr "Fout bij verwerken bestand"
436
 
437
- #: ../dashboard.php:94 ../dashboard.php:632
438
  msgid "Hostname"
439
  msgstr "Hostnaam"
440
 
441
- #: ../dashboard.php:353
442
  msgid "unknown"
443
  msgstr "onbekend"
444
 
445
- #: ../settings.php:92
446
  #, fuzzy
447
  msgid "Keep records for"
448
  msgstr "Gegevens behouden tot"
449
 
450
- #: ../dashboard.php:1094
451
  msgid "active"
452
  msgstr "actief"
453
 
454
- #: ../dashboard.php:1094
455
  msgid "deactivate"
456
  msgstr "deactiveren"
457
 
458
- #: ../dashboard.php:1096
459
  msgid "not active"
460
  msgstr "niet actief"
461
 
462
- #: ../dashboard.php:1097
463
  msgid "disabled"
464
  msgstr "gedeactiveerd"
465
 
466
- #: ../dashboard.php:1102
467
  msgid "failed attempts"
468
  msgstr "mislukte pogingen"
469
 
470
- #: ../dashboard.php:1102 ../dashboard.php:1103
471
  msgid "in 24 hours"
472
  msgstr "in 24 uur"
473
 
474
- #: ../dashboard.php:1102 ../dashboard.php:1103
475
  msgid "view all"
476
  msgstr "bekijk alles"
477
 
478
- #: ../dashboard.php:1103
479
  msgid "lockouts"
480
  msgstr "uitsluitingen"
481
 
482
- #: ../dashboard.php:1105
483
  msgid "Lockouts at the moment"
484
  msgstr "Uitsluitingen op dit moment"
485
 
486
- #: ../dashboard.php:1106
487
  #, fuzzy
488
  msgid "Last lockout"
489
  msgstr "Recente uitsluiting"
490
 
491
- #: ../dashboard.php:1107 ../dashboard.php:1108 ../dashboard.php:1620
492
  msgid "entry"
493
  msgid_plural "entries"
494
  msgstr[0] "item"
495
  msgstr[1] "items"
496
 
497
- #: ../dashboard.php:1351
498
  #, fuzzy
499
  msgid "Confused about some settings?"
500
  msgstr "Verward over sommige instellingen?"
501
 
502
- #: ../dashboard.php:1352
503
  #, fuzzy
504
  msgid "You can easily load default recommended settings using button below"
505
  msgstr "Met onderstaande knop laad je de aanbevolen instellingen"
506
 
507
- #: ../dashboard.php:1354
508
  #, fuzzy
509
  msgid "Load default settings"
510
  msgstr "Aanbevolen instellingen laden"
511
 
512
- #: ../dashboard.php:1362
513
  msgid "doesn't affect Custom login URL and Access Lists"
514
  msgstr "heeft geen invloed op Aangepaste inlog-URL en Toegangslijsten"
515
 
516
- #: ../common.php:778
517
  msgid "New version is available"
518
  msgstr "Nieuwe versie beschikbaar"
519
 
520
  #. Name of the plugin
521
- #: ../dashboard.php:892 ../dashboard.php:911
522
  msgid "WP Cerber"
523
  msgstr "WP Cerber"
524
 
525
- #: ../wp-cerber.php:2971
526
  msgid "WP Cerber notify"
527
  msgstr "WP Cerber melding"
528
 
529
- #: ../wp-cerber.php:2993
530
  msgid "Citadel mode is activated"
531
  msgstr "Citadel modus is actief"
532
 
533
- #: ../wp-cerber.php:3067
534
  msgid "New Custom login URL"
535
  msgstr "Nieuwe Aangepaste inlog-URL"
536
 
537
- #: ../wp-cerber.php:3701
538
  msgid "The WP Cerber requires PHP %s or higher. You are running"
539
  msgstr "WP Cerber vereist PHP %s of hoger. Je gebruikt nu"
540
 
541
- #: ../wp-cerber.php:3705
542
  msgid "The WP Cerber requires WordPress %s or higher. You are running"
543
  msgstr "WP Cerber vereist WordPress %s of hoger. Je gebruikt nu"
544
 
545
- #: ../settings.php:95
546
  msgid "Use file"
547
  msgstr "Bestand gebruiken"
548
 
549
- #: ../settings.php:95
550
  msgid "Write failed login attempts to the file"
551
  msgstr "Mislukte pogingen opslaan in bestand"
552
 
553
- #: ../dashboard.php:1453
554
  msgid "Deactivate"
555
  msgstr "Deactiveren"
556
 
557
- #: ../dashboard.php:97 ../wp-cerber.php:3029
558
  msgid "Reason"
559
  msgstr "Reden"
560
 
561
- #: ../dashboard.php:168
562
  msgid "Add IP to the list"
563
  msgstr "IP-adres toevoegen aan lijst"
564
 
565
- #: ../dashboard.php:861
566
  msgid "Add IP to the Black List"
567
  msgstr "IP-adres toevoegen aan Uitsluitingslijst"
568
 
569
- #: ../common.php:596
570
  msgid "Attempt to access"
571
  msgstr "Poging tot toegang"
572
 
573
- #: ../common.php:595
574
  msgid "Limit on login attempts is reached"
575
  msgstr "Limiet voor aantal inlogpogingen is bereikt"
576
 
577
- #: ../common.php:552 ../common.php:597
578
  msgid "Attempt to log in with non-existent username"
579
  msgstr "Inlogpoging met onbekende gebruikersnaam"
580
 
581
- #: ../wp-cerber.php:3028
582
  msgid "Last lockout was added: %s for IP %s"
583
  msgstr "Laatste uitsluiting was toegevoegd: %s voor IP-adres %s"
584
 
585
- #: ../wp-cerber.php:3741 ../settings.php:257
586
  msgid "Hardening"
587
  msgstr "Versterking"
588
 
589
- #: ../dashboard.php:839
590
  msgid "Abuse email:"
591
  msgstr "E-mail voor misbruik:"
592
 
593
- #: ../settings.php:172 ../settings.php:192
594
  msgid "Email Address"
595
  msgstr "E-mailadres"
596
 
597
- #: ../settings.php:172
598
  msgid "if empty, the admin email %s will be used"
599
  msgstr "admin e-mail %s wordt gebruikt indien leeg"
600
 
601
- #: ../settings.php:98
602
  msgid "Drill down IP"
603
  msgstr "IP-adres onderzoeken"
604
 
605
- #: ../settings.php:98
606
  msgid "Retrieve extra WHOIS information for IP"
607
  msgstr "Haal extra WHOIS-informatie op voor IP-adres"
608
 
609
- #: ../settings.php:106
610
  msgid "Hardening WordPress"
611
  msgstr "Wordpress versterken"
612
 
613
- #: ../settings.php:107
614
  msgid "Stop user enumeration"
615
  msgstr "Stop nummering gebruikers"
616
 
617
- #: ../settings.php:108
618
  msgid "Disable XML-RPC"
619
  msgstr "XML-RPC uitschakelen"
620
 
621
- #: ../settings.php:108
622
  msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
623
  msgstr "Toegang tot XML-RPC server uitschakelen (inclusief Pingbacks en Trackbacks)"
624
 
625
- #: ../settings.php:109
626
  msgid "Disable feeds"
627
  msgstr "Feeds uitschakelen"
628
 
629
- #: ../settings.php:109
630
  msgid "Block access to the RSS, Atom and RDF feeds"
631
  msgstr "Blokkeer toegang tot de RSS-, Atom- en RDF-feeds"
632
 
633
- #: ../settings.php:110
634
  msgid "Disable REST API"
635
  msgstr "REST API uitschakelen"
636
 
637
- #: ../settings.php:216
638
  msgid "These settings do not affect hosts from the "
639
  msgstr "Deze instellingen gelden niet voor hosts van de␣"
640
 
641
- #: ../settings.php:736 ../settings.php:748
642
  msgid "<strong>ERROR</strong>: please enter a valid email address."
643
  msgstr "<strong>LET OP</strong>: voer een geldig e-mailadres in."
644
 
645
- #: ../wp-cerber.php:3059 ../wp-cerber.php:3730
646
  msgid "WP Cerber is now active and has started protecting your site"
647
  msgstr "WP Cerber is actief en beschermt nu je website"
648
 
@@ -654,27 +658,28 @@ msgstr "Actie"
654
  msgid "Nobody can log in or register from these IPs"
655
  msgstr "Niemand kan aanmelden of inloggen vanaf deze IP's"
656
 
657
- #: ../dashboard.php:194 ../dashboard.php:206
658
  msgid "Incorrect IP address or IP range"
659
  msgstr "IP-adres of -reeks is incorrect"
660
 
661
- #: ../dashboard.php:404 ../dashboard.php:1469
662
  msgid "Settings saved"
663
  msgstr "Instellingen opgeslagen"
664
 
665
- #: ../dashboard.php:843
666
  msgid "Network:"
667
  msgstr "Netwerk:"
668
 
669
- #: ../dashboard.php:857
670
  msgid "Add network to the Black List"
671
  msgstr "Netwerk toevoegen aan Uitsluitingslijst"
672
 
673
- #: ../dashboard.php:1452
674
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
675
  msgstr "Let op! Citadelmodus is actief; niemand kan inloggen."
676
 
677
- #: ../dashboard.php:311 ../whois.php:221 ../whois.php:252 ../common.php:594
 
678
  msgid "Unknown"
679
  msgstr "Onbekend"
680
 
@@ -683,458 +688,459 @@ msgstr "Onbekend"
683
  msgid "Gregory"
684
  msgstr "Gregory"
685
 
686
- #: ../wp-cerber.php:545 ../wp-cerber.php:557 ../wp-cerber.php:564 ../wp-cerber.
687
- #: php:743 ../wp-cerber.php:959 ../wp-cerber.php:965 ../wp-cerber.php:970 ../wp-
688
- #: cerber.php:975 ../wp-cerber.php:981 ../wp-cerber.php:988 ../wp-cerber.php:1088
689
- #: ../wp-cerber.php:1225 ../common.php:173 ../common.php:227 ../common.php:231 ..
690
- #: /settings.php:709
691
  msgid "ERROR:"
692
  msgstr "FOUT:"
693
 
694
- #: ../wp-cerber.php:574
695
  msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
696
  msgstr "Menselijke verificatie mislukt. Klik het vierkant in onderstaand reCAPTCHA-blok."
697
 
698
- #: ../wp-cerber.php:755
699
  msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
700
  msgstr "<strong>LET OP</strong>: je geeft een foutief wachtwoord op voor gebruiker %s."
701
 
702
- #: ../wp-cerber.php:976
703
  msgid "Username is not allowed. Please choose another one."
704
  msgstr "Gebruikersnaam is niet toegestaan, kies een andere."
705
 
706
- #: ../wp-cerber.php:3022
707
  msgid "unspecified"
708
  msgstr "niet gespecificeerd"
709
 
710
- #: ../wp-cerber.php:3025
711
  msgid "Number of lockouts is increasing"
712
  msgstr "Aantal uitsluitingen loopt op"
713
 
714
- #: ../wp-cerber.php:3030
715
  msgid "View activity for this IP"
716
  msgstr "Bekijk activiteit voor dit adres"
717
 
718
- #: ../wp-cerber.php:3034 ../wp-cerber.php:3036
719
  msgid "A new version of WP Cerber is available to install"
720
  msgstr "Nieuwe versie WP Cerber is klaar voor installatie"
721
 
722
- #: ../wp-cerber.php:3035
723
  msgid "Hi!"
724
  msgstr "Hallo!"
725
 
726
- #: ../wp-cerber.php:3038 ../wp-cerber.php:3049
727
  msgid "Website"
728
  msgstr "Website"
729
 
730
- #: ../wp-cerber.php:3041 ../wp-cerber.php:3042
731
  msgid "The WP Cerber security plugin has been deactivated"
732
  msgstr "WP Cerber is gedeactiveerd"
733
 
734
- #: ../wp-cerber.php:3044
735
  msgid "Not logged in"
736
  msgstr "Niet ingelogd"
737
 
738
- #: ../wp-cerber.php:3050
739
  msgid "By user"
740
  msgstr "Door gebruiker"
741
 
742
- #: ../wp-cerber.php:3051
743
  msgid "From IP address"
744
  msgstr "Van IP-adres"
745
 
746
- #: ../wp-cerber.php:3054
747
  msgid "From country"
748
  msgstr "Uit land"
749
 
750
- #: ../wp-cerber.php:3058
751
  msgid "The WP Cerber security plugin is now active"
752
  msgstr "WP Cerber is actief"
753
 
754
- #: ../wp-cerber.php:3731
755
  msgid "Your IP address is added to the"
756
  msgstr "Je IP-adres is toegevoegd aan de "
757
 
758
- #: ../wp-cerber.php:3743
759
  msgid "Import settings"
760
  msgstr "Instellingen importeren"
761
 
762
- #: ../settings.php:173
763
  msgid "Notification limit"
764
  msgstr "Limiet aan meldingen"
765
 
766
- #: ../settings.php:173
767
  msgid "notification letters allowed per hour (0 means unlimited)"
768
  msgstr "toegestaan aantal meldingen per uur (0=geen limiet)"
769
 
770
- #: ../settings.php:121
771
  msgid "User related settings"
772
  msgstr "Gebruikersinstellingen"
773
 
774
- #: ../settings.php:123
775
  msgid "Prohibited usernames"
776
  msgstr "Verboden gebruikersnamen"
777
 
778
- #: ../settings.php:123
779
  msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
780
  msgstr "Gebruikersnamen op deze lijst kunnen niet registreren of inloggen. IP-adressen die deze namen gebruiken, worden direct uitgesloten. Scheid namen met een komma."
781
 
782
- #: ../settings.php:124
783
  msgid "User session expire"
784
  msgstr "Gebruikerssessie eindigt"
785
 
786
- #: ../settings.php:124
787
  msgid "in minutes (leave empty to use default WP value)"
788
  msgstr "in minuten (leeg laten voor standaard WP-waarde)"
789
 
790
- #: ../settings.php:147
791
  msgid "reCAPTCHA settings"
792
  msgstr "reCAPTCHA-instellingen"
793
 
794
- #: ../settings.php:148
795
  msgid "Site key"
796
  msgstr "Site-sleutel"
797
 
798
- #: ../settings.php:149
799
  msgid "Secret key"
800
  msgstr "Geheime sleutel"
801
 
802
- #: ../settings.php:152
803
  msgid "Enable reCAPTCHA for WordPress registration form"
804
  msgstr "ReCAPTCHA instellen voor WordPress regstratieformulier"
805
 
806
- #: ../settings.php:155
807
  msgid "Lost password form"
808
  msgstr "Formulier voor zoekgeraakt wachtwoord"
809
 
810
- #: ../settings.php:158
811
  msgid "Login form"
812
  msgstr "Login-formulier"
813
 
814
- #: ../settings.php:158
815
  msgid "Enable reCAPTCHA for WordPress login form"
816
  msgstr "ReCAPTCHA inschakelen voor WordPress inlogpagina"
817
 
818
- #: ../settings.php:219
819
  msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
820
  msgstr "Haal eerst een Site-sleutel en Geheime Sleutel op van Google om reCAPTCHA te kunnen gebruiken"
821
 
822
- #: ../cerber-lab.php:666 ../settings.php:220
823
  msgid "Know more"
824
  msgstr "Meer weten"
825
 
826
- #: ../dashboard.php:892 ../settings.php:239
827
  msgid "WP Cerber Security"
828
  msgstr "WP Cerber Security"
829
 
830
- #: ../settings.php:259
831
  msgid "Users"
832
  msgstr "Gebruikers"
833
 
834
- #: ../common.php:519
835
  msgid "User created"
836
  msgstr "Gebruiker toegevoegd"
837
 
838
- #: ../dashboard.php:1306 ../common.php:520
839
  msgid "User registered"
840
  msgstr "Gebruiker geregistreerd"
841
 
842
- #: ../common.php:547
843
  msgid "reCAPTCHA verification failed"
844
  msgstr "reCAPTCHA verificatie mislukt"
845
 
846
- #: ../common.php:548
847
  msgid "reCAPTCHA settings are incorrect"
848
  msgstr "foutieve reCAPTCHA-instellingen"
849
 
850
  #. I see this line used where someone tries to log in from a blocked URL. So shouldn't this line be "Attempt to access from a prohibited URL" ?
851
- #: ../common.php:551
852
  msgid "Attempt to access prohibited URL"
853
  msgstr "Poging verboden URL te benaderen"
854
 
855
- #: ../common.php:553 ../common.php:598
856
  msgid "Attempt to log in with prohibited username"
857
  msgstr "Inlogpoging met verboden gebruikersnaam"
858
 
859
- #: ../settings.php:93
860
  msgid "Cerber Lab connection"
861
  msgstr "Cerber Lab verbinding"
862
 
863
- #: ../settings.php:93
864
  msgid "Send malicious IP addresses to the Cerber Lab"
865
  msgstr "Stuur kwaadaardige IP-adressen naar Cerber Lab"
866
 
867
- #: ../settings.php:94
868
  msgid "Cerber Lab protocol"
869
  msgstr "Cerber Lab protocol"
870
 
871
- #: ../settings.php:134 ../settings.php:152
872
  msgid "Registration form"
873
  msgstr "Registratieformulier"
874
 
875
- #: ../settings.php:153
876
  msgid "Enable reCAPTCHA for WooCommerce registration form"
877
  msgstr "ReCAPTCHA inschakelen voor WooCommerce registratie"
878
 
879
- #: ../settings.php:155
880
  msgid "Enable reCAPTCHA for WordPress lost password form"
881
  msgstr "ReCAPTCHA inschakelen om nieuw WordPress wachtwoord op te vragen"
882
 
883
- #: ../settings.php:156
884
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
885
  msgstr "ReCAPTCHA inschakelen om nieuw WooCommerce wachtwoord op te vragen"
886
 
887
- #: ../settings.php:159
888
  msgid "Enable reCAPTCHA for WooCommerce login form"
889
  msgstr "ReCAPTCHA inschakelen voor WooCommerce inlogpagina"
890
 
891
- #: ../common.php:549
892
  msgid "Request to the Google reCAPTCHA service failed"
893
  msgstr "Verzoek aan Google ReCAPTCHA-service"
894
 
895
- #: ../dashboard.php:1298 ../dashboard.php:1327
896
  msgid "View all"
897
  msgstr "Zie alle"
898
 
899
- #: ../dashboard.php:1328
900
  msgid "Recently locked out IP addresses"
901
  msgstr "Recent buitengesloten IP-adressen"
902
 
903
- #: ../cerber-lab.php:664
904
  msgid "OK, nail them all"
905
  msgstr "OK, zet ze allemaal vast"
906
 
907
- #: ../cerber-lab.php:665
908
  msgid "NO, maybe later"
909
  msgstr "Nee, misschien later"
910
 
911
- #: ../dashboard.php:894 ../dashboard.php:1115 ../dashboard.php:1640 ../settings.
912
- #: php:244
913
  msgid "Dashboard"
914
  msgstr "Dashboard"
915
 
916
- #: ../cerber-lab.php:662
917
  msgid "Want to make WP Cerber even more powerful?"
918
  msgstr "Wil je WP Cerber nog beter maken?"
919
 
920
- #: ../cerber-lab.php:663
921
  msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
922
  msgstr "Sta WP Cerber toe om kwaadaardige IP-adressen te delen met Cerber Lab. Zo kunnen we algoritmes ontwikkelen om WordPress steeds te beschermen tegen nieuwe bedreigingen en botnets. Je kunt je toestemming elk moment intrekken."
923
 
924
- #: ../dashboard.php:476
925
  msgid "IP address"
926
  msgstr "IP-adres"
927
 
928
- #: ../dashboard.php:476
929
  msgid "User login"
930
  msgstr "Gebruikers-login"
931
 
932
- #: ../dashboard.php:476
933
  msgid "User ID"
934
  msgstr "Gebruikers-ID"
935
 
936
- #: ../dashboard.php:654
937
  msgid "Export"
938
  msgstr "Export"
939
 
940
- #: ../dashboard.php:673
941
  msgid "Search for IP or username"
942
  msgstr "Zoek IP of gebruikersnaam"
943
 
944
- #: ../dashboard.php:673
945
  msgid "Filter"
946
  msgstr "Filter"
947
 
948
- #: ../dashboard.php:894
949
  msgid "Cerber Dashboard"
950
  msgstr "Cerber Dashboard"
951
 
952
- #: ../dashboard.php:901
953
  msgid "Cerber tools"
954
  msgstr "Cerber tools"
955
 
956
- #: ../dashboard.php:1553
957
  msgid "Subscribe"
958
  msgstr "Inschrijven"
959
 
960
- #: ../dashboard.php:1554 ../cerber-tools.php:243
961
  msgid "Unsubscribe"
962
  msgstr "Uitschrijven"
963
 
964
- #: ../dashboard.php:1582
965
  msgid "You've subscribed"
966
  msgstr "Je bent ingeschreven"
967
 
968
- #: ../dashboard.php:1585
969
  msgid "You've unsubscribed"
970
  msgstr "Je bent uitgeschreven"
971
 
972
- #: ../wp-cerber.php:3071 ../wp-cerber.php:3072
973
  msgid "A new activity has been recorded"
974
  msgstr "Er is nieuwe activiteit waargenomen"
975
 
976
- #: ../wp-cerber.php:3516
977
  msgid "User"
978
  msgstr "Gebruiker"
979
 
980
- #: ../wp-cerber.php:3524
981
  msgid "Search string"
982
  msgstr "Zoekfrase"
983
 
984
- #: ../wp-cerber.php:3545
985
  msgid "To unsubscribe click here"
986
  msgstr "Klik om uit te schrijven"
987
 
988
- #: ../settings.php:97
989
  msgid "Preferences"
990
  msgstr "Voorkeuren"
991
 
992
- #: ../settings.php:99
993
  msgid "Date format"
994
  msgstr "Datumformaat"
995
 
996
- #: ../settings.php:99
997
  msgid "if empty, the default format %s will be used"
998
  msgstr "indien leeg, gebruiken we standaardinstelling %s"
999
 
1000
- #: ../dashboard.php:1111 ../settings.php:175
1001
  msgid "Push notifications"
1002
  msgstr "Push meldingen"
1003
 
1004
- #: ../settings.php:170
1005
  msgid "Email notifications"
1006
  msgstr "E-mail meldingen"
1007
 
1008
- #: ../settings.php:172 ../settings.php:192
1009
  msgid "Use comma to specify multiple values"
1010
  msgstr "Scheid meer waarden met komma's"
1011
 
1012
- #: ../settings.php:182
1013
  msgid "All connected devices"
1014
  msgstr "Alle verbonden apparaten"
1015
 
1016
- #: ../settings.php:183
1017
  msgid "No devices found"
1018
  msgstr "Geen apparaten gevonden"
1019
 
1020
- #: ../settings.php:185
1021
  msgid "Not available"
1022
  msgstr "Niet beschikbaar"
1023
 
1024
- #: ../common.php:545
1025
  msgid "Password reset requested"
1026
  msgstr "Wachtwoordvernieuwing aangevraagd"
1027
 
1028
- #: ../common.php:599
1029
  msgid "Limit on failed reCAPTCHA verifications is reached"
1030
  msgstr "Grens bereikt van foutieve reCAPTCHA's"
1031
 
1032
- #: ../common.php:644
1033
  msgid "%s ago"
1034
  msgstr "%s geleden"
1035
 
1036
- #: ../settings.php:71
1037
  msgid "Apply limit login rules to IP addresses in the White IP Access List"
1038
  msgstr "Pas regels voor inlogbeperking toe op de Lijst Toegelaten IP-adressen"
1039
 
1040
- #: ../settings.php:80
1041
  msgid "Display 404 page"
1042
  msgstr "Toon 404-pagina"
1043
 
1044
- #: ../settings.php:150
1045
  msgid "Invisible reCAPTCHA"
1046
  msgstr "Onzichtbare reCAPTCHA"
1047
 
1048
- #: ../settings.php:150
1049
  msgid "Enable invisible reCAPTCHA"
1050
  msgstr "Zet onzichtbare reCAPTCHA aan"
1051
 
1052
- #: ../settings.php:150
1053
  msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
1054
  msgstr "(zet pas aan als je de Sitesleutel en Geheime Sleutel voor de onzichtbare versie hebt ontvangen)"
1055
 
1056
- #: ../settings.php:161
1057
  msgid "Enable reCAPTCHA for WordPress comment form"
1058
  msgstr "Zet reCAPTCHA aan voor WordPress reacties"
1059
 
1060
- #: ../settings.php:162
1061
  msgid "Disable reCAPTCHA for logged in users"
1062
  msgstr "Zet reCAPTCHA uit voor ingelogde gebruikers"
1063
 
1064
- #: ../settings.php:164
1065
  msgid "Limit attempts"
1066
  msgstr "Beperk aantal pogingen"
1067
 
1068
- #: ../settings.php:164
1069
  msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1070
  msgstr "Sluit IP-adressen uit voor %s minuten na %s mislukte pogingen in %s minuten"
1071
 
1072
- #: ../settings.php:213
1073
  msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
1074
  msgstr "In de Citadelmodus kunnen alleen adressen van de Lijst Toegelaten IP-adressen inloggen. Heeft geen effect op reeds ingelogde gebruikers."
1075
 
1076
- #: ../dashboard.php:476 ../dashboard.php:635
1077
  msgid "Event"
1078
  msgstr "Gebeurtenis"
1079
 
1080
- #: ../common.php:116
1081
  msgid "Spam comments denied"
1082
  msgstr "Spamreacties afgewezen"
1083
 
1084
- #: ../common.php:118
1085
  msgid "Malicious IP addresses detected"
1086
  msgstr "Kwaadaardige IP-adressen gevonden"
1087
 
1088
- #: ../common.php:119
1089
  msgid "Lockouts occurred"
1090
  msgstr "Uitsluitingen"
1091
 
1092
- #: ../dashboard.php:1307
1093
  msgid "All suspicious activity"
1094
  msgstr "Alle verdachte activiteit"
1095
 
1096
- #: ../wp-cerber.php:960 ../wp-cerber.php:966 ../wp-cerber.php:982 ../wp-cerber.
1097
- #: php:989
1098
  msgid "You are not allowed to register."
1099
  msgstr "Je mag niet aanmelden."
1100
 
1101
- #: ../common.php:530
1102
  msgid "Spam comment denied"
1103
  msgstr "Spamreactie afgewezen."
1104
 
1105
- #: ../common.php:555
1106
  msgid "Attempt to log in denied"
1107
  msgstr "Inlogpoging afgewezen"
1108
 
1109
- #: ../common.php:556
1110
  msgid "Attempt to register denied"
1111
  msgstr "Aanmeldingspoging afgewezen"
1112
 
1113
- #: ../common.php:113
1114
  msgid "Malicious activities mitigated"
1115
  msgstr "Verdachte activiteiten afgevangen"
1116
 
1117
- #: ../dashboard.php:900
1118
  msgid "Cerber antispam settings"
1119
  msgstr "Cerber Antispam-instellingen"
1120
 
1121
- #: ../dashboard.php:900 ../wp-cerber.php:3740 ../settings.php:161
 
1122
  msgid "Antispam"
1123
  msgstr "Antispam"
1124
 
1125
- #: ../settings.php:132
1126
  msgid "Cerber antispam engine"
1127
  msgstr "Cerber Antispam"
1128
 
1129
- #: ../settings.php:133
1130
  msgid "Comment form"
1131
  msgstr "Reactiepagina"
1132
 
1133
- #: ../settings.php:133
1134
  msgid "Protect comment form with bot detection engine"
1135
  msgstr "Bescherm invoer reacties met bot-detectie"
1136
 
1137
- #: ../settings.php:134
1138
  msgid "Protect registration form with bot detection engine"
1139
  msgstr "Bescherm registratiepagina met bot-detectie"
1140
 
@@ -1150,63 +1156,63 @@ msgstr "Diagnose"
1150
  msgid "License"
1151
  msgstr "Licentie"
1152
 
1153
- #: ../cerber-tools.php:313
1154
  msgid "Antispam and bot detection settings"
1155
  msgstr "Antispam- en botdetectie-instellingen"
1156
 
1157
- #: ../wp-cerber.php:1225
1158
  msgid "Sorry, human verification failed."
1159
  msgstr "Sorry, de verificatie faalt."
1160
 
1161
- #: ../common.php:600
1162
  msgid "Bot activity is detected"
1163
  msgstr "Bot-activiteit getedecteerd"
1164
 
1165
- #: ../settings.php:142
1166
  msgid "Comment processing"
1167
  msgstr "Verwerking van reactie"
1168
 
1169
- #: ../settings.php:143
1170
  msgid "If a spam comment detected"
1171
  msgstr "Bij detectie van een spam-reactie"
1172
 
1173
- #: ../settings.php:144
1174
  msgid "Trash spam comments"
1175
  msgstr "Spamreacties weggooien"
1176
 
1177
- #: ../settings.php:144
1178
  msgid "Move spam comments to trash after"
1179
  msgstr "Verwijder spamreacties na"
1180
 
1181
- #: ../common.php:531
1182
  msgid "Spam form submission denied"
1183
  msgstr "Geweigerd wegens spam"
1184
 
1185
- #: ../settings.php:135
1186
  msgid "Other forms"
1187
  msgstr "Andere formulieren"
1188
 
1189
- #: ../settings.php:135
1190
  msgid "Protect all forms on the website with bot detection engine"
1191
  msgstr "Bescherm alle invoerformulieren met bot-detectie"
1192
 
1193
- #: ../settings.php:137
1194
  msgid "Adjust antispam engine"
1195
  msgstr "Antispammechanisme aanpassen"
1196
 
1197
- #: ../settings.php:138
1198
  msgid "Safe mode"
1199
  msgstr "Veilige modus"
1200
 
1201
- #: ../settings.php:138
1202
  msgid "Use less restrictive policies (allow AJAX)"
1203
  msgstr "Minder restricties (sta AJAX toe)"
1204
 
1205
- #: ../settings.php:139
1206
  msgid "Logged in users"
1207
  msgstr "Ingelogde gebruikers"
1208
 
1209
- #: ../settings.php:139
1210
  msgid "Disable bot detection engine for logged in users"
1211
  msgstr "Zet bot-detectie uit voor ingelogde gebruikers"
1212
 
@@ -1215,57 +1221,57 @@ msgstr "Zet bot-detectie uit voor ingelogde gebruikers"
1215
  msgid "WP Cerber Security & Antispam"
1216
  msgstr "WP Cerber Security & Antispam"
1217
 
1218
- #: ../dashboard.php:95 ../dashboard.php:633
1219
  msgid "Country"
1220
  msgstr "Land"
1221
 
1222
- #: ../dashboard.php:664
1223
  msgid "All events"
1224
  msgstr "Alle gebeurtenissen"
1225
 
1226
- #: ../dashboard.php:897
1227
  msgid "Cerber Security Rules"
1228
  msgstr "Cerber Beveiligingsregels"
1229
 
1230
- #: ../dashboard.php:897 ../dashboard.php:1985
1231
  msgid "Security Rules"
1232
  msgstr "Beveiligingsregels"
1233
 
1234
- #: ../dashboard.php:974
1235
  msgid "Failed login attempts"
1236
  msgstr "Gefaalde loginpogingen"
1237
 
1238
- #: ../dashboard.php:975
1239
  msgid "Registered"
1240
  msgstr "Geregistreerd"
1241
 
1242
- #: ../dashboard.php:1042
1243
  msgid "You"
1244
  msgstr "Jij"
1245
 
1246
- #: ../common.php:117
1247
  msgid "Spam form submissions denied"
1248
  msgstr "Spam formulierafgifte afgewezen "
1249
 
1250
- #: ../dashboard.php:1363 ../wp-cerber.php:3061 ../wp-cerber.php:3733
1251
  msgid "Getting Started Guide"
1252
  msgstr "Startgids"
1253
 
1254
- #: ../dashboard.php:1990
1255
  msgid "Countries"
1256
  msgstr "Landen"
1257
 
1258
- #: ../dashboard.php:2055
1259
  msgid "Permitted for one country"
1260
  msgid_plural "Permitted for %d countries"
1261
  msgstr[0] "Toegestaan voor één land"
1262
  msgstr[1] "Toegestaan voor %d landen"
1263
 
1264
- #: ../dashboard.php:2066
1265
  msgid "No rule"
1266
  msgstr "Geen regel"
1267
 
1268
- #: ../dashboard.php:2269
1269
  msgid "Security rules have been updated"
1270
  msgstr "Beveiligingsregels zijn vernieuwd"
1271
 
@@ -1274,224 +1280,224 @@ msgstr "Beveiligingsregels zijn vernieuwd"
1274
  msgid "https://wpcerber.com"
1275
  msgstr "https://wpcerber.com"
1276
 
1277
- #: ../common.php:532
1278
  msgid "Form submission denied"
1279
  msgstr "Formulierafgifte afgewezen"
1280
 
1281
- #: ../common.php:533
1282
  msgid "Comment denied"
1283
  msgstr "Commentaar afgewezen"
1284
 
1285
- #: ../common.php:558
1286
  msgid "Request to REST API denied"
1287
  msgstr "Verzoek aan REST API afgewezen"
1288
 
1289
- #: ../common.php:559
1290
  msgid "XML-RPC request denied"
1291
  msgstr "XML-RPC-verzoek afgewezen"
1292
 
1293
- #: ../common.php:563
1294
  msgid "Bot detected"
1295
  msgstr "Bot gedetecteerd"
1296
 
1297
- #: ../common.php:564
1298
  msgid "Citadel mode is active"
1299
  msgstr "Citadelmodus actief"
1300
 
1301
- #: ../common.php:569
1302
  msgid "Malicious activity detected"
1303
  msgstr "Verdachte activiteit gedetecteerd "
1304
 
1305
- #: ../common.php:570
1306
  msgid "Blocked by country rule"
1307
  msgstr "Geblokkeerd door landenregel"
1308
 
1309
- #: ../common.php:571
1310
  msgid "Limit reached"
1311
  msgstr "Limiet bereikt"
1312
 
1313
- #: ../common.php:572
1314
  msgid "Multiple suspicious activities"
1315
  msgstr "Meerdere verdachte activiteiten"
1316
 
1317
- #: ../common.php:601
1318
  msgid "Multiple suspicious activities were detected"
1319
  msgstr "Meerdere verdachte activiteiten gedetecteerd"
1320
 
1321
- #: ../settings.php:107
1322
  msgid "Block access to user pages like /?author=n and user data via REST API"
1323
  msgstr "Blokkeer toegang tot gebruikersgegevens en -pagina's als /?author=n via de REST API"
1324
 
1325
- #: ../settings.php:110
1326
  msgid "Block access to the WordPress REST API except the following"
1327
  msgstr "Blokkeer toegang naar de WordPress REST API behalve het volgende"
1328
 
1329
- #: ../settings.php:111
1330
  msgid "Allow REST API for logged in users"
1331
  msgstr "Sta REST API toe voor ingelogde gebruikers"
1332
 
1333
- #: ../settings.php:112
1334
  msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
1335
  msgstr "Geef toegestane REST API-naamruimtes op als de REST API is uitgeschakeld. Eén tekenreeks per regel."
1336
 
1337
- #: ../settings.php:122
1338
  msgid "Registration limit"
1339
  msgstr "Registratielimiet"
1340
 
1341
- #: ../settings.php:125
1342
  msgid "Sort users in dashboard"
1343
  msgstr "Gebruikers in dashboard sorteren"
1344
 
1345
- #: ../settings.php:125
1346
  msgid "by date of registration"
1347
  msgstr "per registratiedatum"
1348
 
1349
- #: ../settings.php:140
1350
  msgid "Query whitelist"
1351
  msgstr "Toegestane queries"
1352
 
1353
- #: ../settings.php:382 ../settings.php:505
1354
  msgid "%s allowed registrations in %s minutes from one IP"
1355
  msgstr "%s toegestane registraties in %s minuten van één IP"
1356
 
1357
- #: ../dashboard.php:2122
1358
  msgid "Start typing here to find a country"
1359
  msgstr "Begin te typen om een land te vinden"
1360
 
1361
- #: ../dashboard.php:2205
1362
  msgid "Click on a country name to add it to the list of selected countries"
1363
  msgstr "Klik op een landnaam om toe te voegen aan de lijst gekozen landen"
1364
 
1365
- #: ../dashboard.php:2224
1366
  msgid "Submit forms"
1367
  msgstr "Formulieren versturen"
1368
 
1369
- #: ../dashboard.php:2225
1370
  msgid "Post comments"
1371
  msgstr "Commentaar plaatsen"
1372
 
1373
- #: ../dashboard.php:2226
1374
  msgid "Log in to the website"
1375
  msgstr "Inloggen bij de website"
1376
 
1377
- #: ../dashboard.php:2227
1378
  msgid "Register on the website"
1379
  msgstr "Registreren bij de website"
1380
 
1381
- #: ../dashboard.php:2228
1382
  msgid "Use XML-RPC"
1383
  msgstr "Benut XML-RPC"
1384
 
1385
- #: ../dashboard.php:2229
1386
  msgid "Use REST API"
1387
  msgstr "Benut REST API"
1388
 
1389
- #: ../settings.php:143
1390
  msgid "Deny it completely"
1391
  msgstr "Volledig negeren"
1392
 
1393
- #: ../settings.php:143
1394
  msgid "Mark it as spam"
1395
  msgstr "Markeren als spam"
1396
 
1397
- #: ../dashboard.php:1292
1398
  msgid "in the last 24 hours"
1399
  msgstr "in de afgelopen 24 uur"
1400
 
1401
- #: ../dashboard.php:1641
1402
  msgid "Main settings"
1403
  msgstr "Hoofdinstellingen"
1404
 
1405
- #: ../settings.php:190
1406
  msgid "Weekly reports"
1407
  msgstr "Weekrapporten"
1408
 
1409
- #: ../settings.php:602
1410
  msgid "Sunday"
1411
- msgstr "mondag"
1412
 
1413
- #: ../settings.php:603
1414
  msgid "Monday"
1415
  msgstr "maandag"
1416
 
1417
- #: ../settings.php:604
1418
  msgid "Tuesday"
1419
  msgstr "dinsdag"
1420
 
1421
- #: ../settings.php:605
1422
  msgid "Wednesday"
1423
  msgstr "woensdag"
1424
 
1425
- #: ../settings.php:606
1426
  msgid "Thursday"
1427
  msgstr "donderdag"
1428
 
1429
- #: ../settings.php:607
1430
  msgid "Friday"
1431
  msgstr "vrijdag"
1432
 
1433
- #: ../settings.php:608
1434
  msgid "Saturday"
1435
  msgstr "zaterdag"
1436
 
1437
- #: ../settings.php:661 ../settings.php:662
1438
  msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
1439
- msgstr "Gebruik je een caching plugin, voeg dan je nieuwe login URL toe aan de niet te cachen pagina's."
1440
 
1441
  #. translators: preposition of time
1442
- #: ../settings.php:618
1443
  msgctxt "preposition of time"
1444
  msgid "at"
1445
  msgstr "op"
1446
 
1447
- #: ../wp-cerber.php:3077
1448
  msgid "Weekly report"
1449
  msgstr "Weekrapport"
1450
 
1451
- #: ../wp-cerber.php:3080
1452
  msgid "To change reporting settings visit"
1453
  msgstr "Om je rapportageinstellingen aan te passen, ga naar"
1454
 
1455
- #: ../wp-cerber.php:3106
1456
  msgid "Your login page:"
1457
  msgstr "Je login-pagina:"
1458
 
1459
- #: ../wp-cerber.php:3110
1460
  msgid "Your license is valid until"
1461
  msgstr "Je licentie geldt tot"
1462
 
1463
- #: ../wp-cerber.php:3221
1464
  msgid "Activity details"
1465
  msgstr "Details van activiteiten"
1466
 
1467
- #: ../settings.php:634
1468
  msgid "Click to send now"
1469
  msgstr "Klik om nu te versturen"
1470
 
1471
- #: ../wp-cerber.php:625
1472
  msgid "> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/"
1473
  msgstr ">>> Vertaler van WP Cerber? Om een gratis Pro-licentie te krijgen, geef je contactinformatie op bij: https://wpcerber.com/contact/"
1474
 
1475
- #: ../dashboard.php:377
1476
  msgid "Email has been sent to"
1477
  msgstr "E-mail is verzonden naar"
1478
 
1479
- #: ../dashboard.php:380
1480
  msgid "Unable to send email to"
1481
  msgstr "Kan geen e-mail verzenden naar"
1482
 
1483
- #: ../dashboard.php:2058
1484
  msgid "Not permitted for one country"
1485
  msgid_plural "Not permitted for %d countries"
1486
  msgstr[0] "Niet toegestaan voor één land"
1487
  msgstr[1] "Niet toegestaan voor %d landen"
1488
 
1489
- #: ../dashboard.php:2209
1490
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1491
  msgid "Selected countries are permitted to %s, other countries are not permitted to"
1492
  msgstr "Gekozen landen mogen %s, overige landen niet"
1493
 
1494
- #: ../dashboard.php:2212
1495
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1496
  msgid "Selected countries are not permitted to %s, other countries are permitted to"
1497
  msgstr "Gekozen landen mogen niet %s, overige landen wel"
@@ -1501,56 +1507,198 @@ msgstr "Gekozen landen mogen niet %s, overige landen wel"
1501
  msgid "Protects site from brute force attacks, bots and hackers. Antispam protection with the Cerber antispam engine and reCAPTCHA. Comprehensive control of user activity. Restrict login by IP access lists. Limit login attempts. Know more: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1502
  msgstr "Beschermt site tegen brute force-aanvallen, bots en hackers. Spambescherming met Cerber's antispamprogramma en reCAPTCHA. Uitgebreid beheer van gebruikersactiviteit. Beperk login op IP-adres. Limiteer login-pogingen. Meer: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1503
 
1504
- #: ../wp-cerber.php:3209
1505
  msgid "Weekly Report"
1506
  msgstr "Weekrapport"
1507
 
1508
- #: ../settings.php:80
1509
  msgid "Use 404 template from the active theme"
1510
  msgstr "Gebruik 404-sjabloon van het actieve thema"
1511
 
1512
- #: ../settings.php:80
1513
  msgid "Display simple 404 page"
1514
  msgstr "Toon eenvoudige 404-pagina"
1515
 
1516
- #: ../settings.php:140
1517
  msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
1518
  msgstr "Voer een deel van een query-tekenreeks of -pad in om een request uit te sluiten van inspectie. Eén item per regel."
1519
 
1520
- #: ../settings.php:192
1521
  msgid "if empty, email from notification settings will be used"
1522
- msgstr "We gebruiken de email van de meldingsinstellingen indien leeg"
1523
 
1524
- #: ../settings.php:193
1525
  msgid "Enable reporting"
1526
  msgstr "Rapporteren aanzetten"
1527
 
1528
  #. How to interpret this line? Do you mean 'was DATE/TIME from IP ADDRESS' ?
1529
- #: ../wp-cerber.php:3133
1530
  msgid "Your last sign-in was %s from %s"
1531
  msgstr "Je laatste inlog was op %s vanaf %s"
1532
 
1533
- #: ../wp-cerber.php:3235
1534
  msgid "Attempts to log in with non-existent username"
1535
  msgstr "Pogingen om in te loggen met een onbekende gebruikersnaam"
1536
 
1537
- #: ../dashboard.php:167
1538
  msgid "IP address, IPv4 address range or subnet"
1539
  msgstr "IP adres, IPv4 adresreeks of subnet"
1540
 
1541
- #: ../dashboard.php:169
1542
  msgid "Optional comment for this entry"
1543
  msgstr "Opmerking hierbij"
1544
 
1545
- #: ../dashboard.php:210
1546
  msgid "You cannot add your IP address or network"
1547
- msgstr "Je kan je eigen IP of netwerk niet toevoegen"
1548
 
1549
- #: ../cerber-news.php:135
1550
  msgid "Cool!"
1551
  msgstr "Mooi!"
1552
 
1553
- #: ../settings.php:123
1554
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
1555
  msgstr "Sluit een patroon op in twee voorwaartse slashes om er een REGEX patroon van te maken."
1556
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  "Language: nl\n"
9
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
10
 
11
+ #: ../settings.php:70
12
  msgid "Limit login attempts"
13
  msgstr "Inlogpogingen beperken"
14
 
15
+ #: ../settings.php:71
16
  msgid "Attempts"
17
  msgstr "Pogingen"
18
 
19
+ #: ../settings.php:72
20
  msgid "Lockout duration"
21
  msgstr "Lockout duur"
22
 
23
+ #: ../settings.php:72 ../settings.php:91
24
  msgid "minutes"
25
  msgstr "minuten"
26
 
27
+ #: ../settings.php:73
28
  msgid "Aggressive lockout"
29
  msgstr "Agressieve uitsluiting"
30
 
31
+ #: ../settings.php:76
32
  msgid "Site connection"
33
  msgstr "Websiteverbinding"
34
 
35
+ #: ../settings.php:78
36
  msgid "Proactive security rules"
37
  msgstr "Proactieve beveiligingsregels"
38
 
39
+ #: ../settings.php:79
40
  msgid "Block subnet"
41
  msgstr "Subnet blokkeren"
42
 
43
+ #: ../settings.php:82
44
  msgid "Request wp-login.php"
45
  msgstr "Verzoek wp-login.php"
46
 
47
+ #: ../settings.php:82
48
  msgid "Immediately block IP after any request to wp-login.php"
49
  msgstr "IP meteen blokkeren bij verzoeken aan wp-login.php"
50
 
51
+ #: ../settings.php:81
52
  msgid "Redirect dashboard requests"
53
  msgstr "Dashboardverzoeken omleiden"
54
 
55
+ #: ../settings.php:85
56
  msgid "Custom login page"
57
  msgstr "Aangepaste inlogpagina"
58
 
59
+ #: ../settings.php:86
60
  msgid "Custom login URL"
61
  msgstr "Aangepaste inlog-URL"
62
 
63
+ #: ../settings.php:86
64
  msgid "must not overlap with the existing pages or posts slug"
65
  msgstr "mag niet overlappen met bestaande pagina's of post slugs"
66
 
67
+ #: ../settings.php:87
68
  msgid "Disable wp-login.php"
69
  msgstr "Wp-login.php uitschakelen"
70
 
71
+ #: ../settings.php:87
72
  msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
73
  msgstr "Directe toegang tot wp-login.php blokkeren en HTTP 404 Not Found Error teruggeven"
74
 
75
+ #: ../dashboard.php:1208 ../settings.php:89
76
  msgid "Citadel mode"
77
  msgstr "Citadelmodus"
78
 
79
+ #: ../settings.php:90
80
  msgid "Threshold"
81
  msgstr "Drempelwaarde"
82
 
83
+ #: ../settings.php:91
84
  msgid "Duration"
85
  msgstr "Duur"
86
 
87
+ #: ../wp-cerber.php:3910 ../settings.php:75 ../settings.php:92 ../settings.php:368
88
  msgid "Notifications"
89
  msgstr "Meldingen"
90
 
91
+ #: ../settings.php:92
92
  msgid "Send notification to admin email"
93
  msgstr "Melding versturen naar admin e-mailadres"
94
 
95
+ #: ../wp-cerber.php:3907 ../settings.php:361 ../cerber-tools.php:88 ../cerber-
96
+ #: tools.php:97 ../cerber-tools.php:178
97
  msgid "Access Lists"
98
  msgstr "Toegangslijsten"
99
 
100
+ #: ../dashboard.php:1226 ../dashboard.php:1423 ../wp-cerber.php:3671 ../settings.
101
+ #: php:94 ../settings.php:352
102
  msgid "Activity"
103
  msgstr "Activiteit"
104
 
105
+ #: ../settings.php:356
106
  msgid "Lockouts"
107
  msgstr "Uitsluitingen"
108
 
109
+ #: ../settings.php:477 ../settings.php:599
110
  msgid "%s allowed retries in %s minutes"
111
  msgstr "%s toegestane pogingen in %s minuten"
112
 
113
+ #: ../settings.php:499 ../settings.php:621
114
  msgid "Enable after %s failed login attempts in last %s minutes"
115
  msgstr "Aanzetten na %s mislukte inlogpogingen binnen %s minuten"
116
 
117
+ #: ../dashboard.php:93 ../dashboard.php:652 ../dashboard.php:2784 ../wp-cerber.
118
+ #: php:3680
119
  msgid "IP"
120
  msgstr "IP"
121
 
122
+ #: ../dashboard.php:491 ../dashboard.php:655 ../dashboard.php:2782
123
  msgid "Date"
124
  msgstr "Datum"
125
 
126
+ #: ../dashboard.php:491 ../dashboard.php:657 ../dashboard.php:2787
127
  msgid "Local User"
128
  msgstr "Lokale gebruiker"
129
 
130
+ #: ../dashboard.php:491 ../dashboard.php:658 ../wp-cerber.php:3688
131
  msgid "Username used"
132
  msgstr "Toegepaste gebruikersnaam"
133
 
135
  msgid "Showing last %d records from %d"
136
  msgstr "Laatste %d records van %d"
137
 
138
+ #: ../common.php:613
139
  msgid "Logged in"
140
  msgstr "Ingelogd"
141
 
142
+ #: ../common.php:614
143
  msgid "Logged out"
144
  msgstr "Uitgelogd"
145
 
146
+ #: ../common.php:615
147
  msgid "Login failed"
148
  msgstr "Inloggen mislukt"
149
 
150
+ #: ../common.php:618
151
  msgid "IP blocked"
152
  msgstr "IP geblokkeerd"
153
 
154
+ #: ../common.php:619
155
  msgid "Subnet blocked"
156
  msgstr "Subnet geblokkeerd"
157
 
158
+ #: ../common.php:621
159
  msgid "Citadel activated!"
160
  msgstr "Citadelmodus geactiveerd!"
161
 
162
+ #: ../dashboard.php:632 ../dashboard.php:836 ../dashboard.php:2630 ../common.php:
163
+ #: 658
164
  #, fuzzy
165
  msgid "Locked out"
166
  msgstr "Buitengesloten"
167
 
168
+ #: ../common.php:659
169
  msgid "IP blacklisted"
170
  msgstr "IP uitgesloten"
171
 
172
+ #: ../common.php:636
173
  msgid "Password changed"
174
  msgstr "Wachtwoord veranderd"
175
 
176
+ #: ../dashboard.php:86 ../dashboard.php:159
177
  msgid "Remove"
178
  msgstr "Verwijderen"
179
 
180
+ #: ../dashboard.php:390
181
  msgid "Lockout for %s was removed"
182
  msgstr "Uitsluiting voor %s is verwijderd"
183
 
184
+ #: ../dashboard.php:131 ../dashboard.php:627 ../dashboard.php:830 ../dashboard.
185
+ #: php:1206 ../dashboard.php:2625 ../wp-cerber.php:3899 ../settings.php:74 ..
186
+ #: /settings.php:322
187
  #, fuzzy
188
  msgid "White IP Access List"
189
  msgstr "Toegelaten IP-adressen"
190
 
191
+ #: ../dashboard.php:133 ../dashboard.php:628 ../dashboard.php:833 ../dashboard.
192
+ #: php:1207 ../dashboard.php:2626
193
  #, fuzzy
194
  msgid "Black IP Access List"
195
  msgstr "Uitgesloten IP-adressen"
196
 
197
+ #: ../dashboard.php:165
198
  msgid "List is empty"
199
  msgstr "Lijst is leeg"
200
 
201
+ #: ../dashboard.php:202
202
  #, fuzzy
203
  msgid "Address %s was added to White IP Access List"
204
  msgstr "Adres %s toegevoegd aan de Lijst Toegelaten IP-adressen"
205
 
206
+ #: ../dashboard.php:216
207
  #, fuzzy
208
  msgid "Address %s was added to Black IP Access List"
209
  msgstr "Adres %s toegevoegd aan de Lijst Uitgesloten IP-adressen "
210
 
211
+ #: ../wp-cerber.php:3142
212
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
213
  msgstr "Citadelmodus geactiveerd na %d mislukte inlogpogingen binnen %d minuten"
214
 
215
+ #: ../dashboard.php:1566
216
  #, fuzzy
217
  msgid "View Activity"
218
  msgstr "Activiteit bekijken"
219
 
220
+ #: ../dashboard.php:2482 ../cerber-tools.php:87 ../cerber-tools.php:96
221
  msgid "Settings"
222
  msgstr "Instellingen"
223
 
224
+ #: ../dashboard.php:1072
225
  #, fuzzy
226
  msgid "Last login"
227
  msgstr "Laatst ingelogd"
228
 
229
+ #: ../dashboard.php:1105 ../dashboard.php:1189
230
  msgid "Never"
231
  msgstr "Nooit"
232
 
233
+ #: ../dashboard.php:1467
234
  msgid "Are you sure?"
235
  msgstr "Weet je het zeker?"
236
 
237
+ #: ../dashboard.php:1274 ../settings.php:76
238
  msgid "My site is behind a reverse proxy"
239
  msgstr "Mijn website draait achter een reverse proxy"
240
 
241
+ #: ../settings.php:80
242
  msgid "Non-existent users"
243
  msgstr "Niet-bestaande gebruikers"
244
 
245
+ #: ../settings.php:80
246
  msgid "Immediately block IP when attempting to login with a non-existent username"
247
  msgstr "IP meteen blokkeren bij inlogpoging op niet-bestaande gebruiker"
248
 
249
+ #: ../settings.php:81
250
  msgid "Disable automatic redirecting to the login page when /wp-admin/ is requested by an unauthorized request"
251
  msgstr "Uitschakelen omleiding naar de inlogpagina bij ongeautoriseerde verzoeken aan /wp-admin/"
252
 
253
+ #: ../settings.php:308
254
  msgid "Make your protection smarter!"
255
  msgstr "Maak je bescherming slimmer!"
256
 
257
+ #: ../settings.php:312
258
  msgid "Please enable Permalinks to use this feature. Set Permalink Settings to something other than Default."
259
  msgstr "Schakel Permalinks in om deze functionaliteit te gebruiken. Stel de Permalinks instelling in op iets anders dan Standaard."
260
 
261
+ #: ../settings.php:315
262
  msgid "Be careful when enabling this options. If you forget the custom login URL you will not be able to login."
263
  msgstr "Pas op als je deze opties inschakelt! Vergeet je de aangepaste inlog-URL, dan kun je niet meer inloggen."
264
 
265
+ #: ../wp-cerber.php:3906 ../settings.php:358
266
  msgid "Main Settings"
267
  msgstr "Hoofdinstellingen"
268
 
269
+ #: ../settings.php:370
270
  msgid "Help"
271
  msgstr "Hulp"
272
 
273
+ #: ../settings.php:487 ../settings.php:609
274
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
275
  msgstr "Uitsluitingsduur ophogen naar %s uren na %s uitsluitingen in de laatste %s uren"
276
 
277
+ #: ../wp-cerber.php:299
278
  msgid "You are not allowed to log in. Ask your administrator for assistance."
279
  msgstr "Je hebt geen toestemming om in te loggen. Vraag je beheerder om informatie."
280
 
281
+ #: ../wp-cerber.php:305
282
  msgid "You have reached the login attempts limit. Please try again in %d minutes."
283
  msgstr "Je hebt de limiet voor inlogpogingen bereikt. Probeer het opnieuw na %d minuten."
284
 
285
+ #: ../wp-cerber.php:324
286
  msgid "You have only one attempt remaining."
287
  msgid_plural "You have %d attempts remaining."
288
  msgstr[0] "Slechts één inlogpoging resterend!"
289
  msgstr[1] "%s inlogpogingen resterend."
290
 
291
+ #: ../dashboard.php:680
292
  msgid "No activity has been logged."
293
  msgstr "Geen activiteit waargenomen."
294
 
309
  msgid "Your IP"
310
  msgstr "Jouw IP"
311
 
312
+ #: ../wp-cerber.php:3143
313
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
314
  msgstr "Laatste mislukte inlogpoging was op %s vanaf IP %s op gebruiker %s."
315
 
316
+ #: ../wp-cerber.php:3882
317
  msgid "Can't activate WP Cerber due to a database error."
318
  msgstr "Kan WP Cerber niet activeren door een fout in de database"
319
 
320
+ #: ../settings.php:494 ../settings.php:616
321
  msgid "Notify admin if the number of active lockouts above"
322
  msgstr "Waarschuw de beheerder als het aantal actieve uitsluitingen stijgt tot boven"
323
 
324
+ #: ../settings.php:95 ../settings.php:168 ../settings.php:298
325
  msgid "days"
326
  msgstr "dagen"
327
 
328
+ #: ../dashboard.php:1159
329
  msgid "Cerber Quick View"
330
  msgstr "Cerber Quick View"
331
 
337
  msgid "To view activity, click on the IP"
338
  msgstr "Klik op het IP om activiteiten te bekijken"
339
 
340
+ #: ../dashboard.php:158 ../dashboard.php:843 ../dashboard.php:870 ../dashboard.
341
+ #: php:961
342
  msgid "Check for activity"
343
  msgstr "Check voor activiteit"
344
 
345
+ #: ../settings.php:79
346
  msgid "Always block entire subnet Class C of intruders IP"
347
  msgstr "Altijd gehele IP Class C subnet blokkeren van aanvaller"
348
 
349
+ #: ../settings.php:92 ../settings.php:496 ../settings.php:618
350
  msgid "Click to send test"
351
  msgstr "Klik om test te verzenden"
352
 
353
+ #: ../settings.php:758 ../settings.php:759
354
  msgid "Attention! You have changed the login URL! The new login URL is"
355
  msgstr "Let op! Je hebt de inlog-URL veranderd. De nieuwe inlog-URL is"
356
 
357
+ #: ../dashboard.php:1071
358
  msgid "Comments"
359
  msgstr "Reacties"
360
 
361
+ #: ../common.php:891
362
  msgid "Update to version %s of WP Cerber"
363
  msgstr "WP Cerber updaten naar versie %s"
364
 
365
+ #: ../wp-cerber.php:3144 ../wp-cerber.php:3712
366
  msgid "View activity in dashboard"
367
  msgstr "Activiteiten bekijken in dashboard"
368
 
369
+ #: ../wp-cerber.php:3174
370
  msgid "Number of active lockouts"
371
  msgstr "Aantal actieve uitsluitingen"
372
 
373
+ #: ../wp-cerber.php:3178
374
  msgid "View lockouts in dashboard"
375
  msgstr "Uitsluitingen bekijken in dashboard"
376
 
377
+ #: ../wp-cerber.php:3260
378
  msgid "This message was sent by"
379
  msgstr "Dit bericht is verzonden door"
380
 
381
+ #: ../dashboard.php:1000 ../cerber-tools.php:43
382
  msgid "Tools"
383
  msgstr "Gereedschap"
384
 
438
  msgid "Error while parsing file"
439
  msgstr "Fout bij verwerken bestand"
440
 
441
+ #: ../dashboard.php:94 ../dashboard.php:653
442
  msgid "Hostname"
443
  msgstr "Hostnaam"
444
 
445
+ #: ../dashboard.php:355
446
  msgid "unknown"
447
  msgstr "onbekend"
448
 
449
+ #: ../settings.php:95 ../settings.php:294
450
  #, fuzzy
451
  msgid "Keep records for"
452
  msgstr "Gegevens behouden tot"
453
 
454
+ #: ../dashboard.php:1193 ../dashboard.php:1214
455
  msgid "active"
456
  msgstr "actief"
457
 
458
+ #: ../dashboard.php:1193
459
  msgid "deactivate"
460
  msgstr "deactiveren"
461
 
462
+ #: ../dashboard.php:1195
463
  msgid "not active"
464
  msgstr "niet actief"
465
 
466
+ #: ../dashboard.php:1196 ../dashboard.php:1210
467
  msgid "disabled"
468
  msgstr "gedeactiveerd"
469
 
470
+ #: ../dashboard.php:1201
471
  msgid "failed attempts"
472
  msgstr "mislukte pogingen"
473
 
474
+ #: ../dashboard.php:1201 ../dashboard.php:1202
475
  msgid "in 24 hours"
476
  msgstr "in 24 uur"
477
 
478
+ #: ../dashboard.php:1201 ../dashboard.php:1202
479
  msgid "view all"
480
  msgstr "bekijk alles"
481
 
482
+ #: ../dashboard.php:1202
483
  msgid "lockouts"
484
  msgstr "uitsluitingen"
485
 
486
+ #: ../dashboard.php:1204
487
  msgid "Lockouts at the moment"
488
  msgstr "Uitsluitingen op dit moment"
489
 
490
+ #: ../dashboard.php:1205
491
  #, fuzzy
492
  msgid "Last lockout"
493
  msgstr "Recente uitsluiting"
494
 
495
+ #: ../dashboard.php:1206 ../dashboard.php:1207 ../dashboard.php:1737
496
  msgid "entry"
497
  msgid_plural "entries"
498
  msgstr[0] "item"
499
  msgstr[1] "items"
500
 
501
+ #: ../dashboard.php:1462
502
  #, fuzzy
503
  msgid "Confused about some settings?"
504
  msgstr "Verward over sommige instellingen?"
505
 
506
+ #: ../dashboard.php:1463
507
  #, fuzzy
508
  msgid "You can easily load default recommended settings using button below"
509
  msgstr "Met onderstaande knop laad je de aanbevolen instellingen"
510
 
511
+ #: ../dashboard.php:1465
512
  #, fuzzy
513
  msgid "Load default settings"
514
  msgstr "Aanbevolen instellingen laden"
515
 
516
+ #: ../dashboard.php:1473
517
  msgid "doesn't affect Custom login URL and Access Lists"
518
  msgstr "heeft geen invloed op Aangepaste inlog-URL en Toegangslijsten"
519
 
520
+ #: ../common.php:884
521
  msgid "New version is available"
522
  msgstr "Nieuwe versie beschikbaar"
523
 
524
  #. Name of the plugin
525
+ #: ../dashboard.php:988 ../dashboard.php:1010
526
  msgid "WP Cerber"
527
  msgstr "WP Cerber"
528
 
529
+ #: ../wp-cerber.php:3118
530
  msgid "WP Cerber notify"
531
  msgstr "WP Cerber melding"
532
 
533
+ #: ../wp-cerber.php:3140
534
  msgid "Citadel mode is activated"
535
  msgstr "Citadel modus is actief"
536
 
537
+ #: ../wp-cerber.php:3214
538
  msgid "New Custom login URL"
539
  msgstr "Nieuwe Aangepaste inlog-URL"
540
 
541
+ #: ../wp-cerber.php:3869
542
  msgid "The WP Cerber requires PHP %s or higher. You are running"
543
  msgstr "WP Cerber vereist PHP %s of hoger. Je gebruikt nu"
544
 
545
+ #: ../wp-cerber.php:3873
546
  msgid "The WP Cerber requires WordPress %s or higher. You are running"
547
  msgstr "WP Cerber vereist WordPress %s of hoger. Je gebruikt nu"
548
 
549
+ #: ../settings.php:98
550
  msgid "Use file"
551
  msgstr "Bestand gebruiken"
552
 
553
+ #: ../settings.php:98
554
  msgid "Write failed login attempts to the file"
555
  msgstr "Mislukte pogingen opslaan in bestand"
556
 
557
+ #: ../dashboard.php:1565
558
  msgid "Deactivate"
559
  msgstr "Deactiveren"
560
 
561
+ #: ../dashboard.php:97 ../wp-cerber.php:3176
562
  msgid "Reason"
563
  msgstr "Reden"
564
 
565
+ #: ../dashboard.php:170
566
  msgid "Add IP to the list"
567
  msgstr "IP-adres toevoegen aan lijst"
568
 
569
+ #: ../dashboard.php:888
570
  msgid "Add IP to the Black List"
571
  msgstr "IP-adres toevoegen aan Uitsluitingslijst"
572
 
573
+ #: ../common.php:689
574
  msgid "Attempt to access"
575
  msgstr "Poging tot toegang"
576
 
577
+ #: ../common.php:688
578
  msgid "Limit on login attempts is reached"
579
  msgstr "Limiet voor aantal inlogpogingen is bereikt"
580
 
581
+ #: ../common.php:644 ../common.php:690
582
  msgid "Attempt to log in with non-existent username"
583
  msgstr "Inlogpoging met onbekende gebruikersnaam"
584
 
585
+ #: ../wp-cerber.php:3175
586
  msgid "Last lockout was added: %s for IP %s"
587
  msgstr "Laatste uitsluiting was toegevoegd: %s voor IP-adres %s"
588
 
589
+ #: ../wp-cerber.php:3909 ../settings.php:363
590
  msgid "Hardening"
591
  msgstr "Versterking"
592
 
593
+ #: ../dashboard.php:866
594
  msgid "Abuse email:"
595
  msgstr "E-mail voor misbruik:"
596
 
597
+ #: ../settings.php:197 ../settings.php:228
598
  msgid "Email Address"
599
  msgstr "E-mailadres"
600
 
601
+ #: ../settings.php:206
602
  msgid "if empty, the admin email %s will be used"
603
  msgstr "admin e-mail %s wordt gebruikt indien leeg"
604
 
605
+ #: ../settings.php:101
606
  msgid "Drill down IP"
607
  msgstr "IP-adres onderzoeken"
608
 
609
+ #: ../settings.php:101
610
  msgid "Retrieve extra WHOIS information for IP"
611
  msgstr "Haal extra WHOIS-informatie op voor IP-adres"
612
 
613
+ #: ../settings.php:109
614
  msgid "Hardening WordPress"
615
  msgstr "Wordpress versterken"
616
 
617
+ #: ../settings.php:110
618
  msgid "Stop user enumeration"
619
  msgstr "Stop nummering gebruikers"
620
 
621
+ #: ../settings.php:111
622
  msgid "Disable XML-RPC"
623
  msgstr "XML-RPC uitschakelen"
624
 
625
+ #: ../settings.php:111
626
  msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
627
  msgstr "Toegang tot XML-RPC server uitschakelen (inclusief Pingbacks en Trackbacks)"
628
 
629
+ #: ../settings.php:112
630
  msgid "Disable feeds"
631
  msgstr "Feeds uitschakelen"
632
 
633
+ #: ../settings.php:112
634
  msgid "Block access to the RSS, Atom and RDF feeds"
635
  msgstr "Blokkeer toegang tot de RSS-, Atom- en RDF-feeds"
636
 
637
+ #: ../settings.php:113
638
  msgid "Disable REST API"
639
  msgstr "REST API uitschakelen"
640
 
641
+ #: ../settings.php:322
642
  msgid "These settings do not affect hosts from the "
643
  msgstr "Deze instellingen gelden niet voor hosts van de␣"
644
 
645
+ #: ../settings.php:839 ../settings.php:851
646
  msgid "<strong>ERROR</strong>: please enter a valid email address."
647
  msgstr "<strong>LET OP</strong>: voer een geldig e-mailadres in."
648
 
649
+ #: ../wp-cerber.php:3206 ../wp-cerber.php:3898
650
  msgid "WP Cerber is now active and has started protecting your site"
651
  msgstr "WP Cerber is actief en beschermt nu je website"
652
 
658
  msgid "Nobody can log in or register from these IPs"
659
  msgstr "Niemand kan aanmelden of inloggen vanaf deze IP's"
660
 
661
+ #: ../dashboard.php:196 ../dashboard.php:208
662
  msgid "Incorrect IP address or IP range"
663
  msgstr "IP-adres of -reeks is incorrect"
664
 
665
+ #: ../dashboard.php:407 ../dashboard.php:1581
666
  msgid "Settings saved"
667
  msgstr "Instellingen opgeslagen"
668
 
669
+ #: ../dashboard.php:870
670
  msgid "Network:"
671
  msgstr "Netwerk:"
672
 
673
+ #: ../dashboard.php:884
674
  msgid "Add network to the Black List"
675
  msgstr "Netwerk toevoegen aan Uitsluitingslijst"
676
 
677
+ #: ../dashboard.php:1564
678
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
679
  msgstr "Let op! Citadelmodus is actief; niemand kan inloggen."
680
 
681
+ #: ../dashboard.php:313 ../dashboard.php:2555 ../whois.php:221 ../whois.php:252 ..
682
+ #: /common.php:687 ../common.php:966
683
  msgid "Unknown"
684
  msgstr "Onbekend"
685
 
688
  msgid "Gregory"
689
  msgstr "Gregory"
690
 
691
+ #: ../wp-cerber.php:607 ../wp-cerber.php:619 ../wp-cerber.php:626 ../wp-cerber.
692
+ #: php:828 ../wp-cerber.php:1044 ../wp-cerber.php:1050 ../wp-cerber.php:1055 ..
693
+ #: /wp-cerber.php:1060 ../wp-cerber.php:1066 ../wp-cerber.php:1073 ../wp-cerber.
694
+ #: php:1173 ../wp-cerber.php:1310 ../common.php:194 ../common.php:251 ../common.
695
+ #: php:255 ../settings.php:808
696
  msgid "ERROR:"
697
  msgstr "FOUT:"
698
 
699
+ #: ../wp-cerber.php:636
700
  msgid "Human verification failed. Please click the square box in the reCAPTCHA block below."
701
  msgstr "Menselijke verificatie mislukt. Klik het vierkant in onderstaand reCAPTCHA-blok."
702
 
703
+ #: ../wp-cerber.php:840
704
  msgid "<strong>ERROR</strong>: The password you entered for the username %s is incorrect."
705
  msgstr "<strong>LET OP</strong>: je geeft een foutief wachtwoord op voor gebruiker %s."
706
 
707
+ #: ../wp-cerber.php:1061
708
  msgid "Username is not allowed. Please choose another one."
709
  msgstr "Gebruikersnaam is niet toegestaan, kies een andere."
710
 
711
+ #: ../wp-cerber.php:3169
712
  msgid "unspecified"
713
  msgstr "niet gespecificeerd"
714
 
715
+ #: ../wp-cerber.php:3172
716
  msgid "Number of lockouts is increasing"
717
  msgstr "Aantal uitsluitingen loopt op"
718
 
719
+ #: ../wp-cerber.php:3177
720
  msgid "View activity for this IP"
721
  msgstr "Bekijk activiteit voor dit adres"
722
 
723
+ #: ../wp-cerber.php:3181 ../wp-cerber.php:3183
724
  msgid "A new version of WP Cerber is available to install"
725
  msgstr "Nieuwe versie WP Cerber is klaar voor installatie"
726
 
727
+ #: ../wp-cerber.php:3182
728
  msgid "Hi!"
729
  msgstr "Hallo!"
730
 
731
+ #: ../wp-cerber.php:3185 ../wp-cerber.php:3196
732
  msgid "Website"
733
  msgstr "Website"
734
 
735
+ #: ../wp-cerber.php:3188 ../wp-cerber.php:3189
736
  msgid "The WP Cerber security plugin has been deactivated"
737
  msgstr "WP Cerber is gedeactiveerd"
738
 
739
+ #: ../wp-cerber.php:3191
740
  msgid "Not logged in"
741
  msgstr "Niet ingelogd"
742
 
743
+ #: ../wp-cerber.php:3197
744
  msgid "By user"
745
  msgstr "Door gebruiker"
746
 
747
+ #: ../wp-cerber.php:3198
748
  msgid "From IP address"
749
  msgstr "Van IP-adres"
750
 
751
+ #: ../wp-cerber.php:3201
752
  msgid "From country"
753
  msgstr "Uit land"
754
 
755
+ #: ../wp-cerber.php:3205
756
  msgid "The WP Cerber security plugin is now active"
757
  msgstr "WP Cerber is actief"
758
 
759
+ #: ../wp-cerber.php:3899
760
  msgid "Your IP address is added to the"
761
  msgstr "Je IP-adres is toegevoegd aan de "
762
 
763
+ #: ../wp-cerber.php:3911
764
  msgid "Import settings"
765
  msgstr "Instellingen importeren"
766
 
767
+ #: ../settings.php:209
768
  msgid "Notification limit"
769
  msgstr "Limiet aan meldingen"
770
 
771
+ #: ../settings.php:209
772
  msgid "notification letters allowed per hour (0 means unlimited)"
773
  msgstr "toegestaan aantal meldingen per uur (0=geen limiet)"
774
 
775
+ #: ../settings.php:131
776
  msgid "User related settings"
777
  msgstr "Gebruikersinstellingen"
778
 
779
+ #: ../settings.php:133
780
  msgid "Prohibited usernames"
781
  msgstr "Verboden gebruikersnamen"
782
 
783
+ #: ../settings.php:139
784
  msgid "Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins."
785
  msgstr "Gebruikersnamen op deze lijst kunnen niet registreren of inloggen. IP-adressen die deze namen gebruiken, worden direct uitgesloten. Scheid namen met een komma."
786
 
787
+ #: ../settings.php:141
788
  msgid "User session expire"
789
  msgstr "Gebruikerssessie eindigt"
790
 
791
+ #: ../settings.php:141
792
  msgid "in minutes (leave empty to use default WP value)"
793
  msgstr "in minuten (leeg laten voor standaard WP-waarde)"
794
 
795
+ #: ../settings.php:171
796
  msgid "reCAPTCHA settings"
797
  msgstr "reCAPTCHA-instellingen"
798
 
799
+ #: ../settings.php:172
800
  msgid "Site key"
801
  msgstr "Site-sleutel"
802
 
803
+ #: ../settings.php:173
804
  msgid "Secret key"
805
  msgstr "Geheime sleutel"
806
 
807
+ #: ../settings.php:176
808
  msgid "Enable reCAPTCHA for WordPress registration form"
809
  msgstr "ReCAPTCHA instellen voor WordPress regstratieformulier"
810
 
811
+ #: ../settings.php:179
812
  msgid "Lost password form"
813
  msgstr "Formulier voor zoekgeraakt wachtwoord"
814
 
815
+ #: ../settings.php:182
816
  msgid "Login form"
817
  msgstr "Login-formulier"
818
 
819
+ #: ../settings.php:182
820
  msgid "Enable reCAPTCHA for WordPress login form"
821
  msgstr "ReCAPTCHA inschakelen voor WordPress inlogpagina"
822
 
823
+ #: ../settings.php:325
824
  msgid "Before you can start using reCAPTCHA, you have to obtain Site key and Secret key on the Google website"
825
  msgstr "Haal eerst een Site-sleutel en Geheime Sleutel op van Google om reCAPTCHA te kunnen gebruiken"
826
 
827
+ #: ../cerber-lab.php:697 ../settings.php:326
828
  msgid "Know more"
829
  msgstr "Meer weten"
830
 
831
+ #: ../dashboard.php:988 ../settings.php:345
832
  msgid "WP Cerber Security"
833
  msgstr "WP Cerber Security"
834
 
835
+ #: ../settings.php:365
836
  msgid "Users"
837
  msgstr "Gebruikers"
838
 
839
+ #: ../common.php:611
840
  msgid "User created"
841
  msgstr "Gebruiker toegevoegd"
842
 
843
+ #: ../dashboard.php:1416 ../common.php:612
844
  msgid "User registered"
845
  msgstr "Gebruiker geregistreerd"
846
 
847
+ #: ../common.php:639
848
  msgid "reCAPTCHA verification failed"
849
  msgstr "reCAPTCHA verificatie mislukt"
850
 
851
+ #: ../common.php:640
852
  msgid "reCAPTCHA settings are incorrect"
853
  msgstr "foutieve reCAPTCHA-instellingen"
854
 
855
  #. I see this line used where someone tries to log in from a blocked URL. So shouldn't this line be "Attempt to access from a prohibited URL" ?
856
+ #: ../common.php:643
857
  msgid "Attempt to access prohibited URL"
858
  msgstr "Poging verboden URL te benaderen"
859
 
860
+ #: ../common.php:645 ../common.php:691
861
  msgid "Attempt to log in with prohibited username"
862
  msgstr "Inlogpoging met verboden gebruikersnaam"
863
 
864
+ #: ../settings.php:96
865
  msgid "Cerber Lab connection"
866
  msgstr "Cerber Lab verbinding"
867
 
868
+ #: ../settings.php:96
869
  msgid "Send malicious IP addresses to the Cerber Lab"
870
  msgstr "Stuur kwaadaardige IP-adressen naar Cerber Lab"
871
 
872
+ #: ../settings.php:97
873
  msgid "Cerber Lab protocol"
874
  msgstr "Cerber Lab protocol"
875
 
876
+ #: ../settings.php:151 ../settings.php:176
877
  msgid "Registration form"
878
  msgstr "Registratieformulier"
879
 
880
+ #: ../settings.php:177
881
  msgid "Enable reCAPTCHA for WooCommerce registration form"
882
  msgstr "ReCAPTCHA inschakelen voor WooCommerce registratie"
883
 
884
+ #: ../settings.php:179
885
  msgid "Enable reCAPTCHA for WordPress lost password form"
886
  msgstr "ReCAPTCHA inschakelen om nieuw WordPress wachtwoord op te vragen"
887
 
888
+ #: ../settings.php:180
889
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
890
  msgstr "ReCAPTCHA inschakelen om nieuw WooCommerce wachtwoord op te vragen"
891
 
892
+ #: ../settings.php:183
893
  msgid "Enable reCAPTCHA for WooCommerce login form"
894
  msgstr "ReCAPTCHA inschakelen voor WooCommerce inlogpagina"
895
 
896
+ #: ../common.php:641
897
  msgid "Request to the Google reCAPTCHA service failed"
898
  msgstr "Verzoek aan Google ReCAPTCHA-service"
899
 
900
+ #: ../dashboard.php:1408 ../dashboard.php:1438
901
  msgid "View all"
902
  msgstr "Zie alle"
903
 
904
+ #: ../dashboard.php:1439
905
  msgid "Recently locked out IP addresses"
906
  msgstr "Recent buitengesloten IP-adressen"
907
 
908
+ #: ../cerber-lab.php:695
909
  msgid "OK, nail them all"
910
  msgstr "OK, zet ze allemaal vast"
911
 
912
+ #: ../cerber-lab.php:696
913
  msgid "NO, maybe later"
914
  msgstr "Nee, misschien later"
915
 
916
+ #: ../dashboard.php:990 ../dashboard.php:1225 ../dashboard.php:1757 ../settings.
917
+ #: php:350
918
  msgid "Dashboard"
919
  msgstr "Dashboard"
920
 
921
+ #: ../cerber-lab.php:693
922
  msgid "Want to make WP Cerber even more powerful?"
923
  msgstr "Wil je WP Cerber nog beter maken?"
924
 
925
+ #: ../cerber-lab.php:694
926
  msgid "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. This helps the plugin team to develop new algorithms for WP Cerber that will defend WordPress against new threats and botnets that are appearing everyday. You can disable the sending in the plugin settings at any time."
927
  msgstr "Sta WP Cerber toe om kwaadaardige IP-adressen te delen met Cerber Lab. Zo kunnen we algoritmes ontwikkelen om WordPress steeds te beschermen tegen nieuwe bedreigingen en botnets. Je kunt je toestemming elk moment intrekken."
928
 
929
+ #: ../dashboard.php:491
930
  msgid "IP address"
931
  msgstr "IP-adres"
932
 
933
+ #: ../dashboard.php:491
934
  msgid "User login"
935
  msgstr "Gebruikers-login"
936
 
937
+ #: ../dashboard.php:491
938
  msgid "User ID"
939
  msgstr "Gebruikers-ID"
940
 
941
+ #: ../dashboard.php:676
942
  msgid "Export"
943
  msgstr "Export"
944
 
945
+ #: ../dashboard.php:695
946
  msgid "Search for IP or username"
947
  msgstr "Zoek IP of gebruikersnaam"
948
 
949
+ #: ../dashboard.php:695
950
  msgid "Filter"
951
  msgstr "Filter"
952
 
953
+ #: ../dashboard.php:990
954
  msgid "Cerber Dashboard"
955
  msgstr "Cerber Dashboard"
956
 
957
+ #: ../dashboard.php:1000
958
  msgid "Cerber tools"
959
  msgstr "Cerber tools"
960
 
961
+ #: ../dashboard.php:1667
962
  msgid "Subscribe"
963
  msgstr "Inschrijven"
964
 
965
+ #: ../dashboard.php:1668 ../cerber-tools.php:266
966
  msgid "Unsubscribe"
967
  msgstr "Uitschrijven"
968
 
969
+ #: ../dashboard.php:1696
970
  msgid "You've subscribed"
971
  msgstr "Je bent ingeschreven"
972
 
973
+ #: ../dashboard.php:1699
974
  msgid "You've unsubscribed"
975
  msgstr "Je bent uitgeschreven"
976
 
977
+ #: ../wp-cerber.php:3218 ../wp-cerber.php:3219
978
  msgid "A new activity has been recorded"
979
  msgstr "Er is nieuwe activiteit waargenomen"
980
 
981
+ #: ../wp-cerber.php:3684
982
  msgid "User"
983
  msgstr "Gebruiker"
984
 
985
+ #: ../wp-cerber.php:3692
986
  msgid "Search string"
987
  msgstr "Zoekfrase"
988
 
989
+ #: ../wp-cerber.php:3713
990
  msgid "To unsubscribe click here"
991
  msgstr "Klik om uit te schrijven"
992
 
993
+ #: ../settings.php:100
994
  msgid "Preferences"
995
  msgstr "Voorkeuren"
996
 
997
+ #: ../settings.php:102
998
  msgid "Date format"
999
  msgstr "Datumformaat"
1000
 
1001
+ #: ../settings.php:102
1002
  msgid "if empty, the default format %s will be used"
1003
  msgstr "indien leeg, gebruiken we standaardinstelling %s"
1004
 
1005
+ #: ../settings.php:211
1006
  msgid "Push notifications"
1007
  msgstr "Push meldingen"
1008
 
1009
+ #: ../settings.php:194
1010
  msgid "Email notifications"
1011
  msgstr "E-mail meldingen"
1012
 
1013
+ #: ../settings.php:201 ../settings.php:233 ../settings.php:282
1014
  msgid "Use comma to specify multiple values"
1015
  msgstr "Scheid meer waarden met komma's"
1016
 
1017
+ #: ../settings.php:218
1018
  msgid "All connected devices"
1019
  msgstr "Alle verbonden apparaten"
1020
 
1021
+ #: ../settings.php:219
1022
  msgid "No devices found"
1023
  msgstr "Geen apparaten gevonden"
1024
 
1025
+ #: ../settings.php:221
1026
  msgid "Not available"
1027
  msgstr "Niet beschikbaar"
1028
 
1029
+ #: ../common.php:637
1030
  msgid "Password reset requested"
1031
  msgstr "Wachtwoordvernieuwing aangevraagd"
1032
 
1033
+ #: ../common.php:692
1034
  msgid "Limit on failed reCAPTCHA verifications is reached"
1035
  msgstr "Grens bereikt van foutieve reCAPTCHA's"
1036
 
1037
+ #: ../common.php:750
1038
  msgid "%s ago"
1039
  msgstr "%s geleden"
1040
 
1041
+ #: ../settings.php:74
1042
  msgid "Apply limit login rules to IP addresses in the White IP Access List"
1043
  msgstr "Pas regels voor inlogbeperking toe op de Lijst Toegelaten IP-adressen"
1044
 
1045
+ #: ../settings.php:83
1046
  msgid "Display 404 page"
1047
  msgstr "Toon 404-pagina"
1048
 
1049
+ #: ../settings.php:174
1050
  msgid "Invisible reCAPTCHA"
1051
  msgstr "Onzichtbare reCAPTCHA"
1052
 
1053
+ #: ../settings.php:174
1054
  msgid "Enable invisible reCAPTCHA"
1055
  msgstr "Zet onzichtbare reCAPTCHA aan"
1056
 
1057
+ #: ../settings.php:174
1058
  msgid "(do not enable it unless you get and enter the Site and Secret keys for the invisible version)"
1059
  msgstr "(zet pas aan als je de Sitesleutel en Geheime Sleutel voor de onzichtbare versie hebt ontvangen)"
1060
 
1061
+ #: ../settings.php:185
1062
  msgid "Enable reCAPTCHA for WordPress comment form"
1063
  msgstr "Zet reCAPTCHA aan voor WordPress reacties"
1064
 
1065
+ #: ../settings.php:186
1066
  msgid "Disable reCAPTCHA for logged in users"
1067
  msgstr "Zet reCAPTCHA uit voor ingelogde gebruikers"
1068
 
1069
+ #: ../settings.php:188
1070
  msgid "Limit attempts"
1071
  msgstr "Beperk aantal pogingen"
1072
 
1073
+ #: ../settings.php:188
1074
  msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1075
  msgstr "Sluit IP-adressen uit voor %s minuten na %s mislukte pogingen in %s minuten"
1076
 
1077
+ #: ../settings.php:319
1078
  msgid "In the Citadel mode nobody is able to log in except IPs from the White IP Access List. Active user sessions will not be affected."
1079
  msgstr "In de Citadelmodus kunnen alleen adressen van de Lijst Toegelaten IP-adressen inloggen. Heeft geen effect op reeds ingelogde gebruikers."
1080
 
1081
+ #: ../dashboard.php:491 ../dashboard.php:656
1082
  msgid "Event"
1083
  msgstr "Gebeurtenis"
1084
 
1085
+ #: ../common.php:137
1086
  msgid "Spam comments denied"
1087
  msgstr "Spamreacties afgewezen"
1088
 
1089
+ #: ../common.php:139
1090
  msgid "Malicious IP addresses detected"
1091
  msgstr "Kwaadaardige IP-adressen gevonden"
1092
 
1093
+ #: ../common.php:140
1094
  msgid "Lockouts occurred"
1095
  msgstr "Uitsluitingen"
1096
 
1097
+ #: ../dashboard.php:1417
1098
  msgid "All suspicious activity"
1099
  msgstr "Alle verdachte activiteit"
1100
 
1101
+ #: ../wp-cerber.php:1045 ../wp-cerber.php:1051 ../wp-cerber.php:1067 ../wp-cerber.
1102
+ #: php:1074
1103
  msgid "You are not allowed to register."
1104
  msgstr "Je mag niet aanmelden."
1105
 
1106
+ #: ../common.php:622
1107
  msgid "Spam comment denied"
1108
  msgstr "Spamreactie afgewezen."
1109
 
1110
+ #: ../common.php:647
1111
  msgid "Attempt to log in denied"
1112
  msgstr "Inlogpoging afgewezen"
1113
 
1114
+ #: ../common.php:648
1115
  msgid "Attempt to register denied"
1116
  msgstr "Aanmeldingspoging afgewezen"
1117
 
1118
+ #: ../common.php:134
1119
  msgid "Malicious activities mitigated"
1120
  msgstr "Verdachte activiteiten afgevangen"
1121
 
1122
+ #: ../dashboard.php:999
1123
  msgid "Cerber antispam settings"
1124
  msgstr "Cerber Antispam-instellingen"
1125
 
1126
+ #: ../dashboard.php:999 ../dashboard.php:1228 ../wp-cerber.php:3908 ../settings.
1127
+ #: php:185
1128
  msgid "Antispam"
1129
  msgstr "Antispam"
1130
 
1131
+ #: ../settings.php:149
1132
  msgid "Cerber antispam engine"
1133
  msgstr "Cerber Antispam"
1134
 
1135
+ #: ../settings.php:150
1136
  msgid "Comment form"
1137
  msgstr "Reactiepagina"
1138
 
1139
+ #: ../settings.php:150
1140
  msgid "Protect comment form with bot detection engine"
1141
  msgstr "Bescherm invoer reacties met bot-detectie"
1142
 
1143
+ #: ../settings.php:151
1144
  msgid "Protect registration form with bot detection engine"
1145
  msgstr "Bescherm registratiepagina met bot-detectie"
1146
 
1156
  msgid "License"
1157
  msgstr "Licentie"
1158
 
1159
+ #: ../cerber-tools.php:336
1160
  msgid "Antispam and bot detection settings"
1161
  msgstr "Antispam- en botdetectie-instellingen"
1162
 
1163
+ #: ../wp-cerber.php:1310
1164
  msgid "Sorry, human verification failed."
1165
  msgstr "Sorry, de verificatie faalt."
1166
 
1167
+ #: ../common.php:693
1168
  msgid "Bot activity is detected"
1169
  msgstr "Bot-activiteit getedecteerd"
1170
 
1171
+ #: ../settings.php:166
1172
  msgid "Comment processing"
1173
  msgstr "Verwerking van reactie"
1174
 
1175
+ #: ../settings.php:167
1176
  msgid "If a spam comment detected"
1177
  msgstr "Bij detectie van een spam-reactie"
1178
 
1179
+ #: ../settings.php:168
1180
  msgid "Trash spam comments"
1181
  msgstr "Spamreacties weggooien"
1182
 
1183
+ #: ../settings.php:168
1184
  msgid "Move spam comments to trash after"
1185
  msgstr "Verwijder spamreacties na"
1186
 
1187
+ #: ../common.php:623
1188
  msgid "Spam form submission denied"
1189
  msgstr "Geweigerd wegens spam"
1190
 
1191
+ #: ../settings.php:152
1192
  msgid "Other forms"
1193
  msgstr "Andere formulieren"
1194
 
1195
+ #: ../settings.php:152
1196
  msgid "Protect all forms on the website with bot detection engine"
1197
  msgstr "Bescherm alle invoerformulieren met bot-detectie"
1198
 
1199
+ #: ../settings.php:154
1200
  msgid "Adjust antispam engine"
1201
  msgstr "Antispammechanisme aanpassen"
1202
 
1203
+ #: ../settings.php:155
1204
  msgid "Safe mode"
1205
  msgstr "Veilige modus"
1206
 
1207
+ #: ../settings.php:155
1208
  msgid "Use less restrictive policies (allow AJAX)"
1209
  msgstr "Minder restricties (sta AJAX toe)"
1210
 
1211
+ #: ../dashboard.php:2812 ../settings.php:156
1212
  msgid "Logged in users"
1213
  msgstr "Ingelogde gebruikers"
1214
 
1215
+ #: ../settings.php:156
1216
  msgid "Disable bot detection engine for logged in users"
1217
  msgstr "Zet bot-detectie uit voor ingelogde gebruikers"
1218
 
1221
  msgid "WP Cerber Security & Antispam"
1222
  msgstr "WP Cerber Security & Antispam"
1223
 
1224
+ #: ../dashboard.php:95 ../dashboard.php:654
1225
  msgid "Country"
1226
  msgstr "Land"
1227
 
1228
+ #: ../dashboard.php:686
1229
  msgid "All events"
1230
  msgstr "Alle gebeurtenissen"
1231
 
1232
+ #: ../dashboard.php:996
1233
  msgid "Cerber Security Rules"
1234
  msgstr "Cerber Beveiligingsregels"
1235
 
1236
+ #: ../dashboard.php:996 ../dashboard.php:2136
1237
  msgid "Security Rules"
1238
  msgstr "Beveiligingsregels"
1239
 
1240
+ #: ../dashboard.php:1073
1241
  msgid "Failed login attempts"
1242
  msgstr "Gefaalde loginpogingen"
1243
 
1244
+ #: ../dashboard.php:955 ../dashboard.php:1074
1245
  msgid "Registered"
1246
  msgstr "Geregistreerd"
1247
 
1248
+ #: ../dashboard.php:1141
1249
  msgid "You"
1250
  msgstr "Jij"
1251
 
1252
+ #: ../common.php:138
1253
  msgid "Spam form submissions denied"
1254
  msgstr "Spam formulierafgifte afgewezen "
1255
 
1256
+ #: ../dashboard.php:1474 ../wp-cerber.php:3208 ../wp-cerber.php:3901
1257
  msgid "Getting Started Guide"
1258
  msgstr "Startgids"
1259
 
1260
+ #: ../dashboard.php:2141
1261
  msgid "Countries"
1262
  msgstr "Landen"
1263
 
1264
+ #: ../dashboard.php:2204
1265
  msgid "Permitted for one country"
1266
  msgid_plural "Permitted for %d countries"
1267
  msgstr[0] "Toegestaan voor één land"
1268
  msgstr[1] "Toegestaan voor %d landen"
1269
 
1270
+ #: ../dashboard.php:2215
1271
  msgid "No rule"
1272
  msgstr "Geen regel"
1273
 
1274
+ #: ../dashboard.php:2427
1275
  msgid "Security rules have been updated"
1276
  msgstr "Beveiligingsregels zijn vernieuwd"
1277
 
1280
  msgid "https://wpcerber.com"
1281
  msgstr "https://wpcerber.com"
1282
 
1283
+ #: ../common.php:624
1284
  msgid "Form submission denied"
1285
  msgstr "Formulierafgifte afgewezen"
1286
 
1287
+ #: ../common.php:625
1288
  msgid "Comment denied"
1289
  msgstr "Commentaar afgewezen"
1290
 
1291
+ #: ../common.php:651
1292
  msgid "Request to REST API denied"
1293
  msgstr "Verzoek aan REST API afgewezen"
1294
 
1295
+ #: ../common.php:652
1296
  msgid "XML-RPC request denied"
1297
  msgstr "XML-RPC-verzoek afgewezen"
1298
 
1299
+ #: ../common.php:656
1300
  msgid "Bot detected"
1301
  msgstr "Bot gedetecteerd"
1302
 
1303
+ #: ../common.php:657
1304
  msgid "Citadel mode is active"
1305
  msgstr "Citadelmodus actief"
1306
 
1307
+ #: ../common.php:662
1308
  msgid "Malicious activity detected"
1309
  msgstr "Verdachte activiteit gedetecteerd "
1310
 
1311
+ #: ../common.php:663
1312
  msgid "Blocked by country rule"
1313
  msgstr "Geblokkeerd door landenregel"
1314
 
1315
+ #: ../common.php:664
1316
  msgid "Limit reached"
1317
  msgstr "Limiet bereikt"
1318
 
1319
+ #: ../common.php:665
1320
  msgid "Multiple suspicious activities"
1321
  msgstr "Meerdere verdachte activiteiten"
1322
 
1323
+ #: ../common.php:694
1324
  msgid "Multiple suspicious activities were detected"
1325
  msgstr "Meerdere verdachte activiteiten gedetecteerd"
1326
 
1327
+ #: ../settings.php:110
1328
  msgid "Block access to user pages like /?author=n and user data via REST API"
1329
  msgstr "Blokkeer toegang tot gebruikersgegevens en -pagina's als /?author=n via de REST API"
1330
 
1331
+ #: ../settings.php:113
1332
  msgid "Block access to the WordPress REST API except the following"
1333
  msgstr "Blokkeer toegang naar de WordPress REST API behalve het volgende"
1334
 
1335
+ #: ../settings.php:114
1336
  msgid "Allow REST API for logged in users"
1337
  msgstr "Sta REST API toe voor ingelogde gebruikers"
1338
 
1339
+ #: ../settings.php:121
1340
  msgid "Specify REST API namespaces to be allowed if REST API is disabled. One string per line."
1341
  msgstr "Geef toegestane REST API-naamruimtes op als de REST API is uitgeschakeld. Eén tekenreeks per regel."
1342
 
1343
+ #: ../settings.php:132
1344
  msgid "Registration limit"
1345
  msgstr "Registratielimiet"
1346
 
1347
+ #: ../settings.php:142
1348
  msgid "Sort users in dashboard"
1349
  msgstr "Gebruikers in dashboard sorteren"
1350
 
1351
+ #: ../settings.php:142
1352
  msgid "by date of registration"
1353
  msgstr "per registratiedatum"
1354
 
1355
+ #: ../settings.php:157
1356
  msgid "Query whitelist"
1357
  msgstr "Toegestane queries"
1358
 
1359
+ #: ../settings.php:482 ../settings.php:604
1360
  msgid "%s allowed registrations in %s minutes from one IP"
1361
  msgstr "%s toegestane registraties in %s minuten van één IP"
1362
 
1363
+ #: ../dashboard.php:2271
1364
  msgid "Start typing here to find a country"
1365
  msgstr "Begin te typen om een land te vinden"
1366
 
1367
+ #: ../dashboard.php:2354
1368
  msgid "Click on a country name to add it to the list of selected countries"
1369
  msgstr "Klik op een landnaam om toe te voegen aan de lijst gekozen landen"
1370
 
1371
+ #: ../dashboard.php:2378
1372
  msgid "Submit forms"
1373
  msgstr "Formulieren versturen"
1374
 
1375
+ #: ../dashboard.php:2379
1376
  msgid "Post comments"
1377
  msgstr "Commentaar plaatsen"
1378
 
1379
+ #: ../dashboard.php:2380
1380
  msgid "Log in to the website"
1381
  msgstr "Inloggen bij de website"
1382
 
1383
+ #: ../dashboard.php:2381
1384
  msgid "Register on the website"
1385
  msgstr "Registreren bij de website"
1386
 
1387
+ #: ../dashboard.php:2382
1388
  msgid "Use XML-RPC"
1389
  msgstr "Benut XML-RPC"
1390
 
1391
+ #: ../dashboard.php:2383
1392
  msgid "Use REST API"
1393
  msgstr "Benut REST API"
1394
 
1395
+ #: ../settings.php:167
1396
  msgid "Deny it completely"
1397
  msgstr "Volledig negeren"
1398
 
1399
+ #: ../settings.php:167
1400
  msgid "Mark it as spam"
1401
  msgstr "Markeren als spam"
1402
 
1403
+ #: ../dashboard.php:1402
1404
  msgid "in the last 24 hours"
1405
  msgstr "in de afgelopen 24 uur"
1406
 
1407
+ #: ../dashboard.php:1758
1408
  msgid "Main settings"
1409
  msgstr "Hoofdinstellingen"
1410
 
1411
+ #: ../settings.php:225
1412
  msgid "Weekly reports"
1413
  msgstr "Weekrapporten"
1414
 
1415
+ #: ../settings.php:701
1416
  msgid "Sunday"
1417
+ msgstr "zondag"
1418
 
1419
+ #: ../settings.php:702
1420
  msgid "Monday"
1421
  msgstr "maandag"
1422
 
1423
+ #: ../settings.php:703
1424
  msgid "Tuesday"
1425
  msgstr "dinsdag"
1426
 
1427
+ #: ../settings.php:704
1428
  msgid "Wednesday"
1429
  msgstr "woensdag"
1430
 
1431
+ #: ../settings.php:705
1432
  msgid "Thursday"
1433
  msgstr "donderdag"
1434
 
1435
+ #: ../settings.php:706
1436
  msgid "Friday"
1437
  msgstr "vrijdag"
1438
 
1439
+ #: ../settings.php:707
1440
  msgid "Saturday"
1441
  msgstr "zaterdag"
1442
 
1443
+ #: ../settings.php:760 ../settings.php:761
1444
  msgid "If you use a caching plugin, you have to add your new login URL to the list of pages not to cache."
1445
+ msgstr "Gebruik je een caching plugin, dan moet je je nieuwe login URL toevoegen aan de niet te cachen pagina's."
1446
 
1447
  #. translators: preposition of time
1448
+ #: ../settings.php:717
1449
  msgctxt "preposition of time"
1450
  msgid "at"
1451
  msgstr "op"
1452
 
1453
+ #: ../wp-cerber.php:3224
1454
  msgid "Weekly report"
1455
  msgstr "Weekrapport"
1456
 
1457
+ #: ../wp-cerber.php:3227
1458
  msgid "To change reporting settings visit"
1459
  msgstr "Om je rapportageinstellingen aan te passen, ga naar"
1460
 
1461
+ #: ../wp-cerber.php:3253
1462
  msgid "Your login page:"
1463
  msgstr "Je login-pagina:"
1464
 
1465
+ #: ../wp-cerber.php:3257
1466
  msgid "Your license is valid until"
1467
  msgstr "Je licentie geldt tot"
1468
 
1469
+ #: ../wp-cerber.php:3370
1470
  msgid "Activity details"
1471
  msgstr "Details van activiteiten"
1472
 
1473
+ #: ../settings.php:733
1474
  msgid "Click to send now"
1475
  msgstr "Klik om nu te versturen"
1476
 
1477
+ #: ../wp-cerber.php:707
1478
  msgid "> > > Translator of WP Cerber? To get the PRO license for free, drop your contacts here: https://wpcerber.com/contact/"
1479
  msgstr ">>> Vertaler van WP Cerber? Om een gratis Pro-licentie te krijgen, geef je contactinformatie op bij: https://wpcerber.com/contact/"
1480
 
1481
+ #: ../dashboard.php:380
1482
  msgid "Email has been sent to"
1483
  msgstr "E-mail is verzonden naar"
1484
 
1485
+ #: ../dashboard.php:383
1486
  msgid "Unable to send email to"
1487
  msgstr "Kan geen e-mail verzenden naar"
1488
 
1489
+ #: ../dashboard.php:2207
1490
  msgid "Not permitted for one country"
1491
  msgid_plural "Not permitted for %d countries"
1492
  msgstr[0] "Niet toegestaan voor één land"
1493
  msgstr[1] "Niet toegestaan voor %d landen"
1494
 
1495
+ #: ../dashboard.php:2358
1496
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1497
  msgid "Selected countries are permitted to %s, other countries are not permitted to"
1498
  msgstr "Gekozen landen mogen %s, overige landen niet"
1499
 
1500
+ #: ../dashboard.php:2361
1501
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
1502
  msgid "Selected countries are not permitted to %s, other countries are permitted to"
1503
  msgstr "Gekozen landen mogen niet %s, overige landen wel"
1507
  msgid "Protects site from brute force attacks, bots and hackers. Antispam protection with the Cerber antispam engine and reCAPTCHA. Comprehensive control of user activity. Restrict login by IP access lists. Limit login attempts. Know more: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1508
  msgstr "Beschermt site tegen brute force-aanvallen, bots en hackers. Spambescherming met Cerber's antispamprogramma en reCAPTCHA. Uitgebreid beheer van gebruikersactiviteit. Beperk login op IP-adres. Limiteer login-pogingen. Meer: <a href=\"https://wpcerber.com\">wpcerber.com</a>."
1509
 
1510
+ #: ../wp-cerber.php:3358
1511
  msgid "Weekly Report"
1512
  msgstr "Weekrapport"
1513
 
1514
+ #: ../settings.php:83
1515
  msgid "Use 404 template from the active theme"
1516
  msgstr "Gebruik 404-sjabloon van het actieve thema"
1517
 
1518
+ #: ../settings.php:83
1519
  msgid "Display simple 404 page"
1520
  msgstr "Toon eenvoudige 404-pagina"
1521
 
1522
+ #: ../settings.php:163
1523
  msgid "Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line."
1524
  msgstr "Voer een deel van een query-tekenreeks of -pad in om een request uit te sluiten van inspectie. Eén item per regel."
1525
 
1526
+ #: ../settings.php:238
1527
  msgid "if empty, email from notification settings will be used"
1528
+ msgstr "Indien leeg, gebruiken we de email van de meldingsinstellingen"
1529
 
1530
+ #: ../settings.php:226
1531
  msgid "Enable reporting"
1532
  msgstr "Rapporteren aanzetten"
1533
 
1534
  #. How to interpret this line? Do you mean 'was DATE/TIME from IP ADDRESS' ?
1535
+ #: ../wp-cerber.php:3280
1536
  msgid "Your last sign-in was %s from %s"
1537
  msgstr "Je laatste inlog was op %s vanaf %s"
1538
 
1539
+ #: ../wp-cerber.php:3384
1540
  msgid "Attempts to log in with non-existent username"
1541
  msgstr "Pogingen om in te loggen met een onbekende gebruikersnaam"
1542
 
1543
+ #: ../dashboard.php:169
1544
  msgid "IP address, IPv4 address range or subnet"
1545
  msgstr "IP adres, IPv4 adresreeks of subnet"
1546
 
1547
+ #: ../dashboard.php:171
1548
  msgid "Optional comment for this entry"
1549
  msgstr "Opmerking hierbij"
1550
 
1551
+ #: ../dashboard.php:212
1552
  msgid "You cannot add your IP address or network"
1553
+ msgstr "Je kunt je eigen IP of netwerk niet toevoegen"
1554
 
1555
+ #: ../cerber-news.php:141
1556
  msgid "Cool!"
1557
  msgstr "Mooi!"
1558
 
1559
+ #: ../settings.php:139
1560
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
1561
  msgstr "Sluit een patroon op in twee voorwaartse slashes om er een REGEX patroon van te maken."
1562
 
1563
+ #: ../dashboard.php:992
1564
+ msgid "Cerber Traffic Inspector"
1565
+ msgstr "Cerber Verkeersinspectie"
1566
+
1567
+ #: ../dashboard.php:992 ../dashboard.php:1211 ../dashboard.php:2476
1568
+ msgid "Traffic Inspector"
1569
+ msgstr "Verkeersinspectie"
1570
+
1571
+ #: ../dashboard.php:1227
1572
+ msgid "Traffic"
1573
+ msgstr "Verkeer"
1574
+
1575
+ #: ../dashboard.php:2481
1576
+ msgid "Live traffic"
1577
+ msgstr "Live verkeer"
1578
+
1579
+ #: ../dashboard.php:2783
1580
+ msgid "Request"
1581
+ msgstr "Verzoek"
1582
+
1583
+ #: ../dashboard.php:2785
1584
+ msgid "Host Info"
1585
+ msgstr "Host Info"
1586
+
1587
+ #. Do you mean a program for browsing the web like Chrome? Or a ftp user agent or so?
1588
+ #: ../dashboard.php:2786
1589
+ msgid "User Agent"
1590
+ msgstr "Webbrowser"
1591
+
1592
+ #: ../dashboard.php:2811
1593
+ msgid "All requests"
1594
+ msgstr "Alle verzoeken"
1595
+
1596
+ #: ../dashboard.php:2813
1597
+ msgid "Not logged in visitors"
1598
+ msgstr "Niet-ingelogde bezoekers"
1599
+
1600
+ #: ../dashboard.php:2814
1601
+ msgid "Form submissions"
1602
+ msgstr "Formulierverzendingen"
1603
+
1604
+ #: ../dashboard.php:2815
1605
+ msgid "Page Not Found"
1606
+ msgstr "Pagina Niet Gevonden"
1607
+
1608
+ #: ../dashboard.php:2816
1609
+ msgid "REST API"
1610
+ msgstr "REST API"
1611
+
1612
+ #: ../dashboard.php:2817
1613
+ msgid "XML-RPC"
1614
+ msgstr "XML-RPC"
1615
+
1616
+ #: ../dashboard.php:2821
1617
+ msgid "Longer than"
1618
+ msgstr "Langer dan"
1619
+
1620
+ #: ../dashboard.php:2834
1621
+ msgid "Refresh"
1622
+ msgstr "Ververs"
1623
+
1624
+ #: ../common.php:101
1625
+ msgid "Check for requests"
1626
+ msgstr "Controleer op verzoeken"
1627
+
1628
+ #: ../common.php:910
1629
+ msgid "Not specified"
1630
+ msgstr "Niet gespecificeerd"
1631
+
1632
+ #: ../settings.php:254
1633
+ msgid "Logging mode"
1634
+ msgstr "Rapportagestand"
1635
+
1636
+ #: ../settings.php:260
1637
+ msgid "Logging disabled"
1638
+ msgstr "Rapportage uit"
1639
+
1640
+ #: ../settings.php:261
1641
+ msgid "Smart"
1642
+ msgstr "Slim"
1643
+
1644
+ #: ../settings.php:262
1645
+ msgid "All traffic"
1646
+ msgstr "Alle verkeer"
1647
+
1648
+ #: ../settings.php:266
1649
+ msgid "Ignore crawlers"
1650
+ msgstr "Negeer crawlers"
1651
+
1652
+ #: ../settings.php:276
1653
+ msgid "Mask these form fields"
1654
+ msgstr "Verberg deze formuliervelden"
1655
+
1656
+ #: ../settings.php:291
1657
+ msgid "milliseconds"
1658
+ msgstr "milliseconden"
1659
+
1660
+ #: ../settings.php:246
1661
+ msgid "Inspection"
1662
+ msgstr "Inspectie"
1663
+
1664
+ #: ../settings.php:247
1665
+ msgid "Enable traffic inspection"
1666
+ msgstr "Verkeersinspectie aanzetten"
1667
+
1668
+ #: ../settings.php:253
1669
+ msgid "Logging"
1670
+ msgstr "Rapporteren"
1671
+
1672
+ #: ../settings.php:271
1673
+ msgid "Save request fields"
1674
+ msgstr "Bewaar verzoekvelden"
1675
+
1676
+ #: ../settings.php:286
1677
+ msgid "Page generation time threshold"
1678
+ msgstr "Drempeltijd paginaopbouw"
1679
+
1680
+ #: ../dashboard.php:2803
1681
+ msgid "No requests have been logged."
1682
+ msgstr "Er zijn geen verzoeken geregistreerd."
1683
+
1684
+ #: ../dashboard.php:1210
1685
+ msgid "enabled"
1686
+ msgstr "aan"
1687
+
1688
+ #: ../dashboard.php:1214
1689
+ msgid "no connection"
1690
+ msgstr "geen verbinding"
1691
+
1692
+ #: ../dashboard.php:3050
1693
+ msgid "Advanced search"
1694
+ msgstr "Geavanceerd zoeken"
1695
+
1696
+ #: ../dashboard.php:948
1697
+ msgid "Last seen"
1698
+ msgstr "Laatst gezien"
1699
+
1700
+ #. A fix for "Probing for vulnerable PHP script".
1701
+ #: ../common.php:649 ../common.php:695
1702
+ msgid "Probing for vulnerable PHP code"
1703
+ msgstr "Onderzoeken op kwetsbare PHP-code"
1704
+
languages/wp-cerber.pot CHANGED
@@ -5,7 +5,7 @@ msgstr ""
5
  "Project-Id-Version: WP Cerber\n"
6
  "Report-Msgid-Bugs-To: \n"
7
  "POT-Creation-Date: Tue Sep 08 2015 21:38:11 GMT+0300\n"
8
- "POT-Revision-Date: Fri Jan 05 2018 22:31:35 GMT+0300\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10
  "Last-Translator: \n"
11
  "Language-Team: \n"
@@ -24,19 +24,20 @@ msgstr ""
24
  "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
25
  "X-Generator: Loco - https://localise.biz/"
26
 
27
- #: ../dashboard.php:86 ../dashboard.php:158
28
  msgid "Remove"
29
  msgstr ""
30
 
31
- #: ../dashboard.php:93 ../dashboard.php:631 ../wp-cerber.php:3529
 
32
  msgid "IP"
33
  msgstr ""
34
 
35
- #: ../dashboard.php:94 ../dashboard.php:632
36
  msgid "Hostname"
37
  msgstr ""
38
 
39
- #: ../dashboard.php:95 ../dashboard.php:633
40
  msgid "Country"
41
  msgstr ""
42
 
@@ -44,7 +45,7 @@ msgstr ""
44
  msgid "Expires"
45
  msgstr ""
46
 
47
- #: ../dashboard.php:97 ../wp-cerber.php:3046
48
  msgid "Reason"
49
  msgstr ""
50
 
@@ -69,8 +70,9 @@ msgstr ""
69
  msgid "No lockouts at the moment. The sky is clear."
70
  msgstr ""
71
 
72
- #: ../dashboard.php:131 ../dashboard.php:607 ../dashboard.php:811 ../dashboard.
73
- #: php:1107 ../wp-cerber.php:3748 ../settings.php:73 ../settings.php:218
 
74
  msgid "White IP Access List"
75
  msgstr ""
76
 
@@ -78,8 +80,8 @@ msgstr ""
78
  msgid "These IPs will never be locked out"
79
  msgstr ""
80
 
81
- #: ../dashboard.php:133 ../dashboard.php:608 ../dashboard.php:813 ../dashboard.
82
- #: php:1108
83
  msgid "Black IP Access List"
84
  msgstr ""
85
 
@@ -91,425 +93,504 @@ msgstr ""
91
  msgid "Your IP"
92
  msgstr ""
93
 
94
- #: ../dashboard.php:158 ../dashboard.php:843
 
95
  msgid "Check for activity"
96
  msgstr ""
97
 
98
- #: ../dashboard.php:163
99
  msgid "List is empty"
100
  msgstr ""
101
 
102
- #: ../dashboard.php:167
103
  msgid "IP address, IPv4 address range or subnet"
104
  msgstr ""
105
 
106
- #: ../dashboard.php:168
107
  msgid "Add IP to the list"
108
  msgstr ""
109
 
110
- #: ../dashboard.php:169
111
  msgid "Optional comment for this entry"
112
  msgstr ""
113
 
114
- #: ../dashboard.php:194 ../dashboard.php:206
115
  msgid "Incorrect IP address or IP range"
116
  msgstr ""
117
 
118
- #: ../dashboard.php:200
119
  #, php-format
120
  msgid "Address %s was added to White IP Access List"
121
  msgstr ""
122
 
123
- #: ../dashboard.php:210
124
  msgid "You cannot add your IP address or network"
125
  msgstr ""
126
 
127
- #: ../dashboard.php:214
128
  #, php-format
129
  msgid "Address %s was added to Black IP Access List"
130
  msgstr ""
131
 
132
- #: ../dashboard.php:311 ../whois.php:221 ../whois.php:252 ../common.php:594
 
133
  msgid "Unknown"
134
  msgstr ""
135
 
136
- #: ../dashboard.php:353
137
  msgid "unknown"
138
  msgstr ""
139
 
140
- #: ../dashboard.php:377
141
  msgid "Email has been sent to"
142
  msgstr ""
143
 
144
- #: ../dashboard.php:380
145
  msgid "Unable to send email to"
146
  msgstr ""
147
 
148
- #: ../dashboard.php:387
149
  #, php-format
150
  msgid "Lockout for %s was removed"
151
  msgstr ""
152
 
153
- #: ../dashboard.php:404 ../dashboard.php:1469
154
  msgid "Settings saved"
155
  msgstr ""
156
 
157
- #: ../dashboard.php:476
158
  msgid "IP address"
159
  msgstr ""
160
 
161
- #: ../dashboard.php:476 ../dashboard.php:634
162
  msgid "Date"
163
  msgstr ""
164
 
165
- #: ../dashboard.php:476 ../dashboard.php:635
166
  msgid "Event"
167
  msgstr ""
168
 
169
- #: ../dashboard.php:476 ../dashboard.php:636
170
  msgid "Local User"
171
  msgstr ""
172
 
173
- #: ../dashboard.php:476
174
  msgid "User login"
175
  msgstr ""
176
 
177
- #: ../dashboard.php:476
178
  msgid "User ID"
179
  msgstr ""
180
 
181
- #: ../dashboard.php:476 ../dashboard.php:637 ../wp-cerber.php:3537
182
  msgid "Username used"
183
  msgstr ""
184
 
185
- #: ../dashboard.php:612 ../dashboard.php:816 ../common.php:565
 
186
  msgid "Locked out"
187
  msgstr ""
188
 
189
- #: ../dashboard.php:654
190
  msgid "Export"
191
  msgstr ""
192
 
193
- #: ../dashboard.php:658
194
  msgid "No activity has been logged."
195
  msgstr ""
196
 
197
- #: ../dashboard.php:664
198
  msgid "All events"
199
  msgstr ""
200
 
201
- #: ../dashboard.php:673
202
  msgid "Search for IP or username"
203
  msgstr ""
204
 
205
- #: ../dashboard.php:673
206
  msgid "Filter"
207
  msgstr ""
208
 
209
- #: ../dashboard.php:839
210
  msgid "Abuse email:"
211
  msgstr ""
212
 
213
- #: ../dashboard.php:843
214
  msgid "Network:"
215
  msgstr ""
216
 
217
- #: ../dashboard.php:857
218
  msgid "Add network to the Black List"
219
  msgstr ""
220
 
221
- #: ../dashboard.php:861
222
  msgid "Add IP to the Black List"
223
  msgstr ""
224
 
225
- #: ../dashboard.php:892 ../settings.php:241
 
 
 
 
 
 
 
 
226
  msgid "WP Cerber Security"
227
  msgstr ""
228
 
229
  #. Name of the plugin
230
- #: ../dashboard.php:892 ../dashboard.php:911
231
  msgid "WP Cerber"
232
  msgstr ""
233
 
234
- #: ../dashboard.php:894
235
  msgid "Cerber Dashboard"
236
  msgstr ""
237
 
238
- #: ../dashboard.php:894 ../dashboard.php:1115 ../dashboard.php:1642 ../settings.
239
- #: php:246
240
  msgid "Dashboard"
241
  msgstr ""
242
 
243
- #: ../dashboard.php:897
 
 
 
 
 
 
 
 
244
  msgid "Cerber Security Rules"
245
  msgstr ""
246
 
247
- #: ../dashboard.php:897 ../dashboard.php:1990
248
  msgid "Security Rules"
249
  msgstr ""
250
 
251
- #: ../dashboard.php:900
252
  msgid "Cerber antispam settings"
253
  msgstr ""
254
 
255
- #: ../dashboard.php:900 ../wp-cerber.php:3757 ../settings.php:163
 
256
  msgid "Antispam"
257
  msgstr ""
258
 
259
- #: ../dashboard.php:901
260
  msgid "Cerber tools"
261
  msgstr ""
262
 
263
- #: ../dashboard.php:901 ../cerber-tools.php:43
264
  msgid "Tools"
265
  msgstr ""
266
 
267
- #: ../dashboard.php:972
268
  msgid "Comments"
269
  msgstr ""
270
 
271
- #: ../dashboard.php:973
272
  msgid "Last login"
273
  msgstr ""
274
 
275
- #: ../dashboard.php:974
276
  msgid "Failed login attempts"
277
  msgstr ""
278
 
279
- #: ../dashboard.php:975
280
- msgid "Registered"
281
- msgstr ""
282
-
283
- #: ../dashboard.php:1006 ../dashboard.php:1090
284
  msgid "Never"
285
  msgstr ""
286
 
287
- #: ../dashboard.php:1042
288
  msgid "You"
289
  msgstr ""
290
 
291
- #: ../dashboard.php:1060
292
  msgid "Cerber Quick View"
293
  msgstr ""
294
 
295
- #: ../dashboard.php:1094
296
  msgid "active"
297
  msgstr ""
298
 
299
- #: ../dashboard.php:1094
300
  msgid "deactivate"
301
  msgstr ""
302
 
303
- #: ../dashboard.php:1096
304
  msgid "not active"
305
  msgstr ""
306
 
307
- #: ../dashboard.php:1097
308
  msgid "disabled"
309
  msgstr ""
310
 
311
- #: ../dashboard.php:1102
312
  msgid "failed attempts"
313
  msgstr ""
314
 
315
- #: ../dashboard.php:1102 ../dashboard.php:1103
316
  msgid "in 24 hours"
317
  msgstr ""
318
 
319
- #: ../dashboard.php:1102 ../dashboard.php:1103
320
  msgid "view all"
321
  msgstr ""
322
 
323
- #: ../dashboard.php:1103
324
  msgid "lockouts"
325
  msgstr ""
326
 
327
- #: ../dashboard.php:1105
328
  msgid "Lockouts at the moment"
329
  msgstr ""
330
 
331
- #: ../dashboard.php:1106
332
  msgid "Last lockout"
333
  msgstr ""
334
 
335
- #: ../dashboard.php:1107 ../dashboard.php:1108 ../dashboard.php:1622
336
  msgid "entry"
337
  msgid_plural "entries"
338
  msgstr[0] ""
339
  msgstr[1] ""
340
 
341
- #: ../dashboard.php:1109 ../settings.php:88
342
  msgid "Citadel mode"
343
  msgstr ""
344
 
345
- #: ../dashboard.php:1111 ../settings.php:177
346
- msgid "Push notifications"
347
  msgstr ""
348
 
349
- #: ../dashboard.php:1116 ../dashboard.php:1312 ../wp-cerber.php:3520 ../settings.
350
- #: php:93 ../settings.php:248
351
- msgid "Activity"
352
  msgstr ""
353
 
354
- #: ../dashboard.php:1117 ../settings.php:252
355
- msgid "Lockouts"
 
356
  msgstr ""
357
 
358
- #: ../dashboard.php:1118 ../wp-cerber.php:3756 ../settings.php:257 ../cerber-
359
- #: tools.php:88 ../cerber-tools.php:97 ../cerber-tools.php:178
360
- msgid "Access Lists"
361
  msgstr ""
362
 
363
- #: ../dashboard.php:1164 ../settings.php:75
364
  msgid "My site is behind a reverse proxy"
365
  msgstr ""
366
 
367
- #: ../dashboard.php:1292
368
  msgid "in the last 24 hours"
369
  msgstr ""
370
 
371
- #: ../dashboard.php:1298 ../dashboard.php:1327
372
  msgid "View all"
373
  msgstr ""
374
 
375
- #: ../dashboard.php:1306 ../common.php:520
376
  msgid "User registered"
377
  msgstr ""
378
 
379
- #: ../dashboard.php:1307
380
  msgid "All suspicious activity"
381
  msgstr ""
382
 
383
- #: ../dashboard.php:1328
384
  msgid "Recently locked out IP addresses"
385
  msgstr ""
386
 
387
- #: ../dashboard.php:1351
388
  msgid "Confused about some settings?"
389
  msgstr ""
390
 
391
- #: ../dashboard.php:1352
392
  msgid "You can easily load default recommended settings using button below"
393
  msgstr ""
394
 
395
- #: ../dashboard.php:1354
396
  msgid "Load default settings"
397
  msgstr ""
398
 
399
- #: ../dashboard.php:1356
400
  msgid "Are you sure?"
401
  msgstr ""
402
 
403
- #: ../dashboard.php:1362
404
  msgid "doesn't affect Custom login URL and Access Lists"
405
  msgstr ""
406
 
407
- #: ../dashboard.php:1363 ../wp-cerber.php:3078 ../wp-cerber.php:3750
408
  msgid "Getting Started Guide"
409
  msgstr ""
410
 
411
- #: ../dashboard.php:1452
412
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
413
  msgstr ""
414
 
415
- #: ../dashboard.php:1453
416
  msgid "Deactivate"
417
  msgstr ""
418
 
419
- #: ../dashboard.php:1454
420
  msgid "View Activity"
421
  msgstr ""
422
 
423
- #: ../dashboard.php:1555
424
  msgid "Subscribe"
425
  msgstr ""
426
 
427
- #: ../dashboard.php:1556 ../cerber-tools.php:243
428
  msgid "Unsubscribe"
429
  msgstr ""
430
 
431
- #: ../dashboard.php:1584
432
  msgid "You've subscribed"
433
  msgstr ""
434
 
435
- #: ../dashboard.php:1587
436
  msgid "You've unsubscribed"
437
  msgstr ""
438
 
439
- #: ../dashboard.php:1643
440
  msgid "Main settings"
441
  msgstr ""
442
 
443
- #: ../dashboard.php:1995
444
  msgid "Countries"
445
  msgstr ""
446
 
447
- #: ../dashboard.php:2060
448
  #, php-format
449
  msgid "Permitted for one country"
450
  msgid_plural "Permitted for %d countries"
451
  msgstr[0] ""
452
  msgstr[1] ""
453
 
454
- #: ../dashboard.php:2063
455
  #, php-format
456
  msgid "Not permitted for one country"
457
  msgid_plural "Not permitted for %d countries"
458
  msgstr[0] ""
459
  msgstr[1] ""
460
 
461
- #: ../dashboard.php:2071
462
  msgid "No rule"
463
  msgstr ""
464
 
465
- #: ../dashboard.php:2127
466
  msgid "Start typing here to find a country"
467
  msgstr ""
468
 
469
- #: ../dashboard.php:2210
470
  msgid "Click on a country name to add it to the list of selected countries"
471
  msgstr ""
472
 
473
- #: ../dashboard.php:2214
474
  #, php-format
475
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
476
  msgid "Selected countries are permitted to %s, other countries are not permitted to"
477
  msgstr ""
478
 
479
- #: ../dashboard.php:2217
480
  #, php-format
481
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
482
  msgid "Selected countries are not permitted to %s, other countries are permitted to"
483
  msgstr ""
484
 
485
- #: ../dashboard.php:2229
486
  msgid "Submit forms"
487
  msgstr ""
488
 
489
- #: ../dashboard.php:2230
490
  msgid "Post comments"
491
  msgstr ""
492
 
493
- #: ../dashboard.php:2231
494
  msgid "Log in to the website"
495
  msgstr ""
496
 
497
- #: ../dashboard.php:2232
498
  msgid "Register on the website"
499
  msgstr ""
500
 
501
- #: ../dashboard.php:2233
502
  msgid "Use XML-RPC"
503
  msgstr ""
504
 
505
- #: ../dashboard.php:2234
506
  msgid "Use REST API"
507
  msgstr ""
508
 
509
- #: ../dashboard.php:2274
510
  msgid "Security rules have been updated"
511
  msgstr ""
512
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
513
  #. Name of the plugin
514
  msgid "WP Cerber Security & Antispam"
515
  msgstr ""
@@ -530,423 +611,440 @@ msgstr ""
530
  msgid "Gregory"
531
  msgstr ""
532
 
533
- #: ../wp-cerber.php:236
534
  msgid "You are not allowed to log in. Ask your administrator for assistance."
535
  msgstr ""
536
 
537
- #: ../wp-cerber.php:242
538
  #, php-format
539
  msgid "You have reached the login attempts limit. Please try again in %d minutes."
540
  msgstr ""
541
 
542
- #: ../wp-cerber.php:261
543
  #, php-format
544
  msgid "You have only one attempt remaining."
545
  msgid_plural "You have %d attempts remaining."
546
  msgstr[0] ""
547
  msgstr[1] ""
548
 
549
- #: ../wp-cerber.php:544 ../wp-cerber.php:556 ../wp-cerber.php:563 ../wp-cerber.
550
- #: php:742 ../wp-cerber.php:958 ../wp-cerber.php:964 ../wp-cerber.php:969 ../wp-
551
- #: cerber.php:974 ../wp-cerber.php:980 ../wp-cerber.php:987 ../wp-cerber.php:1087
552
- #: ../wp-cerber.php:1224 ../common.php:173 ../common.php:227 ../common.php:231 ..
553
- #: /settings.php:711
554
  msgid "ERROR:"
555
  msgstr ""
556
 
557
- #: ../wp-cerber.php:573
558
  msgid ""
559
  "Human verification failed. Please click the square box in the reCAPTCHA "
560
  "block below."
561
  msgstr ""
562
 
563
- #: ../wp-cerber.php:624
564
  msgid ""
565
  "> > > Translator of WP Cerber? To get the PRO license for free, drop your "
566
  "contacts here: https://wpcerber.com/contact/"
567
  msgstr ""
568
 
569
- #: ../wp-cerber.php:754
570
  #, php-format
571
  msgid ""
572
  "<strong>ERROR</strong>: The password you entered for the username %s is "
573
  "incorrect."
574
  msgstr ""
575
 
576
- #: ../wp-cerber.php:959 ../wp-cerber.php:965 ../wp-cerber.php:981 ../wp-cerber.
577
- #: php:988
578
  msgid "You are not allowed to register."
579
  msgstr ""
580
 
581
- #: ../wp-cerber.php:975
582
  msgid "Username is not allowed. Please choose another one."
583
  msgstr ""
584
 
585
- #: ../wp-cerber.php:1224
586
  msgid "Sorry, human verification failed."
587
  msgstr ""
588
 
589
- #: ../wp-cerber.php:2988
590
  msgid "WP Cerber notify"
591
  msgstr ""
592
 
593
- #: ../wp-cerber.php:3010
594
  msgid "Citadel mode is activated"
595
  msgstr ""
596
 
597
- #: ../wp-cerber.php:3012
598
  #, php-format
599
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
600
  msgstr ""
601
 
602
- #: ../wp-cerber.php:3013
603
  #, php-format
604
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
605
  msgstr ""
606
 
607
- #: ../wp-cerber.php:3014 ../wp-cerber.php:3561
608
  msgid "View activity in dashboard"
609
  msgstr ""
610
 
611
- #: ../wp-cerber.php:3039
612
  msgid "unspecified"
613
  msgstr ""
614
 
615
- #: ../wp-cerber.php:3042
616
  msgid "Number of lockouts is increasing"
617
  msgstr ""
618
 
619
- #: ../wp-cerber.php:3044
620
  msgid "Number of active lockouts"
621
  msgstr ""
622
 
623
- #: ../wp-cerber.php:3045
624
  #, php-format
625
  msgid "Last lockout was added: %s for IP %s"
626
  msgstr ""
627
 
628
- #: ../wp-cerber.php:3047
629
  msgid "View activity for this IP"
630
  msgstr ""
631
 
632
- #: ../wp-cerber.php:3048
633
  msgid "View lockouts in dashboard"
634
  msgstr ""
635
 
636
- #: ../wp-cerber.php:3051 ../wp-cerber.php:3053
637
  msgid "A new version of WP Cerber is available to install"
638
  msgstr ""
639
 
640
- #: ../wp-cerber.php:3052
641
  msgid "Hi!"
642
  msgstr ""
643
 
644
- #: ../wp-cerber.php:3055 ../wp-cerber.php:3066
645
  msgid "Website"
646
  msgstr ""
647
 
648
- #: ../wp-cerber.php:3058 ../wp-cerber.php:3059
649
  msgid "The WP Cerber security plugin has been deactivated"
650
  msgstr ""
651
 
652
- #: ../wp-cerber.php:3061
653
  msgid "Not logged in"
654
  msgstr ""
655
 
656
- #: ../wp-cerber.php:3067
657
  msgid "By user"
658
  msgstr ""
659
 
660
- #: ../wp-cerber.php:3068
661
  msgid "From IP address"
662
  msgstr ""
663
 
664
- #: ../wp-cerber.php:3071
665
  msgid "From country"
666
  msgstr ""
667
 
668
- #: ../wp-cerber.php:3075
669
  msgid "The WP Cerber security plugin is now active"
670
  msgstr ""
671
 
672
- #: ../wp-cerber.php:3076 ../wp-cerber.php:3747
673
  msgid "WP Cerber is now active and has started protecting your site"
674
  msgstr ""
675
 
676
- #: ../wp-cerber.php:3084
677
  msgid "New Custom login URL"
678
  msgstr ""
679
 
680
- #: ../wp-cerber.php:3088 ../wp-cerber.php:3089
681
  msgid "A new activity has been recorded"
682
  msgstr ""
683
 
684
- #: ../wp-cerber.php:3094
685
  msgid "Weekly report"
686
  msgstr ""
687
 
688
- #: ../wp-cerber.php:3097
689
  msgid "To change reporting settings visit"
690
  msgstr ""
691
 
692
- #: ../wp-cerber.php:3123
693
  msgid "Your login page:"
694
  msgstr ""
695
 
696
- #: ../wp-cerber.php:3127
697
  msgid "Your license is valid until"
698
  msgstr ""
699
 
700
- #: ../wp-cerber.php:3130
701
  msgid "This message was sent by"
702
  msgstr ""
703
 
704
- #: ../wp-cerber.php:3150
705
  #, php-format
706
  msgid "Your last sign-in was %s from %s"
707
  msgstr ""
708
 
709
- #: ../wp-cerber.php:3226
710
  msgid "Weekly Report"
711
  msgstr ""
712
 
713
- #: ../wp-cerber.php:3238
714
  msgid "Activity details"
715
  msgstr ""
716
 
717
- #: ../wp-cerber.php:3252
718
  msgid "Attempts to log in with non-existent username"
719
  msgstr ""
720
 
721
- #: ../wp-cerber.php:3533
722
  msgid "User"
723
  msgstr ""
724
 
725
- #: ../wp-cerber.php:3541
726
  msgid "Search string"
727
  msgstr ""
728
 
729
- #: ../wp-cerber.php:3562
730
  msgid "To unsubscribe click here"
731
  msgstr ""
732
 
733
- #: ../wp-cerber.php:3718
734
  #, php-format
735
  msgid "The WP Cerber requires PHP %s or higher. You are running"
736
  msgstr ""
737
 
738
- #: ../wp-cerber.php:3722
739
  #, php-format
740
  msgid "The WP Cerber requires WordPress %s or higher. You are running"
741
  msgstr ""
742
 
743
- #: ../wp-cerber.php:3731
744
  msgid "Can't activate WP Cerber due to a database error."
745
  msgstr ""
746
 
747
- #: ../wp-cerber.php:3748
748
  msgid "Your IP address is added to the"
749
  msgstr ""
750
 
751
- #: ../wp-cerber.php:3755 ../settings.php:254
752
  msgid "Main Settings"
753
  msgstr ""
754
 
755
- #: ../wp-cerber.php:3758 ../settings.php:259
 
 
 
 
 
756
  msgid "Hardening"
757
  msgstr ""
758
 
759
- #: ../wp-cerber.php:3759 ../settings.php:74 ../settings.php:91 ../settings.php:264
760
  msgid "Notifications"
761
  msgstr ""
762
 
763
- #: ../wp-cerber.php:3760
764
  msgid "Import settings"
765
  msgstr ""
766
 
767
- #: ../common.php:113
 
 
 
 
768
  msgid "Malicious activities mitigated"
769
  msgstr ""
770
 
771
- #: ../common.php:116
772
  msgid "Spam comments denied"
773
  msgstr ""
774
 
775
- #: ../common.php:117
776
  msgid "Spam form submissions denied"
777
  msgstr ""
778
 
779
- #: ../common.php:118
780
  msgid "Malicious IP addresses detected"
781
  msgstr ""
782
 
783
- #: ../common.php:119
784
  msgid "Lockouts occurred"
785
  msgstr ""
786
 
787
- #: ../common.php:519
788
  msgid "User created"
789
  msgstr ""
790
 
791
- #: ../common.php:521
792
  msgid "Logged in"
793
  msgstr ""
794
 
795
- #: ../common.php:522
796
  msgid "Logged out"
797
  msgstr ""
798
 
799
- #: ../common.php:523
800
  msgid "Login failed"
801
  msgstr ""
802
 
803
- #: ../common.php:526
804
  msgid "IP blocked"
805
  msgstr ""
806
 
807
- #: ../common.php:527
808
  msgid "Subnet blocked"
809
  msgstr ""
810
 
811
- #: ../common.php:529
812
  msgid "Citadel activated!"
813
  msgstr ""
814
 
815
- #: ../common.php:530
816
  msgid "Spam comment denied"
817
  msgstr ""
818
 
819
- #: ../common.php:531
820
  msgid "Spam form submission denied"
821
  msgstr ""
822
 
823
- #: ../common.php:532
824
  msgid "Form submission denied"
825
  msgstr ""
826
 
827
- #: ../common.php:533
828
  msgid "Comment denied"
829
  msgstr ""
830
 
831
- #: ../common.php:544
832
  msgid "Password changed"
833
  msgstr ""
834
 
835
- #: ../common.php:545
836
  msgid "Password reset requested"
837
  msgstr ""
838
 
839
- #: ../common.php:547
840
  msgid "reCAPTCHA verification failed"
841
  msgstr ""
842
 
843
- #: ../common.php:548
844
  msgid "reCAPTCHA settings are incorrect"
845
  msgstr ""
846
 
847
- #: ../common.php:549
848
  msgid "Request to the Google reCAPTCHA service failed"
849
  msgstr ""
850
 
851
- #: ../common.php:551
852
  msgid "Attempt to access prohibited URL"
853
  msgstr ""
854
 
855
- #: ../common.php:552 ../common.php:597
856
  msgid "Attempt to log in with non-existent username"
857
  msgstr ""
858
 
859
- #: ../common.php:553 ../common.php:598
860
  msgid "Attempt to log in with prohibited username"
861
  msgstr ""
862
 
863
- #: ../common.php:555
864
  msgid "Attempt to log in denied"
865
  msgstr ""
866
 
867
- #: ../common.php:556
868
  msgid "Attempt to register denied"
869
  msgstr ""
870
 
871
- #: ../common.php:558
 
 
 
 
872
  msgid "Request to REST API denied"
873
  msgstr ""
874
 
875
- #: ../common.php:559
876
  msgid "XML-RPC request denied"
877
  msgstr ""
878
 
879
- #: ../common.php:563
880
  msgid "Bot detected"
881
  msgstr ""
882
 
883
- #: ../common.php:564
884
  msgid "Citadel mode is active"
885
  msgstr ""
886
 
887
- #: ../common.php:566
888
  msgid "IP blacklisted"
889
  msgstr ""
890
 
891
- #: ../common.php:569
892
  msgid "Malicious activity detected"
893
  msgstr ""
894
 
895
- #: ../common.php:570
896
  msgid "Blocked by country rule"
897
  msgstr ""
898
 
899
- #: ../common.php:571
900
  msgid "Limit reached"
901
  msgstr ""
902
 
903
- #: ../common.php:572
904
  msgid "Multiple suspicious activities"
905
  msgstr ""
906
 
907
- #: ../common.php:595
908
  msgid "Limit on login attempts is reached"
909
  msgstr ""
910
 
911
- #: ../common.php:596
912
  msgid "Attempt to access"
913
  msgstr ""
914
 
915
- #: ../common.php:599
916
  msgid "Limit on failed reCAPTCHA verifications is reached"
917
  msgstr ""
918
 
919
- #: ../common.php:600
920
  msgid "Bot activity is detected"
921
  msgstr ""
922
 
923
- #: ../common.php:601
924
  msgid "Multiple suspicious activities were detected"
925
  msgstr ""
926
 
927
- #: ../common.php:644
928
  #, php-format
929
  msgid "%s ago"
930
  msgstr ""
931
 
932
- #: ../common.php:778
933
  msgid "New version is available"
934
  msgstr ""
935
 
936
- #: ../common.php:785
937
  #, php-format
938
  msgid "Update to version %s of WP Cerber"
939
  msgstr ""
940
 
941
- #: ../cerber-news.php:135
 
 
 
 
942
  msgid "Cool!"
943
  msgstr ""
944
 
945
- #: ../cerber-lab.php:662
946
  msgid "Want to make WP Cerber even more powerful?"
947
  msgstr ""
948
 
949
- #: ../cerber-lab.php:663
950
  msgid ""
951
  "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. "
952
  "This helps the plugin team to develop new algorithms for WP Cerber that will "
@@ -954,585 +1052,637 @@ msgid ""
954
  "everyday. You can disable the sending in the plugin settings at any time."
955
  msgstr ""
956
 
957
- #: ../cerber-lab.php:664
958
  msgid "OK, nail them all"
959
  msgstr ""
960
 
961
- #: ../cerber-lab.php:665
962
  msgid "NO, maybe later"
963
  msgstr ""
964
 
965
- #: ../cerber-lab.php:666 ../settings.php:222
966
  msgid "Know more"
967
  msgstr ""
968
 
969
- #: ../settings.php:69
970
  msgid "Limit login attempts"
971
  msgstr ""
972
 
973
- #: ../settings.php:70
974
  msgid "Attempts"
975
  msgstr ""
976
 
977
- #: ../settings.php:71
978
  msgid "Lockout duration"
979
  msgstr ""
980
 
981
- #: ../settings.php:71 ../settings.php:90
982
  msgid "minutes"
983
  msgstr ""
984
 
985
- #: ../settings.php:72
986
  msgid "Aggressive lockout"
987
  msgstr ""
988
 
989
- #: ../settings.php:73
990
  msgid "Apply limit login rules to IP addresses in the White IP Access List"
991
  msgstr ""
992
 
993
- #: ../settings.php:75
994
  msgid "Site connection"
995
  msgstr ""
996
 
997
- #: ../settings.php:77
998
  msgid "Proactive security rules"
999
  msgstr ""
1000
 
1001
- #: ../settings.php:78
1002
  msgid "Block subnet"
1003
  msgstr ""
1004
 
1005
- #: ../settings.php:78
1006
  msgid "Always block entire subnet Class C of intruders IP"
1007
  msgstr ""
1008
 
1009
- #: ../settings.php:79
1010
  msgid "Non-existent users"
1011
  msgstr ""
1012
 
1013
- #: ../settings.php:79
1014
  msgid "Immediately block IP when attempting to login with a non-existent username"
1015
  msgstr ""
1016
 
1017
- #: ../settings.php:80
1018
  msgid "Redirect dashboard requests"
1019
  msgstr ""
1020
 
1021
- #: ../settings.php:80
1022
  msgid ""
1023
  "Disable automatic redirecting to the login page when /wp-admin/ is requested "
1024
  "by an unauthorized request"
1025
  msgstr ""
1026
 
1027
- #: ../settings.php:81
1028
  msgid "Request wp-login.php"
1029
  msgstr ""
1030
 
1031
- #: ../settings.php:81
1032
  msgid "Immediately block IP after any request to wp-login.php"
1033
  msgstr ""
1034
 
1035
- #: ../settings.php:82
1036
  msgid "Display 404 page"
1037
  msgstr ""
1038
 
1039
- #: ../settings.php:82
1040
  msgid "Use 404 template from the active theme"
1041
  msgstr ""
1042
 
1043
- #: ../settings.php:82
1044
  msgid "Display simple 404 page"
1045
  msgstr ""
1046
 
1047
- #: ../settings.php:84
1048
  msgid "Custom login page"
1049
  msgstr ""
1050
 
1051
- #: ../settings.php:85
1052
  msgid "Custom login URL"
1053
  msgstr ""
1054
 
1055
- #: ../settings.php:85
1056
  msgid "must not overlap with the existing pages or posts slug"
1057
  msgstr ""
1058
 
1059
- #: ../settings.php:86
1060
  msgid "Disable wp-login.php"
1061
  msgstr ""
1062
 
1063
- #: ../settings.php:86
1064
  msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
1065
  msgstr ""
1066
 
1067
- #: ../settings.php:89
1068
  msgid "Threshold"
1069
  msgstr ""
1070
 
1071
- #: ../settings.php:90
1072
  msgid "Duration"
1073
  msgstr ""
1074
 
1075
- #: ../settings.php:91
1076
  msgid "Send notification to admin email"
1077
  msgstr ""
1078
 
1079
- #: ../settings.php:91 ../settings.php:398 ../settings.php:521
1080
  msgid "Click to send test"
1081
  msgstr ""
1082
 
1083
- #: ../settings.php:94
1084
  msgid "Keep records for"
1085
  msgstr ""
1086
 
1087
- #: ../settings.php:94 ../settings.php:146
1088
  msgid "days"
1089
  msgstr ""
1090
 
1091
- #: ../settings.php:95
1092
  msgid "Cerber Lab connection"
1093
  msgstr ""
1094
 
1095
- #: ../settings.php:95
1096
  msgid "Send malicious IP addresses to the Cerber Lab"
1097
  msgstr ""
1098
 
1099
- #: ../settings.php:96
1100
  msgid "Cerber Lab protocol"
1101
  msgstr ""
1102
 
1103
- #: ../settings.php:97
1104
  msgid "Use file"
1105
  msgstr ""
1106
 
1107
- #: ../settings.php:97
1108
  msgid "Write failed login attempts to the file"
1109
  msgstr ""
1110
 
1111
- #: ../settings.php:99
1112
  msgid "Preferences"
1113
  msgstr ""
1114
 
1115
- #: ../settings.php:100
1116
  msgid "Drill down IP"
1117
  msgstr ""
1118
 
1119
- #: ../settings.php:100
1120
  msgid "Retrieve extra WHOIS information for IP"
1121
  msgstr ""
1122
 
1123
- #: ../settings.php:101
1124
  msgid "Date format"
1125
  msgstr ""
1126
 
1127
- #: ../settings.php:101
1128
  #, php-format
1129
  msgid "if empty, the default format %s will be used"
1130
  msgstr ""
1131
 
1132
- #: ../settings.php:108
1133
  msgid "Hardening WordPress"
1134
  msgstr ""
1135
 
1136
- #: ../settings.php:109
1137
  msgid "Stop user enumeration"
1138
  msgstr ""
1139
 
1140
- #: ../settings.php:109
1141
  msgid "Block access to user pages like /?author=n and user data via REST API"
1142
  msgstr ""
1143
 
1144
- #: ../settings.php:110
1145
  msgid "Disable XML-RPC"
1146
  msgstr ""
1147
 
1148
- #: ../settings.php:110
1149
  msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
1150
  msgstr ""
1151
 
1152
- #: ../settings.php:111
1153
  msgid "Disable feeds"
1154
  msgstr ""
1155
 
1156
- #: ../settings.php:111
1157
  msgid "Block access to the RSS, Atom and RDF feeds"
1158
  msgstr ""
1159
 
1160
- #: ../settings.php:112
1161
  msgid "Disable REST API"
1162
  msgstr ""
1163
 
1164
- #: ../settings.php:112
1165
  msgid "Block access to the WordPress REST API except the following"
1166
  msgstr ""
1167
 
1168
- #: ../settings.php:113
1169
  msgid "Allow REST API for logged in users"
1170
  msgstr ""
1171
 
1172
- #: ../settings.php:114
1173
  msgid ""
1174
  "Specify REST API namespaces to be allowed if REST API is disabled. One "
1175
  "string per line."
1176
  msgstr ""
1177
 
1178
- #: ../settings.php:123
1179
  msgid "User related settings"
1180
  msgstr ""
1181
 
1182
- #: ../settings.php:124
1183
  msgid "Registration limit"
1184
  msgstr ""
1185
 
1186
- #: ../settings.php:125
1187
  msgid "Prohibited usernames"
1188
  msgstr ""
1189
 
1190
- #: ../settings.php:125
1191
  msgid ""
1192
  "Usernames from this list are not allowed to log in or register. Any IP "
1193
  "address, have tried to use any of these usernames, will be immediately "
1194
  "blocked. Use comma to separate logins."
1195
  msgstr ""
1196
 
1197
- #: ../settings.php:125
1198
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
1199
  msgstr ""
1200
 
1201
- #: ../settings.php:126
1202
  msgid "User session expire"
1203
  msgstr ""
1204
 
1205
- #: ../settings.php:126
1206
  msgid "in minutes (leave empty to use default WP value)"
1207
  msgstr ""
1208
 
1209
- #: ../settings.php:127
1210
  msgid "Sort users in dashboard"
1211
  msgstr ""
1212
 
1213
- #: ../settings.php:127
1214
  msgid "by date of registration"
1215
  msgstr ""
1216
 
1217
- #: ../settings.php:134
1218
  msgid "Cerber antispam engine"
1219
  msgstr ""
1220
 
1221
- #: ../settings.php:135
1222
  msgid "Comment form"
1223
  msgstr ""
1224
 
1225
- #: ../settings.php:135
1226
  msgid "Protect comment form with bot detection engine"
1227
  msgstr ""
1228
 
1229
- #: ../settings.php:136 ../settings.php:154
1230
  msgid "Registration form"
1231
  msgstr ""
1232
 
1233
- #: ../settings.php:136
1234
  msgid "Protect registration form with bot detection engine"
1235
  msgstr ""
1236
 
1237
- #: ../settings.php:137
1238
  msgid "Other forms"
1239
  msgstr ""
1240
 
1241
- #: ../settings.php:137
1242
  msgid "Protect all forms on the website with bot detection engine"
1243
  msgstr ""
1244
 
1245
- #: ../settings.php:139
1246
  msgid "Adjust antispam engine"
1247
  msgstr ""
1248
 
1249
- #: ../settings.php:140
1250
  msgid "Safe mode"
1251
  msgstr ""
1252
 
1253
- #: ../settings.php:140
1254
  msgid "Use less restrictive policies (allow AJAX)"
1255
  msgstr ""
1256
 
1257
- #: ../settings.php:141
1258
- msgid "Logged in users"
1259
- msgstr ""
1260
-
1261
- #: ../settings.php:141
1262
  msgid "Disable bot detection engine for logged in users"
1263
  msgstr ""
1264
 
1265
- #: ../settings.php:142
1266
  msgid "Query whitelist"
1267
  msgstr ""
1268
 
1269
- #: ../settings.php:142
1270
  msgid ""
1271
  "Enter a part of query string or query path to exclude a request from "
1272
  "inspection by the engine. One item per line."
1273
  msgstr ""
1274
 
1275
- #: ../settings.php:144
1276
  msgid "Comment processing"
1277
  msgstr ""
1278
 
1279
- #: ../settings.php:145
1280
  msgid "If a spam comment detected"
1281
  msgstr ""
1282
 
1283
- #: ../settings.php:145
1284
  msgid "Deny it completely"
1285
  msgstr ""
1286
 
1287
- #: ../settings.php:145
1288
  msgid "Mark it as spam"
1289
  msgstr ""
1290
 
1291
- #: ../settings.php:146
1292
  msgid "Trash spam comments"
1293
  msgstr ""
1294
 
1295
- #: ../settings.php:146
1296
  msgid "Move spam comments to trash after"
1297
  msgstr ""
1298
 
1299
- #: ../settings.php:149
1300
  msgid "reCAPTCHA settings"
1301
  msgstr ""
1302
 
1303
- #: ../settings.php:150
1304
  msgid "Site key"
1305
  msgstr ""
1306
 
1307
- #: ../settings.php:151
1308
  msgid "Secret key"
1309
  msgstr ""
1310
 
1311
- #: ../settings.php:152
1312
  msgid "Invisible reCAPTCHA"
1313
  msgstr ""
1314
 
1315
- #: ../settings.php:152
1316
  msgid "Enable invisible reCAPTCHA"
1317
  msgstr ""
1318
 
1319
- #: ../settings.php:152
1320
  msgid ""
1321
  "(do not enable it unless you get and enter the Site and Secret keys for the "
1322
  "invisible version)"
1323
  msgstr ""
1324
 
1325
- #: ../settings.php:154
1326
  msgid "Enable reCAPTCHA for WordPress registration form"
1327
  msgstr ""
1328
 
1329
- #: ../settings.php:155
1330
  msgid "Enable reCAPTCHA for WooCommerce registration form"
1331
  msgstr ""
1332
 
1333
- #: ../settings.php:157
1334
  msgid "Lost password form"
1335
  msgstr ""
1336
 
1337
- #: ../settings.php:157
1338
  msgid "Enable reCAPTCHA for WordPress lost password form"
1339
  msgstr ""
1340
 
1341
- #: ../settings.php:158
1342
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
1343
  msgstr ""
1344
 
1345
- #: ../settings.php:160
1346
  msgid "Login form"
1347
  msgstr ""
1348
 
1349
- #: ../settings.php:160
1350
  msgid "Enable reCAPTCHA for WordPress login form"
1351
  msgstr ""
1352
 
1353
- #: ../settings.php:161
1354
  msgid "Enable reCAPTCHA for WooCommerce login form"
1355
  msgstr ""
1356
 
1357
- #: ../settings.php:163
1358
  msgid "Enable reCAPTCHA for WordPress comment form"
1359
  msgstr ""
1360
 
1361
- #: ../settings.php:164
1362
  msgid "Disable reCAPTCHA for logged in users"
1363
  msgstr ""
1364
 
1365
- #: ../settings.php:166
1366
  msgid "Limit attempts"
1367
  msgstr ""
1368
 
1369
- #: ../settings.php:166
1370
  #, php-format
1371
  msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1372
  msgstr ""
1373
 
1374
- #: ../settings.php:172
1375
  msgid "Email notifications"
1376
  msgstr ""
1377
 
1378
- #: ../settings.php:174 ../settings.php:194
1379
  msgid "Email Address"
1380
  msgstr ""
1381
 
1382
- #: ../settings.php:174 ../settings.php:194
1383
  msgid "Use comma to specify multiple values"
1384
  msgstr ""
1385
 
1386
- #: ../settings.php:174
1387
  #, php-format
1388
  msgid "if empty, the admin email %s will be used"
1389
  msgstr ""
1390
 
1391
- #: ../settings.php:175
1392
  msgid "Notification limit"
1393
  msgstr ""
1394
 
1395
- #: ../settings.php:175
1396
  msgid "notification letters allowed per hour (0 means unlimited)"
1397
  msgstr ""
1398
 
1399
- #: ../settings.php:184
 
 
 
 
1400
  msgid "All connected devices"
1401
  msgstr ""
1402
 
1403
- #: ../settings.php:185
1404
  msgid "No devices found"
1405
  msgstr ""
1406
 
1407
- #: ../settings.php:187
1408
  msgid "Not available"
1409
  msgstr ""
1410
 
1411
- #: ../settings.php:192
1412
  msgid "Weekly reports"
1413
  msgstr ""
1414
 
1415
- #: ../settings.php:194
 
 
 
 
1416
  msgid "if empty, email from notification settings will be used"
1417
  msgstr ""
1418
 
1419
- #: ../settings.php:195
1420
- msgid "Enable reporting"
1421
  msgstr ""
1422
 
1423
- #: ../settings.php:204
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1424
  msgid "Make your protection smarter!"
1425
  msgstr ""
1426
 
1427
- #: ../settings.php:208
1428
  msgid ""
1429
  "Please enable Permalinks to use this feature. Set Permalink Settings to "
1430
  "something other than Default."
1431
  msgstr ""
1432
 
1433
- #: ../settings.php:211
1434
  msgid ""
1435
  "Be careful when enabling this options. If you forget the custom login URL "
1436
  "you will not be able to login."
1437
  msgstr ""
1438
 
1439
- #: ../settings.php:215
1440
  msgid ""
1441
  "In the Citadel mode nobody is able to log in except IPs from the White IP "
1442
  "Access List. Active user sessions will not be affected."
1443
  msgstr ""
1444
 
1445
- #: ../settings.php:218
1446
  msgid "These settings do not affect hosts from the "
1447
  msgstr ""
1448
 
1449
- #: ../settings.php:221
1450
  msgid ""
1451
  "Before you can start using reCAPTCHA, you have to obtain Site key and Secret "
1452
  "key on the Google website"
1453
  msgstr ""
1454
 
1455
- #: ../settings.php:261
 
 
 
 
1456
  msgid "Users"
1457
  msgstr ""
1458
 
1459
- #: ../settings.php:266
1460
  msgid "Help"
1461
  msgstr ""
1462
 
1463
- #: ../settings.php:379 ../settings.php:502
1464
  #, php-format
1465
  msgid "%s allowed retries in %s minutes"
1466
  msgstr ""
1467
 
1468
- #: ../settings.php:384 ../settings.php:507
1469
  #, php-format
1470
  msgid "%s allowed registrations in %s minutes from one IP"
1471
  msgstr ""
1472
 
1473
- #: ../settings.php:389 ../settings.php:512
1474
  #, php-format
1475
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
1476
  msgstr ""
1477
 
1478
- #: ../settings.php:396 ../settings.php:519
1479
  msgid "Notify admin if the number of active lockouts above"
1480
  msgstr ""
1481
 
1482
- #: ../settings.php:401 ../settings.php:524
1483
  #, php-format
1484
  msgid "Enable after %s failed login attempts in last %s minutes"
1485
  msgstr ""
1486
 
1487
- #: ../settings.php:604
1488
  msgid "Sunday"
1489
  msgstr ""
1490
 
1491
- #: ../settings.php:605
1492
  msgid "Monday"
1493
  msgstr ""
1494
 
1495
- #: ../settings.php:606
1496
  msgid "Tuesday"
1497
  msgstr ""
1498
 
1499
- #: ../settings.php:607
1500
  msgid "Wednesday"
1501
  msgstr ""
1502
 
1503
- #: ../settings.php:608
1504
  msgid "Thursday"
1505
  msgstr ""
1506
 
1507
- #: ../settings.php:609
1508
  msgid "Friday"
1509
  msgstr ""
1510
 
1511
- #: ../settings.php:610
1512
  msgid "Saturday"
1513
  msgstr ""
1514
 
1515
  #. translators: preposition of time
1516
- #: ../settings.php:620
1517
  msgctxt "preposition of time"
1518
  msgid "at"
1519
  msgstr ""
1520
 
1521
- #: ../settings.php:636
1522
  msgid "Click to send now"
1523
  msgstr ""
1524
 
1525
- #: ../settings.php:661 ../settings.php:662
1526
  msgid "Attention! You have changed the login URL! The new login URL is"
1527
  msgstr ""
1528
 
1529
- #: ../settings.php:663 ../settings.php:664
1530
  msgid ""
1531
  "If you use a caching plugin, you have to add your new login URL to the list "
1532
  "of pages not to cache."
1533
  msgstr ""
1534
 
1535
- #: ../settings.php:742 ../settings.php:754
1536
  msgid "<strong>ERROR</strong>: please enter a valid email address."
1537
  msgstr ""
1538
 
@@ -1562,10 +1712,6 @@ msgstr ""
1562
  msgid "What do you want to export?"
1563
  msgstr ""
1564
 
1565
- #: ../cerber-tools.php:87 ../cerber-tools.php:96
1566
- msgid "Settings"
1567
- msgstr ""
1568
-
1569
  #: ../cerber-tools.php:89
1570
  msgid "Download file"
1571
  msgstr ""
@@ -1613,6 +1759,6 @@ msgstr ""
1613
  msgid "Error while parsing file"
1614
  msgstr ""
1615
 
1616
- #: ../cerber-tools.php:313
1617
  msgid "Antispam and bot detection settings"
1618
  msgstr ""
5
  "Project-Id-Version: WP Cerber\n"
6
  "Report-Msgid-Bugs-To: \n"
7
  "POT-Creation-Date: Tue Sep 08 2015 21:38:11 GMT+0300\n"
8
+ "POT-Revision-Date: Mon Jan 22 2018 11:06:06 GMT+0300\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10
  "Last-Translator: \n"
11
  "Language-Team: \n"
24
  "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
25
  "X-Generator: Loco - https://localise.biz/"
26
 
27
+ #: ../dashboard.php:86 ../dashboard.php:159
28
  msgid "Remove"
29
  msgstr ""
30
 
31
+ #: ../dashboard.php:93 ../dashboard.php:652 ../dashboard.php:2784 ../wp-cerber.
32
+ #: php:3680
33
  msgid "IP"
34
  msgstr ""
35
 
36
+ #: ../dashboard.php:94 ../dashboard.php:653
37
  msgid "Hostname"
38
  msgstr ""
39
 
40
+ #: ../dashboard.php:95 ../dashboard.php:654
41
  msgid "Country"
42
  msgstr ""
43
 
45
  msgid "Expires"
46
  msgstr ""
47
 
48
+ #: ../dashboard.php:97 ../wp-cerber.php:3176
49
  msgid "Reason"
50
  msgstr ""
51
 
70
  msgid "No lockouts at the moment. The sky is clear."
71
  msgstr ""
72
 
73
+ #: ../dashboard.php:131 ../dashboard.php:627 ../dashboard.php:830 ../dashboard.
74
+ #: php:1206 ../dashboard.php:2625 ../wp-cerber.php:3899 ../settings.php:74 ..
75
+ #: /settings.php:322
76
  msgid "White IP Access List"
77
  msgstr ""
78
 
80
  msgid "These IPs will never be locked out"
81
  msgstr ""
82
 
83
+ #: ../dashboard.php:133 ../dashboard.php:628 ../dashboard.php:833 ../dashboard.
84
+ #: php:1207 ../dashboard.php:2626
85
  msgid "Black IP Access List"
86
  msgstr ""
87
 
93
  msgid "Your IP"
94
  msgstr ""
95
 
96
+ #: ../dashboard.php:158 ../dashboard.php:843 ../dashboard.php:870 ../dashboard.
97
+ #: php:961
98
  msgid "Check for activity"
99
  msgstr ""
100
 
101
+ #: ../dashboard.php:165
102
  msgid "List is empty"
103
  msgstr ""
104
 
105
+ #: ../dashboard.php:169
106
  msgid "IP address, IPv4 address range or subnet"
107
  msgstr ""
108
 
109
+ #: ../dashboard.php:170
110
  msgid "Add IP to the list"
111
  msgstr ""
112
 
113
+ #: ../dashboard.php:171
114
  msgid "Optional comment for this entry"
115
  msgstr ""
116
 
117
+ #: ../dashboard.php:196 ../dashboard.php:208
118
  msgid "Incorrect IP address or IP range"
119
  msgstr ""
120
 
121
+ #: ../dashboard.php:202
122
  #, php-format
123
  msgid "Address %s was added to White IP Access List"
124
  msgstr ""
125
 
126
+ #: ../dashboard.php:212
127
  msgid "You cannot add your IP address or network"
128
  msgstr ""
129
 
130
+ #: ../dashboard.php:216
131
  #, php-format
132
  msgid "Address %s was added to Black IP Access List"
133
  msgstr ""
134
 
135
+ #: ../dashboard.php:313 ../dashboard.php:2555 ../whois.php:221 ../whois.php:252 ..
136
+ #: /common.php:687 ../common.php:966
137
  msgid "Unknown"
138
  msgstr ""
139
 
140
+ #: ../dashboard.php:355
141
  msgid "unknown"
142
  msgstr ""
143
 
144
+ #: ../dashboard.php:380
145
  msgid "Email has been sent to"
146
  msgstr ""
147
 
148
+ #: ../dashboard.php:383
149
  msgid "Unable to send email to"
150
  msgstr ""
151
 
152
+ #: ../dashboard.php:390
153
  #, php-format
154
  msgid "Lockout for %s was removed"
155
  msgstr ""
156
 
157
+ #: ../dashboard.php:407 ../dashboard.php:1581
158
  msgid "Settings saved"
159
  msgstr ""
160
 
161
+ #: ../dashboard.php:491
162
  msgid "IP address"
163
  msgstr ""
164
 
165
+ #: ../dashboard.php:491 ../dashboard.php:655 ../dashboard.php:2782
166
  msgid "Date"
167
  msgstr ""
168
 
169
+ #: ../dashboard.php:491 ../dashboard.php:656
170
  msgid "Event"
171
  msgstr ""
172
 
173
+ #: ../dashboard.php:491 ../dashboard.php:657 ../dashboard.php:2787
174
  msgid "Local User"
175
  msgstr ""
176
 
177
+ #: ../dashboard.php:491
178
  msgid "User login"
179
  msgstr ""
180
 
181
+ #: ../dashboard.php:491
182
  msgid "User ID"
183
  msgstr ""
184
 
185
+ #: ../dashboard.php:491 ../dashboard.php:658 ../wp-cerber.php:3688
186
  msgid "Username used"
187
  msgstr ""
188
 
189
+ #: ../dashboard.php:632 ../dashboard.php:836 ../dashboard.php:2630 ../common.php:
190
+ #: 658
191
  msgid "Locked out"
192
  msgstr ""
193
 
194
+ #: ../dashboard.php:676
195
  msgid "Export"
196
  msgstr ""
197
 
198
+ #: ../dashboard.php:680
199
  msgid "No activity has been logged."
200
  msgstr ""
201
 
202
+ #: ../dashboard.php:686
203
  msgid "All events"
204
  msgstr ""
205
 
206
+ #: ../dashboard.php:695
207
  msgid "Search for IP or username"
208
  msgstr ""
209
 
210
+ #: ../dashboard.php:695
211
  msgid "Filter"
212
  msgstr ""
213
 
214
+ #: ../dashboard.php:866
215
  msgid "Abuse email:"
216
  msgstr ""
217
 
218
+ #: ../dashboard.php:870
219
  msgid "Network:"
220
  msgstr ""
221
 
222
+ #: ../dashboard.php:884
223
  msgid "Add network to the Black List"
224
  msgstr ""
225
 
226
+ #: ../dashboard.php:888
227
  msgid "Add IP to the Black List"
228
  msgstr ""
229
 
230
+ #: ../dashboard.php:948
231
+ msgid "Last seen"
232
+ msgstr ""
233
+
234
+ #: ../dashboard.php:955 ../dashboard.php:1074
235
+ msgid "Registered"
236
+ msgstr ""
237
+
238
+ #: ../dashboard.php:988 ../settings.php:345
239
  msgid "WP Cerber Security"
240
  msgstr ""
241
 
242
  #. Name of the plugin
243
+ #: ../dashboard.php:988 ../dashboard.php:1010
244
  msgid "WP Cerber"
245
  msgstr ""
246
 
247
+ #: ../dashboard.php:990
248
  msgid "Cerber Dashboard"
249
  msgstr ""
250
 
251
+ #: ../dashboard.php:990 ../dashboard.php:1225 ../dashboard.php:1757 ../settings.
252
+ #: php:350
253
  msgid "Dashboard"
254
  msgstr ""
255
 
256
+ #: ../dashboard.php:992
257
+ msgid "Cerber Traffic Inspector"
258
+ msgstr ""
259
+
260
+ #: ../dashboard.php:992 ../dashboard.php:1211 ../dashboard.php:2476
261
+ msgid "Traffic Inspector"
262
+ msgstr ""
263
+
264
+ #: ../dashboard.php:996
265
  msgid "Cerber Security Rules"
266
  msgstr ""
267
 
268
+ #: ../dashboard.php:996 ../dashboard.php:2136
269
  msgid "Security Rules"
270
  msgstr ""
271
 
272
+ #: ../dashboard.php:999
273
  msgid "Cerber antispam settings"
274
  msgstr ""
275
 
276
+ #: ../dashboard.php:999 ../dashboard.php:1228 ../wp-cerber.php:3908 ../settings.
277
+ #: php:185
278
  msgid "Antispam"
279
  msgstr ""
280
 
281
+ #: ../dashboard.php:1000
282
  msgid "Cerber tools"
283
  msgstr ""
284
 
285
+ #: ../dashboard.php:1000 ../cerber-tools.php:43
286
  msgid "Tools"
287
  msgstr ""
288
 
289
+ #: ../dashboard.php:1071
290
  msgid "Comments"
291
  msgstr ""
292
 
293
+ #: ../dashboard.php:1072
294
  msgid "Last login"
295
  msgstr ""
296
 
297
+ #: ../dashboard.php:1073
298
  msgid "Failed login attempts"
299
  msgstr ""
300
 
301
+ #: ../dashboard.php:1105 ../dashboard.php:1189
 
 
 
 
302
  msgid "Never"
303
  msgstr ""
304
 
305
+ #: ../dashboard.php:1141
306
  msgid "You"
307
  msgstr ""
308
 
309
+ #: ../dashboard.php:1159
310
  msgid "Cerber Quick View"
311
  msgstr ""
312
 
313
+ #: ../dashboard.php:1193 ../dashboard.php:1214
314
  msgid "active"
315
  msgstr ""
316
 
317
+ #: ../dashboard.php:1193
318
  msgid "deactivate"
319
  msgstr ""
320
 
321
+ #: ../dashboard.php:1195
322
  msgid "not active"
323
  msgstr ""
324
 
325
+ #: ../dashboard.php:1196 ../dashboard.php:1210
326
  msgid "disabled"
327
  msgstr ""
328
 
329
+ #: ../dashboard.php:1201
330
  msgid "failed attempts"
331
  msgstr ""
332
 
333
+ #: ../dashboard.php:1201 ../dashboard.php:1202
334
  msgid "in 24 hours"
335
  msgstr ""
336
 
337
+ #: ../dashboard.php:1201 ../dashboard.php:1202
338
  msgid "view all"
339
  msgstr ""
340
 
341
+ #: ../dashboard.php:1202
342
  msgid "lockouts"
343
  msgstr ""
344
 
345
+ #: ../dashboard.php:1204
346
  msgid "Lockouts at the moment"
347
  msgstr ""
348
 
349
+ #: ../dashboard.php:1205
350
  msgid "Last lockout"
351
  msgstr ""
352
 
353
+ #: ../dashboard.php:1206 ../dashboard.php:1207 ../dashboard.php:1737
354
  msgid "entry"
355
  msgid_plural "entries"
356
  msgstr[0] ""
357
  msgstr[1] ""
358
 
359
+ #: ../dashboard.php:1208 ../settings.php:89
360
  msgid "Citadel mode"
361
  msgstr ""
362
 
363
+ #: ../dashboard.php:1210
364
+ msgid "enabled"
365
  msgstr ""
366
 
367
+ #: ../dashboard.php:1214
368
+ msgid "no connection"
 
369
  msgstr ""
370
 
371
+ #: ../dashboard.php:1226 ../dashboard.php:1423 ../wp-cerber.php:3671 ../settings.
372
+ #: php:94 ../settings.php:352
373
+ msgid "Activity"
374
  msgstr ""
375
 
376
+ #: ../dashboard.php:1227
377
+ msgid "Traffic"
 
378
  msgstr ""
379
 
380
+ #: ../dashboard.php:1274 ../settings.php:76
381
  msgid "My site is behind a reverse proxy"
382
  msgstr ""
383
 
384
+ #: ../dashboard.php:1402
385
  msgid "in the last 24 hours"
386
  msgstr ""
387
 
388
+ #: ../dashboard.php:1408 ../dashboard.php:1438
389
  msgid "View all"
390
  msgstr ""
391
 
392
+ #: ../dashboard.php:1416 ../common.php:612
393
  msgid "User registered"
394
  msgstr ""
395
 
396
+ #: ../dashboard.php:1417
397
  msgid "All suspicious activity"
398
  msgstr ""
399
 
400
+ #: ../dashboard.php:1439
401
  msgid "Recently locked out IP addresses"
402
  msgstr ""
403
 
404
+ #: ../dashboard.php:1462
405
  msgid "Confused about some settings?"
406
  msgstr ""
407
 
408
+ #: ../dashboard.php:1463
409
  msgid "You can easily load default recommended settings using button below"
410
  msgstr ""
411
 
412
+ #: ../dashboard.php:1465
413
  msgid "Load default settings"
414
  msgstr ""
415
 
416
+ #: ../dashboard.php:1467
417
  msgid "Are you sure?"
418
  msgstr ""
419
 
420
+ #: ../dashboard.php:1473
421
  msgid "doesn't affect Custom login URL and Access Lists"
422
  msgstr ""
423
 
424
+ #: ../dashboard.php:1474 ../wp-cerber.php:3208 ../wp-cerber.php:3901
425
  msgid "Getting Started Guide"
426
  msgstr ""
427
 
428
+ #: ../dashboard.php:1564
429
  msgid "Attention! Citadel mode is now active. Nobody is able to log in."
430
  msgstr ""
431
 
432
+ #: ../dashboard.php:1565
433
  msgid "Deactivate"
434
  msgstr ""
435
 
436
+ #: ../dashboard.php:1566
437
  msgid "View Activity"
438
  msgstr ""
439
 
440
+ #: ../dashboard.php:1667
441
  msgid "Subscribe"
442
  msgstr ""
443
 
444
+ #: ../dashboard.php:1668 ../cerber-tools.php:266
445
  msgid "Unsubscribe"
446
  msgstr ""
447
 
448
+ #: ../dashboard.php:1696
449
  msgid "You've subscribed"
450
  msgstr ""
451
 
452
+ #: ../dashboard.php:1699
453
  msgid "You've unsubscribed"
454
  msgstr ""
455
 
456
+ #: ../dashboard.php:1758
457
  msgid "Main settings"
458
  msgstr ""
459
 
460
+ #: ../dashboard.php:2141
461
  msgid "Countries"
462
  msgstr ""
463
 
464
+ #: ../dashboard.php:2204
465
  #, php-format
466
  msgid "Permitted for one country"
467
  msgid_plural "Permitted for %d countries"
468
  msgstr[0] ""
469
  msgstr[1] ""
470
 
471
+ #: ../dashboard.php:2207
472
  #, php-format
473
  msgid "Not permitted for one country"
474
  msgid_plural "Not permitted for %d countries"
475
  msgstr[0] ""
476
  msgstr[1] ""
477
 
478
+ #: ../dashboard.php:2215
479
  msgid "No rule"
480
  msgstr ""
481
 
482
+ #: ../dashboard.php:2271
483
  msgid "Start typing here to find a country"
484
  msgstr ""
485
 
486
+ #: ../dashboard.php:2354
487
  msgid "Click on a country name to add it to the list of selected countries"
488
  msgstr ""
489
 
490
+ #: ../dashboard.php:2358
491
  #, php-format
492
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
493
  msgid "Selected countries are permitted to %s, other countries are not permitted to"
494
  msgstr ""
495
 
496
+ #: ../dashboard.php:2361
497
  #, php-format
498
  msgctxt "to is a marker of infinitive, e.g. \"to use it\""
499
  msgid "Selected countries are not permitted to %s, other countries are permitted to"
500
  msgstr ""
501
 
502
+ #: ../dashboard.php:2378
503
  msgid "Submit forms"
504
  msgstr ""
505
 
506
+ #: ../dashboard.php:2379
507
  msgid "Post comments"
508
  msgstr ""
509
 
510
+ #: ../dashboard.php:2380
511
  msgid "Log in to the website"
512
  msgstr ""
513
 
514
+ #: ../dashboard.php:2381
515
  msgid "Register on the website"
516
  msgstr ""
517
 
518
+ #: ../dashboard.php:2382
519
  msgid "Use XML-RPC"
520
  msgstr ""
521
 
522
+ #: ../dashboard.php:2383
523
  msgid "Use REST API"
524
  msgstr ""
525
 
526
+ #: ../dashboard.php:2427
527
  msgid "Security rules have been updated"
528
  msgstr ""
529
 
530
+ #: ../dashboard.php:2481
531
+ msgid "Live traffic"
532
+ msgstr ""
533
+
534
+ #: ../dashboard.php:2482 ../cerber-tools.php:87 ../cerber-tools.php:96
535
+ msgid "Settings"
536
+ msgstr ""
537
+
538
+ #: ../dashboard.php:2783
539
+ msgid "Request"
540
+ msgstr ""
541
+
542
+ #: ../dashboard.php:2785
543
+ msgid "Host Info"
544
+ msgstr ""
545
+
546
+ #: ../dashboard.php:2786
547
+ msgid "User Agent"
548
+ msgstr ""
549
+
550
+ #: ../dashboard.php:2803
551
+ msgid "No requests have been logged."
552
+ msgstr ""
553
+
554
+ #: ../dashboard.php:2811
555
+ msgid "All requests"
556
+ msgstr ""
557
+
558
+ #: ../dashboard.php:2812 ../settings.php:156
559
+ msgid "Logged in users"
560
+ msgstr ""
561
+
562
+ #: ../dashboard.php:2813
563
+ msgid "Not logged in visitors"
564
+ msgstr ""
565
+
566
+ #: ../dashboard.php:2814
567
+ msgid "Form submissions"
568
+ msgstr ""
569
+
570
+ #: ../dashboard.php:2815
571
+ msgid "Page Not Found"
572
+ msgstr ""
573
+
574
+ #: ../dashboard.php:2816
575
+ msgid "REST API"
576
+ msgstr ""
577
+
578
+ #: ../dashboard.php:2817
579
+ msgid "XML-RPC"
580
+ msgstr ""
581
+
582
+ #: ../dashboard.php:2821
583
+ msgid "Longer than"
584
+ msgstr ""
585
+
586
+ #: ../dashboard.php:2834
587
+ msgid "Refresh"
588
+ msgstr ""
589
+
590
+ #: ../dashboard.php:3050
591
+ msgid "Advanced search"
592
+ msgstr ""
593
+
594
  #. Name of the plugin
595
  msgid "WP Cerber Security & Antispam"
596
  msgstr ""
611
  msgid "Gregory"
612
  msgstr ""
613
 
614
+ #: ../wp-cerber.php:299
615
  msgid "You are not allowed to log in. Ask your administrator for assistance."
616
  msgstr ""
617
 
618
+ #: ../wp-cerber.php:305
619
  #, php-format
620
  msgid "You have reached the login attempts limit. Please try again in %d minutes."
621
  msgstr ""
622
 
623
+ #: ../wp-cerber.php:324
624
  #, php-format
625
  msgid "You have only one attempt remaining."
626
  msgid_plural "You have %d attempts remaining."
627
  msgstr[0] ""
628
  msgstr[1] ""
629
 
630
+ #: ../wp-cerber.php:607 ../wp-cerber.php:619 ../wp-cerber.php:626 ../wp-cerber.
631
+ #: php:828 ../wp-cerber.php:1044 ../wp-cerber.php:1050 ../wp-cerber.php:1055 ..
632
+ #: /wp-cerber.php:1060 ../wp-cerber.php:1066 ../wp-cerber.php:1073 ../wp-cerber.
633
+ #: php:1173 ../wp-cerber.php:1310 ../common.php:194 ../common.php:251 ../common.
634
+ #: php:255 ../settings.php:808
635
  msgid "ERROR:"
636
  msgstr ""
637
 
638
+ #: ../wp-cerber.php:636
639
  msgid ""
640
  "Human verification failed. Please click the square box in the reCAPTCHA "
641
  "block below."
642
  msgstr ""
643
 
644
+ #: ../wp-cerber.php:707
645
  msgid ""
646
  "> > > Translator of WP Cerber? To get the PRO license for free, drop your "
647
  "contacts here: https://wpcerber.com/contact/"
648
  msgstr ""
649
 
650
+ #: ../wp-cerber.php:840
651
  #, php-format
652
  msgid ""
653
  "<strong>ERROR</strong>: The password you entered for the username %s is "
654
  "incorrect."
655
  msgstr ""
656
 
657
+ #: ../wp-cerber.php:1045 ../wp-cerber.php:1051 ../wp-cerber.php:1067 ../wp-cerber.
658
+ #: php:1074
659
  msgid "You are not allowed to register."
660
  msgstr ""
661
 
662
+ #: ../wp-cerber.php:1061
663
  msgid "Username is not allowed. Please choose another one."
664
  msgstr ""
665
 
666
+ #: ../wp-cerber.php:1310
667
  msgid "Sorry, human verification failed."
668
  msgstr ""
669
 
670
+ #: ../wp-cerber.php:3118
671
  msgid "WP Cerber notify"
672
  msgstr ""
673
 
674
+ #: ../wp-cerber.php:3140
675
  msgid "Citadel mode is activated"
676
  msgstr ""
677
 
678
+ #: ../wp-cerber.php:3142
679
  #, php-format
680
  msgid "Citadel mode is activated after %d failed login attempts in %d minutes."
681
  msgstr ""
682
 
683
+ #: ../wp-cerber.php:3143
684
  #, php-format
685
  msgid "Last failed attempt was at %s from IP %s with user login: %s."
686
  msgstr ""
687
 
688
+ #: ../wp-cerber.php:3144 ../wp-cerber.php:3712
689
  msgid "View activity in dashboard"
690
  msgstr ""
691
 
692
+ #: ../wp-cerber.php:3169
693
  msgid "unspecified"
694
  msgstr ""
695
 
696
+ #: ../wp-cerber.php:3172
697
  msgid "Number of lockouts is increasing"
698
  msgstr ""
699
 
700
+ #: ../wp-cerber.php:3174
701
  msgid "Number of active lockouts"
702
  msgstr ""
703
 
704
+ #: ../wp-cerber.php:3175
705
  #, php-format
706
  msgid "Last lockout was added: %s for IP %s"
707
  msgstr ""
708
 
709
+ #: ../wp-cerber.php:3177
710
  msgid "View activity for this IP"
711
  msgstr ""
712
 
713
+ #: ../wp-cerber.php:3178
714
  msgid "View lockouts in dashboard"
715
  msgstr ""
716
 
717
+ #: ../wp-cerber.php:3181 ../wp-cerber.php:3183
718
  msgid "A new version of WP Cerber is available to install"
719
  msgstr ""
720
 
721
+ #: ../wp-cerber.php:3182
722
  msgid "Hi!"
723
  msgstr ""
724
 
725
+ #: ../wp-cerber.php:3185 ../wp-cerber.php:3196
726
  msgid "Website"
727
  msgstr ""
728
 
729
+ #: ../wp-cerber.php:3188 ../wp-cerber.php:3189
730
  msgid "The WP Cerber security plugin has been deactivated"
731
  msgstr ""
732
 
733
+ #: ../wp-cerber.php:3191
734
  msgid "Not logged in"
735
  msgstr ""
736
 
737
+ #: ../wp-cerber.php:3197
738
  msgid "By user"
739
  msgstr ""
740
 
741
+ #: ../wp-cerber.php:3198
742
  msgid "From IP address"
743
  msgstr ""
744
 
745
+ #: ../wp-cerber.php:3201
746
  msgid "From country"
747
  msgstr ""
748
 
749
+ #: ../wp-cerber.php:3205
750
  msgid "The WP Cerber security plugin is now active"
751
  msgstr ""
752
 
753
+ #: ../wp-cerber.php:3206 ../wp-cerber.php:3898
754
  msgid "WP Cerber is now active and has started protecting your site"
755
  msgstr ""
756
 
757
+ #: ../wp-cerber.php:3214
758
  msgid "New Custom login URL"
759
  msgstr ""
760
 
761
+ #: ../wp-cerber.php:3218 ../wp-cerber.php:3219
762
  msgid "A new activity has been recorded"
763
  msgstr ""
764
 
765
+ #: ../wp-cerber.php:3224
766
  msgid "Weekly report"
767
  msgstr ""
768
 
769
+ #: ../wp-cerber.php:3227
770
  msgid "To change reporting settings visit"
771
  msgstr ""
772
 
773
+ #: ../wp-cerber.php:3253
774
  msgid "Your login page:"
775
  msgstr ""
776
 
777
+ #: ../wp-cerber.php:3257
778
  msgid "Your license is valid until"
779
  msgstr ""
780
 
781
+ #: ../wp-cerber.php:3260
782
  msgid "This message was sent by"
783
  msgstr ""
784
 
785
+ #: ../wp-cerber.php:3280
786
  #, php-format
787
  msgid "Your last sign-in was %s from %s"
788
  msgstr ""
789
 
790
+ #: ../wp-cerber.php:3358
791
  msgid "Weekly Report"
792
  msgstr ""
793
 
794
+ #: ../wp-cerber.php:3370
795
  msgid "Activity details"
796
  msgstr ""
797
 
798
+ #: ../wp-cerber.php:3384
799
  msgid "Attempts to log in with non-existent username"
800
  msgstr ""
801
 
802
+ #: ../wp-cerber.php:3684
803
  msgid "User"
804
  msgstr ""
805
 
806
+ #: ../wp-cerber.php:3692
807
  msgid "Search string"
808
  msgstr ""
809
 
810
+ #: ../wp-cerber.php:3713
811
  msgid "To unsubscribe click here"
812
  msgstr ""
813
 
814
+ #: ../wp-cerber.php:3869
815
  #, php-format
816
  msgid "The WP Cerber requires PHP %s or higher. You are running"
817
  msgstr ""
818
 
819
+ #: ../wp-cerber.php:3873
820
  #, php-format
821
  msgid "The WP Cerber requires WordPress %s or higher. You are running"
822
  msgstr ""
823
 
824
+ #: ../wp-cerber.php:3882
825
  msgid "Can't activate WP Cerber due to a database error."
826
  msgstr ""
827
 
828
+ #: ../wp-cerber.php:3899
829
  msgid "Your IP address is added to the"
830
  msgstr ""
831
 
832
+ #: ../wp-cerber.php:3906 ../settings.php:358
833
  msgid "Main Settings"
834
  msgstr ""
835
 
836
+ #: ../wp-cerber.php:3907 ../settings.php:361 ../cerber-tools.php:88 ../cerber-
837
+ #: tools.php:97 ../cerber-tools.php:178
838
+ msgid "Access Lists"
839
+ msgstr ""
840
+
841
+ #: ../wp-cerber.php:3909 ../settings.php:363
842
  msgid "Hardening"
843
  msgstr ""
844
 
845
+ #: ../wp-cerber.php:3910 ../settings.php:75 ../settings.php:92 ../settings.php:368
846
  msgid "Notifications"
847
  msgstr ""
848
 
849
+ #: ../wp-cerber.php:3911
850
  msgid "Import settings"
851
  msgstr ""
852
 
853
+ #: ../common.php:101
854
+ msgid "Check for requests"
855
+ msgstr ""
856
+
857
+ #: ../common.php:134
858
  msgid "Malicious activities mitigated"
859
  msgstr ""
860
 
861
+ #: ../common.php:137
862
  msgid "Spam comments denied"
863
  msgstr ""
864
 
865
+ #: ../common.php:138
866
  msgid "Spam form submissions denied"
867
  msgstr ""
868
 
869
+ #: ../common.php:139
870
  msgid "Malicious IP addresses detected"
871
  msgstr ""
872
 
873
+ #: ../common.php:140
874
  msgid "Lockouts occurred"
875
  msgstr ""
876
 
877
+ #: ../common.php:611
878
  msgid "User created"
879
  msgstr ""
880
 
881
+ #: ../common.php:613
882
  msgid "Logged in"
883
  msgstr ""
884
 
885
+ #: ../common.php:614
886
  msgid "Logged out"
887
  msgstr ""
888
 
889
+ #: ../common.php:615
890
  msgid "Login failed"
891
  msgstr ""
892
 
893
+ #: ../common.php:618
894
  msgid "IP blocked"
895
  msgstr ""
896
 
897
+ #: ../common.php:619
898
  msgid "Subnet blocked"
899
  msgstr ""
900
 
901
+ #: ../common.php:621
902
  msgid "Citadel activated!"
903
  msgstr ""
904
 
905
+ #: ../common.php:622
906
  msgid "Spam comment denied"
907
  msgstr ""
908
 
909
+ #: ../common.php:623
910
  msgid "Spam form submission denied"
911
  msgstr ""
912
 
913
+ #: ../common.php:624
914
  msgid "Form submission denied"
915
  msgstr ""
916
 
917
+ #: ../common.php:625
918
  msgid "Comment denied"
919
  msgstr ""
920
 
921
+ #: ../common.php:636
922
  msgid "Password changed"
923
  msgstr ""
924
 
925
+ #: ../common.php:637
926
  msgid "Password reset requested"
927
  msgstr ""
928
 
929
+ #: ../common.php:639
930
  msgid "reCAPTCHA verification failed"
931
  msgstr ""
932
 
933
+ #: ../common.php:640
934
  msgid "reCAPTCHA settings are incorrect"
935
  msgstr ""
936
 
937
+ #: ../common.php:641
938
  msgid "Request to the Google reCAPTCHA service failed"
939
  msgstr ""
940
 
941
+ #: ../common.php:643
942
  msgid "Attempt to access prohibited URL"
943
  msgstr ""
944
 
945
+ #: ../common.php:644 ../common.php:690
946
  msgid "Attempt to log in with non-existent username"
947
  msgstr ""
948
 
949
+ #: ../common.php:645 ../common.php:691
950
  msgid "Attempt to log in with prohibited username"
951
  msgstr ""
952
 
953
+ #: ../common.php:647
954
  msgid "Attempt to log in denied"
955
  msgstr ""
956
 
957
+ #: ../common.php:648
958
  msgid "Attempt to register denied"
959
  msgstr ""
960
 
961
+ #: ../common.php:649 ../common.php:695
962
+ msgid "Probing for vulnerable PHP code"
963
+ msgstr ""
964
+
965
+ #: ../common.php:651
966
  msgid "Request to REST API denied"
967
  msgstr ""
968
 
969
+ #: ../common.php:652
970
  msgid "XML-RPC request denied"
971
  msgstr ""
972
 
973
+ #: ../common.php:656
974
  msgid "Bot detected"
975
  msgstr ""
976
 
977
+ #: ../common.php:657
978
  msgid "Citadel mode is active"
979
  msgstr ""
980
 
981
+ #: ../common.php:659
982
  msgid "IP blacklisted"
983
  msgstr ""
984
 
985
+ #: ../common.php:662
986
  msgid "Malicious activity detected"
987
  msgstr ""
988
 
989
+ #: ../common.php:663
990
  msgid "Blocked by country rule"
991
  msgstr ""
992
 
993
+ #: ../common.php:664
994
  msgid "Limit reached"
995
  msgstr ""
996
 
997
+ #: ../common.php:665
998
  msgid "Multiple suspicious activities"
999
  msgstr ""
1000
 
1001
+ #: ../common.php:688
1002
  msgid "Limit on login attempts is reached"
1003
  msgstr ""
1004
 
1005
+ #: ../common.php:689
1006
  msgid "Attempt to access"
1007
  msgstr ""
1008
 
1009
+ #: ../common.php:692
1010
  msgid "Limit on failed reCAPTCHA verifications is reached"
1011
  msgstr ""
1012
 
1013
+ #: ../common.php:693
1014
  msgid "Bot activity is detected"
1015
  msgstr ""
1016
 
1017
+ #: ../common.php:694
1018
  msgid "Multiple suspicious activities were detected"
1019
  msgstr ""
1020
 
1021
+ #: ../common.php:750
1022
  #, php-format
1023
  msgid "%s ago"
1024
  msgstr ""
1025
 
1026
+ #: ../common.php:884
1027
  msgid "New version is available"
1028
  msgstr ""
1029
 
1030
+ #: ../common.php:891
1031
  #, php-format
1032
  msgid "Update to version %s of WP Cerber"
1033
  msgstr ""
1034
 
1035
+ #: ../common.php:910
1036
+ msgid "Not specified"
1037
+ msgstr ""
1038
+
1039
+ #: ../cerber-news.php:141
1040
  msgid "Cool!"
1041
  msgstr ""
1042
 
1043
+ #: ../cerber-lab.php:693
1044
  msgid "Want to make WP Cerber even more powerful?"
1045
  msgstr ""
1046
 
1047
+ #: ../cerber-lab.php:694
1048
  msgid ""
1049
  "Allow WP Cerber to send locked out malicious IP addresses to Cerber Lab. "
1050
  "This helps the plugin team to develop new algorithms for WP Cerber that will "
1052
  "everyday. You can disable the sending in the plugin settings at any time."
1053
  msgstr ""
1054
 
1055
+ #: ../cerber-lab.php:695
1056
  msgid "OK, nail them all"
1057
  msgstr ""
1058
 
1059
+ #: ../cerber-lab.php:696
1060
  msgid "NO, maybe later"
1061
  msgstr ""
1062
 
1063
+ #: ../cerber-lab.php:697 ../settings.php:326
1064
  msgid "Know more"
1065
  msgstr ""
1066
 
1067
+ #: ../settings.php:70
1068
  msgid "Limit login attempts"
1069
  msgstr ""
1070
 
1071
+ #: ../settings.php:71
1072
  msgid "Attempts"
1073
  msgstr ""
1074
 
1075
+ #: ../settings.php:72
1076
  msgid "Lockout duration"
1077
  msgstr ""
1078
 
1079
+ #: ../settings.php:72 ../settings.php:91
1080
  msgid "minutes"
1081
  msgstr ""
1082
 
1083
+ #: ../settings.php:73
1084
  msgid "Aggressive lockout"
1085
  msgstr ""
1086
 
1087
+ #: ../settings.php:74
1088
  msgid "Apply limit login rules to IP addresses in the White IP Access List"
1089
  msgstr ""
1090
 
1091
+ #: ../settings.php:76
1092
  msgid "Site connection"
1093
  msgstr ""
1094
 
1095
+ #: ../settings.php:78
1096
  msgid "Proactive security rules"
1097
  msgstr ""
1098
 
1099
+ #: ../settings.php:79
1100
  msgid "Block subnet"
1101
  msgstr ""
1102
 
1103
+ #: ../settings.php:79
1104
  msgid "Always block entire subnet Class C of intruders IP"
1105
  msgstr ""
1106
 
1107
+ #: ../settings.php:80
1108
  msgid "Non-existent users"
1109
  msgstr ""
1110
 
1111
+ #: ../settings.php:80
1112
  msgid "Immediately block IP when attempting to login with a non-existent username"
1113
  msgstr ""
1114
 
1115
+ #: ../settings.php:81
1116
  msgid "Redirect dashboard requests"
1117
  msgstr ""
1118
 
1119
+ #: ../settings.php:81
1120
  msgid ""
1121
  "Disable automatic redirecting to the login page when /wp-admin/ is requested "
1122
  "by an unauthorized request"
1123
  msgstr ""
1124
 
1125
+ #: ../settings.php:82
1126
  msgid "Request wp-login.php"
1127
  msgstr ""
1128
 
1129
+ #: ../settings.php:82
1130
  msgid "Immediately block IP after any request to wp-login.php"
1131
  msgstr ""
1132
 
1133
+ #: ../settings.php:83
1134
  msgid "Display 404 page"
1135
  msgstr ""
1136
 
1137
+ #: ../settings.php:83
1138
  msgid "Use 404 template from the active theme"
1139
  msgstr ""
1140
 
1141
+ #: ../settings.php:83
1142
  msgid "Display simple 404 page"
1143
  msgstr ""
1144
 
1145
+ #: ../settings.php:85
1146
  msgid "Custom login page"
1147
  msgstr ""
1148
 
1149
+ #: ../settings.php:86
1150
  msgid "Custom login URL"
1151
  msgstr ""
1152
 
1153
+ #: ../settings.php:86
1154
  msgid "must not overlap with the existing pages or posts slug"
1155
  msgstr ""
1156
 
1157
+ #: ../settings.php:87
1158
  msgid "Disable wp-login.php"
1159
  msgstr ""
1160
 
1161
+ #: ../settings.php:87
1162
  msgid "Block direct access to wp-login.php and return HTTP 404 Not Found Error"
1163
  msgstr ""
1164
 
1165
+ #: ../settings.php:90
1166
  msgid "Threshold"
1167
  msgstr ""
1168
 
1169
+ #: ../settings.php:91
1170
  msgid "Duration"
1171
  msgstr ""
1172
 
1173
+ #: ../settings.php:92
1174
  msgid "Send notification to admin email"
1175
  msgstr ""
1176
 
1177
+ #: ../settings.php:92 ../settings.php:496 ../settings.php:618
1178
  msgid "Click to send test"
1179
  msgstr ""
1180
 
1181
+ #: ../settings.php:95 ../settings.php:294
1182
  msgid "Keep records for"
1183
  msgstr ""
1184
 
1185
+ #: ../settings.php:95 ../settings.php:168 ../settings.php:298
1186
  msgid "days"
1187
  msgstr ""
1188
 
1189
+ #: ../settings.php:96
1190
  msgid "Cerber Lab connection"
1191
  msgstr ""
1192
 
1193
+ #: ../settings.php:96
1194
  msgid "Send malicious IP addresses to the Cerber Lab"
1195
  msgstr ""
1196
 
1197
+ #: ../settings.php:97
1198
  msgid "Cerber Lab protocol"
1199
  msgstr ""
1200
 
1201
+ #: ../settings.php:98
1202
  msgid "Use file"
1203
  msgstr ""
1204
 
1205
+ #: ../settings.php:98
1206
  msgid "Write failed login attempts to the file"
1207
  msgstr ""
1208
 
1209
+ #: ../settings.php:100
1210
  msgid "Preferences"
1211
  msgstr ""
1212
 
1213
+ #: ../settings.php:101
1214
  msgid "Drill down IP"
1215
  msgstr ""
1216
 
1217
+ #: ../settings.php:101
1218
  msgid "Retrieve extra WHOIS information for IP"
1219
  msgstr ""
1220
 
1221
+ #: ../settings.php:102
1222
  msgid "Date format"
1223
  msgstr ""
1224
 
1225
+ #: ../settings.php:102
1226
  #, php-format
1227
  msgid "if empty, the default format %s will be used"
1228
  msgstr ""
1229
 
1230
+ #: ../settings.php:109
1231
  msgid "Hardening WordPress"
1232
  msgstr ""
1233
 
1234
+ #: ../settings.php:110
1235
  msgid "Stop user enumeration"
1236
  msgstr ""
1237
 
1238
+ #: ../settings.php:110
1239
  msgid "Block access to user pages like /?author=n and user data via REST API"
1240
  msgstr ""
1241
 
1242
+ #: ../settings.php:111
1243
  msgid "Disable XML-RPC"
1244
  msgstr ""
1245
 
1246
+ #: ../settings.php:111
1247
  msgid "Block access to the XML-RPC server (including Pingbacks and Trackbacks)"
1248
  msgstr ""
1249
 
1250
+ #: ../settings.php:112
1251
  msgid "Disable feeds"
1252
  msgstr ""
1253
 
1254
+ #: ../settings.php:112
1255
  msgid "Block access to the RSS, Atom and RDF feeds"
1256
  msgstr ""
1257
 
1258
+ #: ../settings.php:113
1259
  msgid "Disable REST API"
1260
  msgstr ""
1261
 
1262
+ #: ../settings.php:113
1263
  msgid "Block access to the WordPress REST API except the following"
1264
  msgstr ""
1265
 
1266
+ #: ../settings.php:114
1267
  msgid "Allow REST API for logged in users"
1268
  msgstr ""
1269
 
1270
+ #: ../settings.php:121
1271
  msgid ""
1272
  "Specify REST API namespaces to be allowed if REST API is disabled. One "
1273
  "string per line."
1274
  msgstr ""
1275
 
1276
+ #: ../settings.php:131
1277
  msgid "User related settings"
1278
  msgstr ""
1279
 
1280
+ #: ../settings.php:132
1281
  msgid "Registration limit"
1282
  msgstr ""
1283
 
1284
+ #: ../settings.php:133
1285
  msgid "Prohibited usernames"
1286
  msgstr ""
1287
 
1288
+ #: ../settings.php:139
1289
  msgid ""
1290
  "Usernames from this list are not allowed to log in or register. Any IP "
1291
  "address, have tried to use any of these usernames, will be immediately "
1292
  "blocked. Use comma to separate logins."
1293
  msgstr ""
1294
 
1295
+ #: ../settings.php:139
1296
  msgid "To specify a REGEX pattern wrap a pattern in two forward slashes."
1297
  msgstr ""
1298
 
1299
+ #: ../settings.php:141
1300
  msgid "User session expire"
1301
  msgstr ""
1302
 
1303
+ #: ../settings.php:141
1304
  msgid "in minutes (leave empty to use default WP value)"
1305
  msgstr ""
1306
 
1307
+ #: ../settings.php:142
1308
  msgid "Sort users in dashboard"
1309
  msgstr ""
1310
 
1311
+ #: ../settings.php:142
1312
  msgid "by date of registration"
1313
  msgstr ""
1314
 
1315
+ #: ../settings.php:149
1316
  msgid "Cerber antispam engine"
1317
  msgstr ""
1318
 
1319
+ #: ../settings.php:150
1320
  msgid "Comment form"
1321
  msgstr ""
1322
 
1323
+ #: ../settings.php:150
1324
  msgid "Protect comment form with bot detection engine"
1325
  msgstr ""
1326
 
1327
+ #: ../settings.php:151 ../settings.php:176
1328
  msgid "Registration form"
1329
  msgstr ""
1330
 
1331
+ #: ../settings.php:151
1332
  msgid "Protect registration form with bot detection engine"
1333
  msgstr ""
1334
 
1335
+ #: ../settings.php:152
1336
  msgid "Other forms"
1337
  msgstr ""
1338
 
1339
+ #: ../settings.php:152
1340
  msgid "Protect all forms on the website with bot detection engine"
1341
  msgstr ""
1342
 
1343
+ #: ../settings.php:154
1344
  msgid "Adjust antispam engine"
1345
  msgstr ""
1346
 
1347
+ #: ../settings.php:155
1348
  msgid "Safe mode"
1349
  msgstr ""
1350
 
1351
+ #: ../settings.php:155
1352
  msgid "Use less restrictive policies (allow AJAX)"
1353
  msgstr ""
1354
 
1355
+ #: ../settings.php:156
 
 
 
 
1356
  msgid "Disable bot detection engine for logged in users"
1357
  msgstr ""
1358
 
1359
+ #: ../settings.php:157
1360
  msgid "Query whitelist"
1361
  msgstr ""
1362
 
1363
+ #: ../settings.php:163
1364
  msgid ""
1365
  "Enter a part of query string or query path to exclude a request from "
1366
  "inspection by the engine. One item per line."
1367
  msgstr ""
1368
 
1369
+ #: ../settings.php:166
1370
  msgid "Comment processing"
1371
  msgstr ""
1372
 
1373
+ #: ../settings.php:167
1374
  msgid "If a spam comment detected"
1375
  msgstr ""
1376
 
1377
+ #: ../settings.php:167
1378
  msgid "Deny it completely"
1379
  msgstr ""
1380
 
1381
+ #: ../settings.php:167
1382
  msgid "Mark it as spam"
1383
  msgstr ""
1384
 
1385
+ #: ../settings.php:168
1386
  msgid "Trash spam comments"
1387
  msgstr ""
1388
 
1389
+ #: ../settings.php:168
1390
  msgid "Move spam comments to trash after"
1391
  msgstr ""
1392
 
1393
+ #: ../settings.php:171
1394
  msgid "reCAPTCHA settings"
1395
  msgstr ""
1396
 
1397
+ #: ../settings.php:172
1398
  msgid "Site key"
1399
  msgstr ""
1400
 
1401
+ #: ../settings.php:173
1402
  msgid "Secret key"
1403
  msgstr ""
1404
 
1405
+ #: ../settings.php:174
1406
  msgid "Invisible reCAPTCHA"
1407
  msgstr ""
1408
 
1409
+ #: ../settings.php:174
1410
  msgid "Enable invisible reCAPTCHA"
1411
  msgstr ""
1412
 
1413
+ #: ../settings.php:174
1414
  msgid ""
1415
  "(do not enable it unless you get and enter the Site and Secret keys for the "
1416
  "invisible version)"
1417
  msgstr ""
1418
 
1419
+ #: ../settings.php:176
1420
  msgid "Enable reCAPTCHA for WordPress registration form"
1421
  msgstr ""
1422
 
1423
+ #: ../settings.php:177
1424
  msgid "Enable reCAPTCHA for WooCommerce registration form"
1425
  msgstr ""
1426
 
1427
+ #: ../settings.php:179
1428
  msgid "Lost password form"
1429
  msgstr ""
1430
 
1431
+ #: ../settings.php:179
1432
  msgid "Enable reCAPTCHA for WordPress lost password form"
1433
  msgstr ""
1434
 
1435
+ #: ../settings.php:180
1436
  msgid "Enable reCAPTCHA for WooCommerce lost password form"
1437
  msgstr ""
1438
 
1439
+ #: ../settings.php:182
1440
  msgid "Login form"
1441
  msgstr ""
1442
 
1443
+ #: ../settings.php:182
1444
  msgid "Enable reCAPTCHA for WordPress login form"
1445
  msgstr ""
1446
 
1447
+ #: ../settings.php:183
1448
  msgid "Enable reCAPTCHA for WooCommerce login form"
1449
  msgstr ""
1450
 
1451
+ #: ../settings.php:185
1452
  msgid "Enable reCAPTCHA for WordPress comment form"
1453
  msgstr ""
1454
 
1455
+ #: ../settings.php:186
1456
  msgid "Disable reCAPTCHA for logged in users"
1457
  msgstr ""
1458
 
1459
+ #: ../settings.php:188
1460
  msgid "Limit attempts"
1461
  msgstr ""
1462
 
1463
+ #: ../settings.php:188
1464
  #, php-format
1465
  msgid "Lock out IP address for %s minutes after %s failed attempts within %s minutes"
1466
  msgstr ""
1467
 
1468
+ #: ../settings.php:194
1469
  msgid "Email notifications"
1470
  msgstr ""
1471
 
1472
+ #: ../settings.php:197 ../settings.php:228
1473
  msgid "Email Address"
1474
  msgstr ""
1475
 
1476
+ #: ../settings.php:201 ../settings.php:233 ../settings.php:282
1477
  msgid "Use comma to specify multiple values"
1478
  msgstr ""
1479
 
1480
+ #: ../settings.php:206
1481
  #, php-format
1482
  msgid "if empty, the admin email %s will be used"
1483
  msgstr ""
1484
 
1485
+ #: ../settings.php:209
1486
  msgid "Notification limit"
1487
  msgstr ""
1488
 
1489
+ #: ../settings.php:209
1490
  msgid "notification letters allowed per hour (0 means unlimited)"
1491
  msgstr ""
1492
 
1493
+ #: ../settings.php:211
1494
+ msgid "Push notifications"
1495
+ msgstr ""
1496
+
1497
+ #: ../settings.php:218
1498
  msgid "All connected devices"
1499
  msgstr ""
1500
 
1501
+ #: ../settings.php:219
1502
  msgid "No devices found"
1503
  msgstr ""
1504
 
1505
+ #: ../settings.php:221
1506
  msgid "Not available"
1507
  msgstr ""
1508
 
1509
+ #: ../settings.php:225
1510
  msgid "Weekly reports"
1511
  msgstr ""
1512
 
1513
+ #: ../settings.php:226
1514
+ msgid "Enable reporting"
1515
+ msgstr ""
1516
+
1517
+ #: ../settings.php:238
1518
  msgid "if empty, email from notification settings will be used"
1519
  msgstr ""
1520
 
1521
+ #: ../settings.php:246
1522
+ msgid "Inspection"
1523
  msgstr ""
1524
 
1525
+ #: ../settings.php:247
1526
+ msgid "Enable traffic inspection"
1527
+ msgstr ""
1528
+
1529
+ #: ../settings.php:253
1530
+ msgid "Logging"
1531
+ msgstr ""
1532
+
1533
+ #: ../settings.php:254
1534
+ msgid "Logging mode"
1535
+ msgstr ""
1536
+
1537
+ #: ../settings.php:260
1538
+ msgid "Logging disabled"
1539
+ msgstr ""
1540
+
1541
+ #: ../settings.php:261
1542
+ msgid "Smart"
1543
+ msgstr ""
1544
+
1545
+ #: ../settings.php:262
1546
+ msgid "All traffic"
1547
+ msgstr ""
1548
+
1549
+ #: ../settings.php:266
1550
+ msgid "Ignore crawlers"
1551
+ msgstr ""
1552
+
1553
+ #: ../settings.php:271
1554
+ msgid "Save request fields"
1555
+ msgstr ""
1556
+
1557
+ #: ../settings.php:276
1558
+ msgid "Mask these form fields"
1559
+ msgstr ""
1560
+
1561
+ #: ../settings.php:286
1562
+ msgid "Page generation time threshold"
1563
+ msgstr ""
1564
+
1565
+ #: ../settings.php:291
1566
+ msgid "milliseconds"
1567
+ msgstr ""
1568
+
1569
+ #: ../settings.php:308
1570
  msgid "Make your protection smarter!"
1571
  msgstr ""
1572
 
1573
+ #: ../settings.php:312
1574
  msgid ""
1575
  "Please enable Permalinks to use this feature. Set Permalink Settings to "
1576
  "something other than Default."
1577
  msgstr ""
1578
 
1579
+ #: ../settings.php:315
1580
  msgid ""
1581
  "Be careful when enabling this options. If you forget the custom login URL "
1582
  "you will not be able to login."
1583
  msgstr ""
1584
 
1585
+ #: ../settings.php:319
1586
  msgid ""
1587
  "In the Citadel mode nobody is able to log in except IPs from the White IP "
1588
  "Access List. Active user sessions will not be affected."
1589
  msgstr ""
1590
 
1591
+ #: ../settings.php:322
1592
  msgid "These settings do not affect hosts from the "
1593
  msgstr ""
1594
 
1595
+ #: ../settings.php:325
1596
  msgid ""
1597
  "Before you can start using reCAPTCHA, you have to obtain Site key and Secret "
1598
  "key on the Google website"
1599
  msgstr ""
1600
 
1601
+ #: ../settings.php:356
1602
+ msgid "Lockouts"
1603
+ msgstr ""
1604
+
1605
+ #: ../settings.php:365
1606
  msgid "Users"
1607
  msgstr ""
1608
 
1609
+ #: ../settings.php:370
1610
  msgid "Help"
1611
  msgstr ""
1612
 
1613
+ #: ../settings.php:477 ../settings.php:599
1614
  #, php-format
1615
  msgid "%s allowed retries in %s minutes"
1616
  msgstr ""
1617
 
1618
+ #: ../settings.php:482 ../settings.php:604
1619
  #, php-format
1620
  msgid "%s allowed registrations in %s minutes from one IP"
1621
  msgstr ""
1622
 
1623
+ #: ../settings.php:487 ../settings.php:609
1624
  #, php-format
1625
  msgid "Increase lockout duration to %s hours after %s lockouts in the last %s hours"
1626
  msgstr ""
1627
 
1628
+ #: ../settings.php:494 ../settings.php:616
1629
  msgid "Notify admin if the number of active lockouts above"
1630
  msgstr ""
1631
 
1632
+ #: ../settings.php:499 ../settings.php:621
1633
  #, php-format
1634
  msgid "Enable after %s failed login attempts in last %s minutes"
1635
  msgstr ""
1636
 
1637
+ #: ../settings.php:701
1638
  msgid "Sunday"
1639
  msgstr ""
1640
 
1641
+ #: ../settings.php:702
1642
  msgid "Monday"
1643
  msgstr ""
1644
 
1645
+ #: ../settings.php:703
1646
  msgid "Tuesday"
1647
  msgstr ""
1648
 
1649
+ #: ../settings.php:704
1650
  msgid "Wednesday"
1651
  msgstr ""
1652
 
1653
+ #: ../settings.php:705
1654
  msgid "Thursday"
1655
  msgstr ""
1656
 
1657
+ #: ../settings.php:706
1658
  msgid "Friday"
1659
  msgstr ""
1660
 
1661
+ #: ../settings.php:707
1662
  msgid "Saturday"
1663
  msgstr ""
1664
 
1665
  #. translators: preposition of time
1666
+ #: ../settings.php:717
1667
  msgctxt "preposition of time"
1668
  msgid "at"
1669
  msgstr ""
1670
 
1671
+ #: ../settings.php:733
1672
  msgid "Click to send now"
1673
  msgstr ""
1674
 
1675
+ #: ../settings.php:758 ../settings.php:759
1676
  msgid "Attention! You have changed the login URL! The new login URL is"
1677
  msgstr ""
1678
 
1679
+ #: ../settings.php:760 ../settings.php:761
1680
  msgid ""
1681
  "If you use a caching plugin, you have to add your new login URL to the list "
1682
  "of pages not to cache."
1683
  msgstr ""
1684
 
1685
+ #: ../settings.php:839 ../settings.php:851
1686
  msgid "<strong>ERROR</strong>: please enter a valid email address."
1687
  msgstr ""
1688
 
1712
  msgid "What do you want to export?"
1713
  msgstr ""
1714
 
 
 
 
 
1715
  #: ../cerber-tools.php:89
1716
  msgid "Download file"
1717
  msgstr ""
1759
  msgid "Error while parsing file"
1760
  msgstr ""
1761
 
1762
+ #: ../cerber-tools.php:336
1763
  msgid "Antispam and bot detection settings"
1764
  msgstr ""
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: security, login, protect, antispam, limit login attempts, woocommerce, cus
5
  Requires at least: 4.4
6
  Requires PHP: 5.3
7
  Tested up to: 4.9
8
- Stable tag: 5.9
9
  License: GPLv2
10
 
11
  Protection against hacker attacks and bots. Restrict access with IP access lists, track user and bot activity. reCAPTCHA. Limit login attempts.
@@ -285,6 +285,15 @@ To get access to your dashboard you need to copy the WP Cerber Reset folder to t
285
 
286
  == Changelog ==
287
 
 
 
 
 
 
 
 
 
 
288
  = 5.9 =
289
  * New: You can add comments for new entries in the access lists
290
  * Improved compatibility with exotic hosting environments: now the plugin handles URLs with the MultiViews server option enabled.
@@ -300,7 +309,7 @@ To get access to your dashboard you need to copy the WP Cerber Reset folder to t
300
  * [Read more](https://wpcerber.com/wp-cerber-security-5-8-6/)
301
 
302
  = 5.8 =
303
- * New: Now the plugin will send a brief performance report (activity for past seven days) to specified email addresses.
304
  * Plugin admin interface pages: compatibility with screen readers has been improved.
305
  * REST API: the deprecated rest_enabled filter is used for WordPress older than 4.7.
306
  * Bug fixed: After updating the plugin to the 5.7 version some disabled checkboxes (and corresponding disabled settings) are set to their default, enabled states.
5
  Requires at least: 4.4
6
  Requires PHP: 5.3
7
  Tested up to: 4.9
8
+ Stable tag: 6.0
9
  License: GPLv2
10
 
11
  Protection against hacker attacks and bots. Restrict access with IP access lists, track user and bot activity. reCAPTCHA. Limit login attempts.
285
 
286
  == Changelog ==
287
 
288
+ = 6.0 =
289
+ * New: Traffic Inspector. It’s a specialized request inspection algorithm that performs inspection all suspicious incoming HTTP requests and block them before they can harm a website.
290
+ * New: Traffic Inspector optionally logs all or just suspicious and malicious requests so you can inspect them.
291
+ * New: Added ability to clean up Cerber’s DB tables.
292
+ * New: If the web server has some issues and those issues can affect plugin functionality, they are shown on the Diagnostic page.
293
+ * Added protection to prevent scheduled tasks from being executed multiple times an hour.
294
+ * JavaScript antispam code is improved to eliminate excessive fields in GET requests.
295
+ * To eliminate possible warning messages, the inet_pton() function has been replaced with filter_var().
296
+
297
  = 5.9 =
298
  * New: You can add comments for new entries in the access lists
299
  * Improved compatibility with exotic hosting environments: now the plugin handles URLs with the MultiViews server option enabled.
309
  * [Read more](https://wpcerber.com/wp-cerber-security-5-8-6/)
310
 
311
  = 5.8 =
312
+ * New: Now the plugin will send a brief security report (activity for past seven days) to specified email addresses.
313
  * Plugin admin interface pages: compatibility with screen readers has been improved.
314
  * REST API: the deprecated rest_enabled filter is used for WordPress older than 4.7.
315
  * Bug fixed: After updating the plugin to the 5.7 version some disabled checkboxes (and corresponding disabled settings) are set to their default, enabled states.
ripe.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
1
  <?php
2
  /*
3
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
settings.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
@@ -40,6 +40,7 @@ define('CERBER_OPT_H','cerber-hardening');
40
  define('CERBER_OPT_U','cerber-users');
41
  define('CERBER_OPT_C','cerber-recaptcha');
42
  define('CERBER_OPT_N','cerber-notifications');
 
43
 
44
  /**
45
  * A set of Cerber setting (WP options)
@@ -48,7 +49,7 @@ define('CERBER_OPT_N','cerber-notifications');
48
  */
49
 
50
  function cerber_get_setting_list() {
51
- return array( CERBER_OPT, CERBER_OPT_H, CERBER_OPT_U, CERBER_OPT_C, CERBER_OPT_N );
52
  }
53
 
54
  /*
@@ -111,7 +112,14 @@ function cerber_settings_init(){
111
  add_settings_field('nofeeds',__('Disable feeds','wp-cerber'),'cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'nofeeds','type'=>'checkbox','label'=>__('Block access to the RSS, Atom and RDF feeds','wp-cerber')));
112
  add_settings_field('norest',__('Disable REST API','wp-cerber'),'cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'norest','type'=>'checkbox','label'=>__('Block access to the WordPress REST API except the following','wp-cerber')));
113
  add_settings_field('restauth', '','cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'restauth','type'=>'checkbox','label'=>__('Allow REST API for logged in users','wp-cerber')));
114
- add_settings_field('restwhite', '','cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'restwhite','type'=>'textarea','label'=>__('Specify REST API namespaces to be allowed if REST API is disabled. One string per line.','wp-cerber')));
 
 
 
 
 
 
 
115
  //add_settings_field('hashauthor',__('Hide author usernames','wp-cerber'),'cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'hashauthor','type'=>'checkbox','label'=>__('Replace author username with hash for author pages and URLs','wp-cerber')));
116
  //add_settings_field('cleanhead',__('Clean up HEAD','wp-cerber'),'cerberus_field_show','cerber-'.$tab,'hwp',array('group'=>$tab,'option'=>'cleanhead','type'=>'checkbox','label'=>__('Remove generator and version tags from HEAD section','wp-cerber')));
117
  //add_settings_field('ping',__('Disable Pingback','wp-cerber'),'cerberus_field_show','cerber-'.$tab,'hwp',array('group'=>$tab,'option'=>'ping','type'=>'checkbox','label'=>__('Block access to ping functional','wp-cerber')));
@@ -122,7 +130,14 @@ function cerber_settings_init(){
122
  register_setting( 'cerberus-'.$tab, CERBER_OPT_U);
123
  add_settings_section('us', __('User related settings','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_U);
124
  if (lab_lab()) add_settings_field('reglimit',__('Registration limit','wp-cerber'),'cerberus_field_show', CERBER_OPT_U,'us',array('group'=>$tab,'option'=>'reglimit','type'=>'reglimit'));
125
- add_settings_field('prohibited',__('Prohibited usernames','wp-cerber'),'cerberus_field_show',CERBER_OPT_U,'us',array('group'=>$tab,'option'=>'prohibited','type'=>'textarea','label'=>__('Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins.','wp-cerber').' '.__('To specify a REGEX pattern wrap a pattern in two forward slashes.','wp-cerber')));
 
 
 
 
 
 
 
126
  add_settings_field('auth_expire',__('User session expire','wp-cerber'),'cerberus_field_show',CERBER_OPT_U,'us',array('group'=>$tab,'option'=>'auth_expire','type'=>'text','label'=>__('in minutes (leave empty to use default WP value)','wp-cerber'),'size' => 6));
127
  add_settings_field('usersort',__('Sort users in dashboard','wp-cerber'),'cerberus_field_show',CERBER_OPT_U,'us',array('group'=>$tab,'option'=>'usersort','type'=>'checkbox','label'=>__('by date of registration','wp-cerber')));
128
 
@@ -139,7 +154,14 @@ function cerber_settings_init(){
139
  add_settings_section('antibot_more', __('Adjust antispam engine','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_C);
140
  add_settings_field('botssafe',__('Safe mode','wp-cerber'),'cerberus_field_show',CERBER_OPT_C,'antibot_more',array('group'=>$tab,'option'=>'botssafe','type'=>'checkbox','label'=>__('Use less restrictive policies (allow AJAX)','wp-cerber') ));
141
  add_settings_field('botsnoauth',__('Logged in users','wp-cerber'),'cerberus_field_show',CERBER_OPT_C,'antibot_more',array('group'=>$tab,'option'=>'botsnoauth','type'=>'checkbox','label'=>__('Disable bot detection engine for logged in users','wp-cerber') ));
142
- add_settings_field('botswhite',__('Query whitelist','wp-cerber'),'cerberus_field_show',CERBER_OPT_C,'antibot_more',array('group'=>$tab,'option'=>'botswhite','type'=>'textarea','label'=>__('Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line.','wp-cerber')));
 
 
 
 
 
 
 
143
 
144
  add_settings_section('commproc', __('Comment processing','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_C);
145
  add_settings_field('spamcomm',__('If a spam comment detected','wp-cerber'),'cerberus_field_show',CERBER_OPT_C,'commproc',array('group'=>$tab, 'option'=>'spamcomm', 'type'=>'select', 'set' => array(__('Deny it completely','wp-cerber'),__('Mark it as spam','wp-cerber'))));
@@ -170,8 +192,20 @@ function cerber_settings_init(){
170
  $group = 'notifications'; // 'cerber-notifications' settings
171
  register_setting( 'cerberus-'.$group, CERBER_OPT_N);
172
  add_settings_section('notify', __('Email notifications','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_N);
 
173
  $def_email = '<b>'.get_site_option('admin_email').'</b>';
174
- add_settings_field('email',__('Email Address','wp-cerber'),'cerber_field_show', CERBER_OPT_N,'notify',array('group'=>$group,'setting'=>'email','type'=>'text','placeholder'=>__('Use comma to specify multiple values','wp-cerber'),'size' => 60, 'maxlength' => 1000 ,'label'=>sprintf(__('if empty, the admin email %s will be used','wp-cerber'),$def_email)));
 
 
 
 
 
 
 
 
 
 
 
175
  add_settings_field('emailrate',__('Notification limit','wp-cerber'),'cerber_field_show',CERBER_OPT_N,'notify',array('group'=>$group,'setting'=>'emailrate','type'=>'text','label'=>__('notification letters allowed per hour (0 means unlimited)','wp-cerber'),'size'=>3));
176
 
177
  add_settings_section('pushit', __('Push notifications','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_N);
@@ -188,12 +222,102 @@ function cerber_settings_init(){
188
  }
189
  add_settings_field('pbdevice','Pushbullet device','cerber_field_show',CERBER_OPT_N,'pushit',array('group'=>$group,'setting'=>'pbdevice','type'=>'select','set'=>$set));
190
 
191
-
192
  add_settings_section('reports', __('Weekly reports','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_N);
193
- add_settings_field('wreports','Send reports on','cerber_field_show',CERBER_OPT_N,'reports',array('group'=>$group,'setting'=>'wreports','type'=>'reptime'));
194
- add_settings_field('email-report',__('Email Address','wp-cerber'),'cerber_field_show', CERBER_OPT_N,'reports',array('group'=>$group,'setting'=>'email-report','type'=>'text','placeholder'=>__('Use comma to specify multiple values','wp-cerber'),'size' => 60, 'maxlength' => 1000 , 'label'=>__('if empty, email from notification settings will be used','wp-cerber')));
195
  add_settings_field('enable-report',__('Enable reporting','wp-cerber'),'cerber_field_show',CERBER_OPT_N,'reports',array('group'=>$group,'setting'=>'enable-report','type'=>'checkbox'));
196
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  }
198
  /*
199
  Generate HTML for each sections on a settings page
@@ -352,12 +476,6 @@ function cerberus_field_show($args){
352
  $pre = rtrim( get_home_url(), '/' ) . '/';
353
  $value = urldecode( $value );
354
  }
355
- elseif ( $args['option'] == 'prohibited' || $args['option'] == 'email' ) {
356
- $value = cerber_array2text($value, ', ');
357
- }
358
- elseif ( $args['option'] == 'botswhite' || $args['option'] == 'restwhite') {
359
- $value = cerber_array2text($value, "\n");
360
- }
361
  }
362
 
363
  $name = 'cerber-'.$args['group'].'['.$args['option'].']';
@@ -468,6 +586,7 @@ function cerber_field_show($args){
468
  if ( isset( $settings[ $args['setting'] ] ) ) {
469
  $value = $settings[ $args['setting'] ];
470
  }
 
471
  if ( ( $args['setting'] == 'loginnowp' || $args['setting'] == 'loginpath' ) && ! get_option( 'permalink_structure' ) ) {
472
  $disabled = ' disabled="disabled" ';
473
  }
@@ -475,12 +594,10 @@ function cerber_field_show($args){
475
  $pre = rtrim( get_home_url(), '/' ) . '/';
476
  $value = urldecode( $value );
477
  }
478
- elseif ( $args['setting'] == 'prohibited' || $args['setting'] == 'email' || $args['setting'] == 'email-report' ) {
479
- $value = cerber_array2text($value, ', ');
480
- }
481
- elseif ( $args['setting'] == 'botswhite' || $args['setting'] == 'restwhite') {
482
- $value = cerber_array2text($value, "\n");
483
- }
484
  }
485
 
486
  $name = 'cerber-'.$args['group'].'['.$args['setting'].']';
@@ -782,7 +899,24 @@ function cerber_sanitize_h($new, $old, $option) {
782
 
783
  return $new;
784
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
785
 
 
 
786
  /**
787
  * Let's sanitize them all
788
  * @since 4.1
@@ -825,12 +959,21 @@ function cerber_normalize( $values, $group ) {
825
  return $values;
826
  }
827
 
 
 
 
 
 
 
 
 
828
  function cerber_array2text( $array = array(), $delimiter = '') {
829
  if ( empty( $array ) ) {
830
  return '';
831
  }
832
 
833
  if ( is_array( $array ) ) {
 
834
  $ret = implode( $delimiter , $array );
835
  }
836
  else {
@@ -840,6 +983,16 @@ function cerber_array2text( $array = array(), $delimiter = '') {
840
  return $ret;
841
  }
842
 
 
 
 
 
 
 
 
 
 
 
843
  function cerber_text2array( $text = '', $delimiter = '', $callback = '') {
844
 
845
  if ( empty( $text ) ) {
@@ -949,9 +1102,9 @@ function cerber_get_defaults($field = null) {
949
  CERBER_OPT_U => array(
950
  'reglimit_num' => 3,
951
  'reglimit_min' => 60,
952
- 'prohibited' => array(),
953
- 'auth_expire' => '',
954
- 'usersort' => '',
955
  ),
956
  CERBER_OPT_C => array(
957
  'botscomm' => 1,
@@ -988,8 +1141,20 @@ function cerber_get_defaults($field = null) {
988
  'wreports-time' => 9,
989
  'email-report' => '',
990
  'enable-report' => '1', // workaround, see cerber_upgrade_options()
991
- )
992
- );
 
 
 
 
 
 
 
 
 
 
 
 
993
  if ( $field ) {
994
  foreach ( $all_defaults as $option ) {
995
  if ( isset( $option[ $field ] ) ) {
@@ -1026,7 +1191,7 @@ function cerber_upgrade_options() {
1026
  foreach ( cerber_get_defaults() as $option_name => $fields ) {
1027
  $values = get_site_option( $option_name );
1028
  if ( ! $values ) {
1029
- continue;
1030
  }
1031
  foreach ( $fields as $field_name => $default ) {
1032
  if ( ! isset( $values[ $field_name ] ) && $default !== 1) { // @since 5.7.2 TODO refactor $default !== 1 to more obvious
@@ -1134,26 +1299,26 @@ function crb_get_settings($option = '') {
1134
 
1135
  }
1136
 
1137
- $options = $united;
1138
  if ( ! empty( $option ) ) {
1139
- if ( isset( $options[ $option ] ) ) {
1140
- return $options[ $option ];
1141
  }
1142
  else {
1143
  return false;
1144
  }
1145
  }
1146
 
1147
- return $options;
1148
  }
1149
 
1150
  /**
1151
  * @param string $option Name of site option
 
1152
  *
1153
- * @return null|array
1154
  * @since 5.8.7
1155
  */
1156
- function cerber_get_site_option($option = ''){
1157
  global $wpdb;
1158
  static $values = array();
1159
 
@@ -1164,8 +1329,8 @@ function cerber_get_site_option($option = ''){
1164
  /**
1165
  * For some hosting environments it might be faster, e.g. Redis enabled
1166
  */
1167
- if ( defined( 'CERBER_WP_OPTIONS' ) ) {
1168
- return get_site_option( $option );
1169
  }
1170
 
1171
  if (isset($values[$option])){
@@ -1180,9 +1345,11 @@ function cerber_get_site_option($option = ''){
1180
  }
1181
 
1182
  if ( $value ) {
1183
- $value = @unserialize( $value );
1184
- if ( ! is_array( $value ) ) {
1185
- $value = null;
 
 
1186
  }
1187
  }
1188
  else {
1
  <?php
2
  /*
3
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
40
  define('CERBER_OPT_U','cerber-users');
41
  define('CERBER_OPT_C','cerber-recaptcha');
42
  define('CERBER_OPT_N','cerber-notifications');
43
+ define('CERBER_OPT_T','cerber-traffic');
44
 
45
  /**
46
  * A set of Cerber setting (WP options)
49
  */
50
 
51
  function cerber_get_setting_list() {
52
+ return array( CERBER_OPT, CERBER_OPT_H, CERBER_OPT_U, CERBER_OPT_C, CERBER_OPT_N, CERBER_OPT_T );
53
  }
54
 
55
  /*
112
  add_settings_field('nofeeds',__('Disable feeds','wp-cerber'),'cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'nofeeds','type'=>'checkbox','label'=>__('Block access to the RSS, Atom and RDF feeds','wp-cerber')));
113
  add_settings_field('norest',__('Disable REST API','wp-cerber'),'cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'norest','type'=>'checkbox','label'=>__('Block access to the WordPress REST API except the following','wp-cerber')));
114
  add_settings_field('restauth', '','cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'restauth','type'=>'checkbox','label'=>__('Allow REST API for logged in users','wp-cerber')));
115
+ add_settings_field( 'restwhite', '', 'cerber_field_show', CERBER_OPT_H, 'hwp',
116
+ array( 'group' => $tab,
117
+ 'setting' => 'restwhite',
118
+ 'type' => 'textarea',
119
+ 'delimiter' => "\n",
120
+ 'list' => true,
121
+ 'label' => __( 'Specify REST API namespaces to be allowed if REST API is disabled. One string per line.', 'wp-cerber' )
122
+ ) );
123
  //add_settings_field('hashauthor',__('Hide author usernames','wp-cerber'),'cerberus_field_show',CERBER_OPT_H,'hwp',array('group'=>$tab,'option'=>'hashauthor','type'=>'checkbox','label'=>__('Replace author username with hash for author pages and URLs','wp-cerber')));
124
  //add_settings_field('cleanhead',__('Clean up HEAD','wp-cerber'),'cerberus_field_show','cerber-'.$tab,'hwp',array('group'=>$tab,'option'=>'cleanhead','type'=>'checkbox','label'=>__('Remove generator and version tags from HEAD section','wp-cerber')));
125
  //add_settings_field('ping',__('Disable Pingback','wp-cerber'),'cerberus_field_show','cerber-'.$tab,'hwp',array('group'=>$tab,'option'=>'ping','type'=>'checkbox','label'=>__('Block access to ping functional','wp-cerber')));
130
  register_setting( 'cerberus-'.$tab, CERBER_OPT_U);
131
  add_settings_section('us', __('User related settings','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_U);
132
  if (lab_lab()) add_settings_field('reglimit',__('Registration limit','wp-cerber'),'cerberus_field_show', CERBER_OPT_U,'us',array('group'=>$tab,'option'=>'reglimit','type'=>'reglimit'));
133
+ add_settings_field( 'prohibited', __( 'Prohibited usernames', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_U, 'us',
134
+ array( 'group' => $tab,
135
+ 'setting' => 'prohibited',
136
+ 'type' => 'textarea',
137
+ 'delimiter' => ',',
138
+ 'list' => true,
139
+ 'label' => __( 'Usernames from this list are not allowed to log in or register. Any IP address, have tried to use any of these usernames, will be immediately blocked. Use comma to separate logins.', 'wp-cerber' ) . ' ' . __( 'To specify a REGEX pattern wrap a pattern in two forward slashes.', 'wp-cerber' )
140
+ ) );
141
  add_settings_field('auth_expire',__('User session expire','wp-cerber'),'cerberus_field_show',CERBER_OPT_U,'us',array('group'=>$tab,'option'=>'auth_expire','type'=>'text','label'=>__('in minutes (leave empty to use default WP value)','wp-cerber'),'size' => 6));
142
  add_settings_field('usersort',__('Sort users in dashboard','wp-cerber'),'cerberus_field_show',CERBER_OPT_U,'us',array('group'=>$tab,'option'=>'usersort','type'=>'checkbox','label'=>__('by date of registration','wp-cerber')));
143
 
154
  add_settings_section('antibot_more', __('Adjust antispam engine','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_C);
155
  add_settings_field('botssafe',__('Safe mode','wp-cerber'),'cerberus_field_show',CERBER_OPT_C,'antibot_more',array('group'=>$tab,'option'=>'botssafe','type'=>'checkbox','label'=>__('Use less restrictive policies (allow AJAX)','wp-cerber') ));
156
  add_settings_field('botsnoauth',__('Logged in users','wp-cerber'),'cerberus_field_show',CERBER_OPT_C,'antibot_more',array('group'=>$tab,'option'=>'botsnoauth','type'=>'checkbox','label'=>__('Disable bot detection engine for logged in users','wp-cerber') ));
157
+ add_settings_field( 'botswhite', __( 'Query whitelist', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_C, 'antibot_more',
158
+ array( 'group' => $tab,
159
+ 'setting' => 'botswhite',
160
+ 'type' => 'textarea',
161
+ 'delimiter' => "\n",
162
+ 'list' => true,
163
+ 'label' => __( 'Enter a part of query string or query path to exclude a request from inspection by the engine. One item per line.', 'wp-cerber' )
164
+ ) );
165
 
166
  add_settings_section('commproc', __('Comment processing','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_C);
167
  add_settings_field('spamcomm',__('If a spam comment detected','wp-cerber'),'cerberus_field_show',CERBER_OPT_C,'commproc',array('group'=>$tab, 'option'=>'spamcomm', 'type'=>'select', 'set' => array(__('Deny it completely','wp-cerber'),__('Mark it as spam','wp-cerber'))));
192
  $group = 'notifications'; // 'cerber-notifications' settings
193
  register_setting( 'cerberus-'.$group, CERBER_OPT_N);
194
  add_settings_section('notify', __('Email notifications','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_N);
195
+
196
  $def_email = '<b>'.get_site_option('admin_email').'</b>';
197
+ add_settings_field( 'email', __( 'Email Address', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_N, 'notify',
198
+ array( 'group' => $group,
199
+ 'setting' => 'email',
200
+ 'type' => 'text',
201
+ 'placeholder' => __( 'Use comma to specify multiple values', 'wp-cerber' ),
202
+ 'delimiter' => ',',
203
+ 'list' => true,
204
+ 'size' => 60,
205
+ 'maxlength' => 1000,
206
+ 'label' => sprintf( __( 'if empty, the admin email %s will be used', 'wp-cerber' ), $def_email )
207
+ ) );
208
+
209
  add_settings_field('emailrate',__('Notification limit','wp-cerber'),'cerber_field_show',CERBER_OPT_N,'notify',array('group'=>$group,'setting'=>'emailrate','type'=>'text','label'=>__('notification letters allowed per hour (0 means unlimited)','wp-cerber'),'size'=>3));
210
 
211
  add_settings_section('pushit', __('Push notifications','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_N);
222
  }
223
  add_settings_field('pbdevice','Pushbullet device','cerber_field_show',CERBER_OPT_N,'pushit',array('group'=>$group,'setting'=>'pbdevice','type'=>'select','set'=>$set));
224
 
 
225
  add_settings_section('reports', __('Weekly reports','wp-cerber'), 'cerber_sapi_section', CERBER_OPT_N);
 
 
226
  add_settings_field('enable-report',__('Enable reporting','wp-cerber'),'cerber_field_show',CERBER_OPT_N,'reports',array('group'=>$group,'setting'=>'enable-report','type'=>'checkbox'));
227
+ add_settings_field('wreports','Send reports on','cerber_field_show',CERBER_OPT_N,'reports',array('group'=>$group,'setting'=>'wreports','type'=>'reptime'));
228
+ add_settings_field( 'email-report', __( 'Email Address', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_N, 'reports',
229
+ array(
230
+ 'group' => $group,
231
+ 'setting' => 'email-report',
232
+ 'type' => 'text',
233
+ 'placeholder' => __( 'Use comma to specify multiple values', 'wp-cerber' ),
234
+ 'delimiter' => ',',
235
+ 'list' => true,
236
+ 'size' => 60,
237
+ 'maxlength' => 1000,
238
+ 'label' => __( 'if empty, email from notification settings will be used', 'wp-cerber' )
239
+ ) );
240
+
241
+ // Traffic Inspector -----------------------------------------------------------------------------
242
+
243
+ $group = 'traffic'; // 'cerber-traffic' settings
244
+ register_setting( 'cerberus-' . $group, CERBER_OPT_T );
245
+
246
+ add_settings_section( 'tmain', __( 'Inspection', 'wp-cerber' ), 'cerber_sapi_section', CERBER_OPT_T );
247
+ add_settings_field( 'tienabled', __( 'Enable traffic inspection', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tmain',
248
+ array( 'group' => $group,
249
+ 'setting' => 'tienabled',
250
+ 'type' => 'checkbox',
251
+ ) );
252
+
253
+ add_settings_section( 'tlog', __( 'Logging', 'wp-cerber' ), 'cerber_sapi_section', CERBER_OPT_T );
254
+ add_settings_field( 'timode', __( 'Logging mode', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
255
+ array(
256
+ 'group' => $group,
257
+ 'setting' => 'timode',
258
+ 'type' => 'select',
259
+ 'set' => array(
260
+ __( 'Logging disabled', 'wp-cerber' ),
261
+ __( 'Smart', 'wp-cerber' ),
262
+ __( 'All traffic', 'wp-cerber' )
263
+ )
264
+ ) );
265
+
266
+ add_settings_field( 'tinocrabs', __( 'Ignore crawlers', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
267
+ array( 'group' => $group,
268
+ 'setting' => 'tinocrabs',
269
+ 'type' => 'checkbox',
270
+ ) );
271
+ add_settings_field( 'tifields', __( 'Save request fields', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
272
+ array( 'group' => $group,
273
+ 'setting' => 'tifields',
274
+ 'type' => 'checkbox',
275
+ ) );
276
+ add_settings_field( 'timask', __( 'Mask these form fields', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
277
+ array( 'group' => $group,
278
+ 'setting' => 'timask',
279
+ 'type' => 'text',
280
+ 'size' => 60,
281
+ 'maxlength' => 1000,
282
+ 'placeholder'=>__('Use comma to specify multiple values','wp-cerber'),
283
+ 'delimiter' => ',',
284
+ 'list' => true,
285
+ ) );
286
+ if (lab_lab()) {
287
+ add_settings_field( 'tihdrs', __( 'Save request headers', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
288
+ array(
289
+ 'group' => $group,
290
+ 'setting' => 'tihdrs',
291
+ 'type' => 'checkbox',
292
+ ) );
293
+ add_settings_field( 'tisenv', __( 'Save $_SERVER', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
294
+ array(
295
+ 'group' => $group,
296
+ 'setting' => 'tisenv',
297
+ 'type' => 'checkbox',
298
+ ) );
299
+ add_settings_field( 'ticandy', __( 'Save request cookies', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
300
+ array(
301
+ 'group' => $group,
302
+ 'setting' => 'ticandy',
303
+ 'type' => 'checkbox',
304
+ ) );
305
+ }
306
+ add_settings_field( 'tithreshold', __( 'Page generation time threshold', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
307
+ array(
308
+ 'group' => $group,
309
+ 'setting' => 'tithreshold',
310
+ 'type' => 'text',
311
+ 'label' => __( 'milliseconds', 'wp-cerber' ),
312
+ 'size' => 4
313
+ ) );
314
+ add_settings_field( 'tikeeprec', __( 'Keep records for', 'wp-cerber' ), 'cerber_field_show', CERBER_OPT_T, 'tlog',
315
+ array( 'group' => $group,
316
+ 'setting' => 'tikeeprec',
317
+ 'type' => 'text',
318
+ 'label' => __( 'days', 'wp-cerber' ),
319
+ 'size' => 4
320
+ ) );
321
  }
322
  /*
323
  Generate HTML for each sections on a settings page
476
  $pre = rtrim( get_home_url(), '/' ) . '/';
477
  $value = urldecode( $value );
478
  }
 
 
 
 
 
 
479
  }
480
 
481
  $name = 'cerber-'.$args['group'].'['.$args['option'].']';
586
  if ( isset( $settings[ $args['setting'] ] ) ) {
587
  $value = $settings[ $args['setting'] ];
588
  }
589
+
590
  if ( ( $args['setting'] == 'loginnowp' || $args['setting'] == 'loginpath' ) && ! get_option( 'permalink_structure' ) ) {
591
  $disabled = ' disabled="disabled" ';
592
  }
594
  $pre = rtrim( get_home_url(), '/' ) . '/';
595
  $value = urldecode( $value );
596
  }
597
+ }
598
+
599
+ if ( isset( $args['list'] ) ) {
600
+ $value = cerber_array2text($value, $args['delimiter']);
 
 
601
  }
602
 
603
  $name = 'cerber-'.$args['group'].'['.$args['setting'].']';
899
 
900
  return $new;
901
  }
902
+ /*
903
+ Sanitizing/checking user input for Traffic Inspector tab settings
904
+ */
905
+ add_filter( 'pre_update_option_'.CERBER_OPT_T, 'cerber_sanitize_t', 10, 3 );
906
+ function cerber_sanitize_t($new, $old, $option) {
907
+
908
+ $new['timask'] = cerber_text2array( $new['timask'], "," );
909
+ if ( $new['tithreshold'] ) {
910
+ $new['tithreshold'] = absint( $new['tithreshold'] );
911
+ }
912
+ $new['tikeeprec'] = absint($new['tikeeprec']);
913
+ if ( $new['tikeeprec'] < 1 ) {
914
+ $new['tikeeprec'] = $old['tikeeprec'];
915
+ cerber_admin_notice( 'You may not set <b>Keep records for</b> to 0 days. To completely disable logging set <b>Logging mode</b> to Logging disabled.' );
916
+ }
917
 
918
+ return $new;
919
+ }
920
  /**
921
  * Let's sanitize them all
922
  * @since 4.1
959
  return $values;
960
  }
961
 
962
+ /**
963
+ * Convert an array to text string by using a given delimiter
964
+ *
965
+ * @param array $array
966
+ * @param string $delimiter
967
+ *
968
+ * @return array|string
969
+ */
970
  function cerber_array2text( $array = array(), $delimiter = '') {
971
  if ( empty( $array ) ) {
972
  return '';
973
  }
974
 
975
  if ( is_array( $array ) ) {
976
+ if ($delimiter == ',') $delimiter .= ' ';
977
  $ret = implode( $delimiter , $array );
978
  }
979
  else {
983
  return $ret;
984
  }
985
 
986
+ /**
987
+ * Convert text to array by using a given element delimiter, remove empty and duplicate elements
988
+ * Optionally a callback function may be applied to resulting array elements.
989
+ *
990
+ * @param string $text
991
+ * @param string $delimiter
992
+ * @param string $callback
993
+ *
994
+ * @return array|string
995
+ */
996
  function cerber_text2array( $text = '', $delimiter = '', $callback = '') {
997
 
998
  if ( empty( $text ) ) {
1102
  CERBER_OPT_U => array(
1103
  'reglimit_num' => 3,
1104
  'reglimit_min' => 60,
1105
+ 'prohibited' => array(),
1106
+ 'auth_expire' => '',
1107
+ 'usersort' => '',
1108
  ),
1109
  CERBER_OPT_C => array(
1110
  'botscomm' => 1,
1141
  'wreports-time' => 9,
1142
  'email-report' => '',
1143
  'enable-report' => '1', // workaround, see cerber_upgrade_options()
1144
+ ),
1145
+ CERBER_OPT_T => array(
1146
+ 'tienabled' => '1',
1147
+ 'timode' => '1',
1148
+ 'tinocrabs' => '1',
1149
+ 'tifields' => 0,
1150
+ 'timask' => '',
1151
+ 'tihdrs' => 0,
1152
+ 'tisenv' => 0,
1153
+ 'ticandy' => 0,
1154
+ 'tithreshold' => '',
1155
+ 'tikeeprec' => 7,
1156
+ )
1157
+ );
1158
  if ( $field ) {
1159
  foreach ( $all_defaults as $option ) {
1160
  if ( isset( $option[ $field ] ) ) {
1191
  foreach ( cerber_get_defaults() as $option_name => $fields ) {
1192
  $values = get_site_option( $option_name );
1193
  if ( ! $values ) {
1194
+ $values = array();
1195
  }
1196
  foreach ( $fields as $field_name => $default ) {
1197
  if ( ! isset( $values[ $field_name ] ) && $default !== 1) { // @since 5.7.2 TODO refactor $default !== 1 to more obvious
1299
 
1300
  }
1301
 
 
1302
  if ( ! empty( $option ) ) {
1303
+ if ( isset( $united[ $option ] ) ) {
1304
+ return $united[ $option ];
1305
  }
1306
  else {
1307
  return false;
1308
  }
1309
  }
1310
 
1311
+ return $united;
1312
  }
1313
 
1314
  /**
1315
  * @param string $option Name of site option
1316
+ * @param boolean $unserialize If true the value of the option must be unserialized
1317
  *
1318
+ * @return null|array|string
1319
  * @since 5.8.7
1320
  */
1321
+ function cerber_get_site_option($option = '', $unserialize = true){
1322
  global $wpdb;
1323
  static $values = array();
1324
 
1329
  /**
1330
  * For some hosting environments it might be faster, e.g. Redis enabled
1331
  */
1332
+ if ( defined( 'CERBER_WP_OPTIONS' ) && CERBER_WP_OPTIONS ) {
1333
+ return get_site_option( $option, null );
1334
  }
1335
 
1336
  if (isset($values[$option])){
1345
  }
1346
 
1347
  if ( $value ) {
1348
+ if ( $unserialize ) {
1349
+ $value = @unserialize( $value );
1350
+ if ( ! is_array( $value ) ) {
1351
+ $value = null;
1352
+ }
1353
  }
1354
  }
1355
  else {
whois.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /*
3
- Copyright (C) 2015-17 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
1
  <?php
2
  /*
3
+ Copyright (C) 2015-18 CERBER TECH INC., Gregory Markov, https://wpcerber.com
4
 
5
  Licenced under the GNU GPL.
6
 
wp-cerber.php CHANGED
@@ -5,13 +5,13 @@
5
  Description: Protects site from brute force attacks, bots and hackers. Antispam protection with the Cerber antispam engine and reCAPTCHA. Comprehensive control of user activity. Restrict login by IP access lists. Limit login attempts. Know more: <a href="https://wpcerber.com">wpcerber.com</a>.
6
  Author: Gregory
7
  Author URI: https://wpcerber.com
8
- Version: 5.9
9
  Text Domain: wp-cerber
10
  Domain Path: /languages
11
  Network: true
12
 
13
- Copyright (C) 2015-17 CERBER TECH INC., https://cerber.tech
14
- Copyright (C) 2015-17 Gregory Markov, https://wpcerber.com
15
 
16
  Licenced under the GNU GPL.
17
 
@@ -61,8 +61,9 @@ if ( ! defined( 'WPINC' ) ) {
61
  exit;
62
  }
63
 
64
- define( 'CERBER_VER', '5.9' );
65
  define( 'CERBER_LOG_TABLE', 'cerber_log' );
 
66
  define( 'CERBER_ACL_TABLE', 'cerber_acl' );
67
  define( 'CERBER_BLOCKS_TABLE', 'cerber_blocks' );
68
  define( 'CERBER_LAB_TABLE', 'cerber_lab' );
@@ -70,7 +71,6 @@ define( 'CERBER_LAB_IP_TABLE', 'cerber_lab_ip' );
70
  define( 'CERBER_LAB_NET_TABLE', 'cerber_lab_net' );
71
  define( 'CERBER_GEO_TABLE', 'cerber_countries' );
72
 
73
-
74
  define( 'WP_LOGIN_SCRIPT', 'wp-login.php' );
75
  define( 'WP_REG_URI', 'wp-register.php' );
76
  define( 'WP_XMLRPC_SCRIPT', 'xmlrpc.php' );
@@ -101,20 +101,21 @@ if ( defined( 'WP_ADMIN' ) || defined( 'WP_NETWORK_ADMIN' ) ) {
101
 
102
  // Critical stuff that must be executed first ==================================================
103
 
 
 
104
  cerber_upgrade_all();
105
 
106
- if ( cerber_is_http_get() ){
107
- $antibot = cerber_antibot_gene();
108
- if ($antibot && !empty($antibot[1])) {
109
- foreach ( $antibot[1] as $item ) {
110
- setcookie( $item[0], $item[1], time() + 3600, COOKIEPATH );
111
- }
112
  }
113
  }
114
 
115
- // =============================================================================================
116
-
117
 
 
118
 
119
  class WP_Cerber {
120
  private $remote_ip;
@@ -131,7 +132,6 @@ class WP_Cerber {
131
 
132
  final function __construct() {
133
 
134
- //$this->session_id = wp_generate_password( 16, false, false );
135
  $this->session_id = substr(str_shuffle('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'), 0, 24);
136
 
137
  // Load settings with filling missing (not-set) array keys
@@ -190,6 +190,7 @@ class WP_Cerber {
190
 
191
  }
192
 
 
193
  final public function getRemoteIp() {
194
  return $this->remote_ip;
195
  }
@@ -598,7 +599,27 @@ class WP_Cerber {
598
 
599
  global $wp_cerber;
600
  $wp_cerber = new WP_Cerber();
 
601
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
602
 
603
  /**
604
  *
@@ -661,7 +682,9 @@ add_action( 'init', 'cerber_wp_login_page', 20 );
661
  function cerber_wp_login_page() {
662
  if ( $path = crb_get_settings( 'loginpath' ) ) {
663
  if ( cerber_is_login_request() ) {
664
- define( 'DONOTCACHEPAGE', true ); // @since 5.7.6
 
 
665
  require( ABSPATH . WP_LOGIN_SCRIPT ); // load default wp-login.php form
666
  exit;
667
  }
@@ -685,7 +708,8 @@ function cerber_is_login_request() {
685
  return true;
686
  }
687
  }
688
- elseif ( strtolower( cerber_get_last_in_uri( true ) ) == WP_LOGIN_SCRIPT ) {
 
689
  return true;
690
  }
691
 
@@ -1325,7 +1349,7 @@ function cerber_access_control() {
1325
  $opt = $wp_cerber->getSettings();
1326
 
1327
  //$script = strtolower( cerber_get_last_in_uri(true) );
1328
- $script = strtolower( cerber_get_last_in_uri() );
1329
  if ( substr( $script, - 4 ) != '.php' ) {
1330
  $script .= '.php'; // Apache MultiViews enabled?
1331
  }
@@ -1436,7 +1460,7 @@ function cerber_post_control(){
1436
 
1437
  // Exceptions -----------------------------------------------------------------------
1438
 
1439
- if ( cerber_post_exception() ) {
1440
  return;
1441
  }
1442
 
@@ -1457,6 +1481,11 @@ function cerber_post_control(){
1457
  $cerber_status = 16; // TODO: refactor cerber_log, include this status as a second parameter
1458
  cerber_log( 18 );
1459
  }
 
 
 
 
 
1460
 
1461
  if ($deny){
1462
  cerber_forbidden_page();
@@ -1469,7 +1498,11 @@ function cerber_post_control(){
1469
  *
1470
  * @return bool
1471
  */
1472
- function cerber_post_exception(){
 
 
 
 
1473
 
1474
  // Admin || AJAX requests by unauthorized users
1475
  if ( is_admin() ) {
@@ -1551,7 +1584,8 @@ function cerber_block_rest() {
1551
 
1552
  if ( cerber_is_rest_url() ) {
1553
  cerber_log( 70 );
1554
- cerber_404_page();
 
1555
  }
1556
  }
1557
 
@@ -1663,7 +1697,7 @@ function cerber_cookie_bad( $cookie_elements ) {
1663
  Get special Cerber Sign for using with cookies
1664
  */
1665
  function cerber_get_groove() {
1666
- $groove = cerber_get_site_option( 'cerber-groove' );
1667
  if ( empty( $groove ) ) {
1668
  $groove = wp_generate_password( 16, false );
1669
  update_site_option( 'cerber-groove', $groove );
@@ -1682,7 +1716,7 @@ function cerber_check_groove( $hash = '' ) {
1682
  }
1683
  $hash = $_COOKIE['cerber_groove'];
1684
  }
1685
- $groove = get_site_option( 'cerber-groove' );
1686
  if ( $hash == md5( $groove ) ) {
1687
  return true;
1688
  }
@@ -1748,7 +1782,7 @@ function cerber_antibot_code($location) {
1748
  var form = document.forms[i];
1749
  <?php
1750
  foreach ( $values[0] as $value ) {
1751
- echo '$(form).append(\'<input type="hidden" name="' . $value[0] . '" value="' . $value[1] . '" />\');'."\n";
1752
  }
1753
  ?>
1754
  }
@@ -1758,7 +1792,7 @@ function cerber_antibot_code($location) {
1758
  $(document).on('submit', 'form', function () {
1759
  <?php
1760
  foreach ( $values[0] as $value ) {
1761
- echo '$(this).append(\'<input type="hidden" name="' . $value[0] . '" value="' . $value[1] . '" />\');'."\n";
1762
  }
1763
  ?>
1764
  return true;
@@ -1768,9 +1802,11 @@ function cerber_antibot_code($location) {
1768
 
1769
  jQuery.ajaxSetup({
1770
  beforeSend: function (e, data) {
1771
- //console.log('AHA!');
1772
  //console.log(Object.getOwnPropertyNames(data).sort());
1773
- //console.log(data.xhr);
 
 
1774
 
1775
  if (typeof data.data === 'object' && data.data !== null) {
1776
  <?php
@@ -1800,30 +1836,34 @@ function cerber_antibot_code($location) {
1800
  *
1801
  * @return array|bool
1802
  */
1803
- function cerber_antibot_gene() {
1804
 
1805
  if ( !crb_get_settings('botsany') && !crb_get_settings('botscomm') && !crb_get_settings('botsreg') ) {
1806
  return false;
1807
  }
1808
 
1809
- $ret = cerber_get_site_option( 'cerber-antibot' );
1810
 
1811
- if ( ! $ret ) {
 
 
 
 
1812
 
1813
  $ret = array();
1814
 
1815
  $max = rand( 2, 4 );
1816
  for ( $i = 1; $i <= $max; $i ++ ) {
1817
- $length = rand( 10, 16 );
1818
- $string1 = str_shuffle( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' );
1819
  $string2 = str_shuffle( '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.@*_[]' );
1820
  $ret[0][] = array( substr( $string1, 0, $length ), substr( $string2, 0, $length ) );
1821
  }
1822
 
1823
  $max = rand( 2, 4 );
1824
  for ( $i = 1; $i <= $max; $i ++ ) {
1825
- $length = rand( 10, 16 );
1826
- $string1 = str_shuffle( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' );
1827
  $string2 = str_shuffle( '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.@*_[]' );
1828
  $ret[1][] = array( substr( $string1, 0, $length ), substr( $string2, 0, $length ) );
1829
  }
@@ -2009,24 +2049,28 @@ add_filter( 'auth_cookie_expiration', function ( $expire ) {
2009
 
2010
  // Track various activity -------------------------------------------------------------------------
2011
 
2012
- add_action( 'wp_login', function( $login, $user ) {
 
2013
  if ( ! empty( $_POST['log'] ) ) { // default WP form
2014
- $user_login = htmlspecialchars($_POST['log']);
2015
  }
2016
  else {
2017
  $user_login = $login;
2018
  }
2019
- cerber_log( 5, $user_login, $user->ID);
 
2020
  }, 10, 2 );
2021
 
2022
  /**
2023
  * Catching some cases of authentication without using login form or not a default user login process
2024
  */
2025
  add_action( 'set_auth_cookie', function () {
2026
- add_action('shutdown', function(){ // deferred to allow the possible 'wp_login' action be logged first
2027
- cerber_log( 5, '', get_current_user_id());
2028
- });
2029
- });
 
 
2030
 
2031
  /*add_action( 'wp_logout', function() {
2032
  global $user_ID;
@@ -2235,6 +2279,7 @@ function cerber_get_block( $ip = '' ) {
2235
  global $wpdb, $wp_cerber;
2236
 
2237
  if ( ! $ip ) {
 
2238
  $ip = $wp_cerber->getRemoteIp();
2239
  }
2240
 
@@ -2334,9 +2379,9 @@ function cerber_get_remain_count( $ip = '', $check_acl = true, $activity = '7,51
2334
  * @return bool
2335
  */
2336
  function cerber_is_allowed( $ip = '' ) {
2337
- global $wp_cerber;
2338
 
2339
  if ( ! $ip ) {
 
2340
  $ip = $wp_cerber->getRemoteIp();
2341
  }
2342
 
@@ -2403,7 +2448,7 @@ function cerber_get_status( $ip ) {
2403
  global $cerber_status;
2404
 
2405
  if ( ! empty( $cerber_status ) ) {
2406
- return $cerber_status;
2407
  }
2408
 
2409
  if ( cerber_block_check( $ip ) ) {
@@ -2550,7 +2595,9 @@ function cerber_acl_check( $ip = null, $tag = '' ) {
2550
  static $cache; // @since 5.26
2551
 
2552
  if ( ! $ip ) {
 
2553
  $ip = $wp_cerber->getRemoteIp();
 
2554
  }
2555
 
2556
  $key = cerber_get_id_ip( $ip ) . $tag;
@@ -2673,7 +2720,8 @@ function cerber_is_ip_or_net( $ip ) {
2673
  }
2674
  // WILDCARD: 192.168.1.*
2675
  $ip = str_replace( '*', '0', $ip );
2676
- if ( @inet_pton( $ip ) ) {
 
2677
  return true;
2678
  }
2679
  // CIDR: 192.168.1/24
@@ -2855,24 +2903,39 @@ function cerber_is_ip_in_range( $range, $ip = null ) {
2855
  return false;
2856
  }
2857
 
2858
- /*
2859
- Display 404 page to bump bots and bad guys
2860
- */
2861
- function cerber_404_page() {
 
 
2862
  global $wp_query;
2863
- status_header( '404' );
2864
- $wp_query->set_404();
2865
 
2866
- if ( 0 == crb_get_settings( 'page404' ) ) {
2867
- $template = apply_filters( 'cerber_404_template', get_404_template() );
2868
- if ( @file_exists( $template ) ) {
2869
- include( $template );
2870
- exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2871
  }
2872
  }
2873
 
2874
  header( 'HTTP/1.0 404 Not Found', true, 404 );
2875
  echo '<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL ' . esc_url( $_SERVER['REQUEST_URI'] ) . ' was not found on this server.</p></body></html>';
 
2876
  exit;
2877
  }
2878
  /*
@@ -2895,6 +2958,7 @@ function cerber_forbidden_page() {
2895
  </body>
2896
  </html>
2897
  <?php
 
2898
  exit;
2899
  }
2900
 
@@ -2969,7 +3033,15 @@ function cerber_send_notify( $type = '', $msg = '', $ip = '' ) {
2969
  return false;
2970
  }
2971
 
2972
- if ( $type == 'lockout' && !is_super_admin()) {
 
 
 
 
 
 
 
 
2973
  $rate = absint( $wp_cerber->getSettings( 'emailrate' ) );
2974
  if ( $rate ) {
2975
  $last = get_transient( 'cerber_last' );
@@ -3123,7 +3195,7 @@ function cerber_send_notify( $type = '', $msg = '', $ip = '' ) {
3123
  $footer .= "\n\n" . __( 'Your login page:', 'wp-cerber' ) . ' ' . $lourl;
3124
  }
3125
 
3126
- if ( $type == 'report' && $date = lab_lab() ) {
3127
  $footer .= "\n\n" . __( 'Your license is valid until', 'wp-cerber' ) . ' ' . $date;
3128
  }
3129
 
@@ -3162,11 +3234,13 @@ function cerber_send_notify( $type = '', $msg = '', $ip = '' ) {
3162
  }
3163
  }
3164
  else {
3165
- $body = $body . $footer;
3166
- if ( $html_mode ) {
3167
- $body = '<html>' . $body . '</html>';
 
 
 
3168
  }
3169
- $result = wp_mail( $to, $subj, $body );
3170
  }
3171
  }
3172
  else {
@@ -3295,12 +3369,15 @@ function cerber_do_hourly($force = false) {
3295
  lab_check_nodes();
3296
  }
3297
 
3298
- $days = absint( crb_get_settings( 'keeplog' ) );
3299
  $time = time();
3300
-
3301
  if ( $days > 0 ) {
3302
  $wpdb->query( 'DELETE FROM ' . CERBER_LOG_TABLE . ' WHERE stamp < ' . ( $time - $days * 24 * 3600 ) );
3303
  }
 
 
 
 
3304
 
3305
  if ( crb_get_settings( 'cerberlab' ) ) {
3306
  cerber_push_lab();
@@ -3325,12 +3402,18 @@ function cerber_do_hourly($force = false) {
3325
 
3326
  add_action( 'cerber_hourly_2', function () {
3327
 
3328
- if (is_multisite()) {
 
 
 
 
 
 
3329
  if ( get_site_transient( 'cerber_multisite2' ) ) {
3330
  return;
3331
  }
3332
  set_site_transient( 'cerber_multisite2', 'executed', 3600 );
3333
- }
3334
 
3335
  $gmt_offset = get_option( 'gmt_offset' ) * 3600;
3336
 
@@ -3344,6 +3427,9 @@ add_action( 'cerber_hourly_2', function () {
3344
  update_site_option( '_cerber_report', array( time(), $result ) );
3345
  }
3346
 
 
 
 
3347
  });
3348
 
3349
  add_action( 'cerber_daily', 'cerber_do_daily' );
@@ -3361,6 +3447,7 @@ function cerber_do_daily() {
3361
  $wpdb->query( 'DELETE FROM ' . CERBER_LAB_NET_TABLE . ' WHERE expires < ' . $time );
3362
 
3363
  $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_LOG_TABLE );
 
3364
  $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_ACL_TABLE );
3365
  $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_BLOCKS_TABLE );
3366
  $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_LAB_TABLE );
@@ -3416,15 +3503,16 @@ function cerber_plugin_file() {
3416
  * @since 3.0
3417
  */
3418
  function cerber_log( $activity, $login = '', $user_id = 0, $ip = null ) {
3419
- global $wpdb, $wp_cerber, $cerber_logged;
3420
  static $logged = array();
 
3421
 
3422
- if ( isset( $logged[$activity] ) ) {
3423
  return false;
3424
  }
3425
  else {
3426
- $logged[$activity] = true;
3427
- }
3428
 
3429
  $cerber_logged[$activity] = $activity;
3430
 
@@ -3439,11 +3527,16 @@ function cerber_log( $activity, $login = '', $user_id = 0, $ip = null ) {
3439
  else {
3440
  $ip_long = 1;
3441
  }
 
3442
  if ( empty( $user_id ) ) {
3443
- $user_id = 0;
 
 
 
3444
  }
3445
 
3446
- $stamp = microtime( true );
 
3447
 
3448
  $pos = strpos($_SERVER['REQUEST_URI'],'?');
3449
  if ($pos) {
@@ -3486,7 +3579,7 @@ function cerber_log( $activity, $login = '', $user_id = 0, $ip = null ) {
3486
 
3487
  // Subscriptions - notifications for admin ---------------------------------------------------
3488
 
3489
- $subs = get_site_option( '_cerber_subs', null );
3490
 
3491
  if (!empty($subs)) {
3492
  foreach ( $subs as $hash => $sub ) {
@@ -3528,7 +3621,7 @@ function cerber_log( $activity, $login = '', $user_id = 0, $ip = null ) {
3528
 
3529
  $msg .= __( 'IP', 'wp-cerber' ) . ': ' . $ip . $coname. "\n\n";
3530
 
3531
- if ( $user_id ) {
3532
  $u = get_userdata( $user_id );
3533
  $msg .= __( 'User', 'wp-cerber' ) . ': ' . $u->display_name . "\n\n";
3534
  }
@@ -3793,13 +3886,13 @@ function cerber_stop_activating( $msg ) {
3793
  *
3794
  */
3795
  function cerber_upgrade_all() {
3796
- $ver = get_site_option( '_cerber_up', false );
3797
  if ( ! $ver || $ver['v'] != CERBER_VER ) {
3798
  cerber_create_db();
3799
  cerber_upgrade_db();
3800
  cerber_push_the_news( CERBER_VER );
3801
  cerber_acl_fixer();
3802
- cerber_antibot_gene();
3803
  cerber_upgrade_options();
3804
  wp_clear_scheduled_hook( 'cerber_hourly' ); // @since 5.8
3805
  update_site_option( '_cerber_up', array( 'v' => CERBER_VER, 't' => time() ) );
@@ -3909,6 +4002,31 @@ function cerber_create_db($recreate = true) {
3909
  ';
3910
  }
3911
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3912
  foreach ( $sql as $query ) {
3913
  if ( ! $wpdb->query( $query ) && $wpdb->last_error ) {
3914
  $db_errors[] = array( $wpdb->last_error, $wpdb->last_query );
@@ -4213,4 +4331,501 @@ function cerber_foo() {
4213
  </script>
4214
  <script src = "https://www.google.com/recaptcha/api.js?hl=<?php echo cerber_recaptcha_lang(); ?>" async defer></script>
4215
  <?php
4216
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  Description: Protects site from brute force attacks, bots and hackers. Antispam protection with the Cerber antispam engine and reCAPTCHA. Comprehensive control of user activity. Restrict login by IP access lists. Limit login attempts. Know more: <a href="https://wpcerber.com">wpcerber.com</a>.
6
  Author: Gregory
7
  Author URI: https://wpcerber.com
8
+ Version: 6.0
9
  Text Domain: wp-cerber
10
  Domain Path: /languages
11
  Network: true
12
 
13
+ Copyright (C) 2015-18 CERBER TECH INC., https://cerber.tech
14
+ Copyright (C) 2015-18 Gregory Markov, https://wpcerber.com
15
 
16
  Licenced under the GNU GPL.
17
 
61
  exit;
62
  }
63
 
64
+ define( 'CERBER_VER', '6.0' );
65
  define( 'CERBER_LOG_TABLE', 'cerber_log' );
66
+ define( 'CERBER_TRAF_TABLE', 'cerber_traffic' );
67
  define( 'CERBER_ACL_TABLE', 'cerber_acl' );
68
  define( 'CERBER_BLOCKS_TABLE', 'cerber_blocks' );
69
  define( 'CERBER_LAB_TABLE', 'cerber_lab' );
71
  define( 'CERBER_LAB_NET_TABLE', 'cerber_lab_net' );
72
  define( 'CERBER_GEO_TABLE', 'cerber_countries' );
73
 
 
74
  define( 'WP_LOGIN_SCRIPT', 'wp-login.php' );
75
  define( 'WP_REG_URI', 'wp-register.php' );
76
  define( 'WP_XMLRPC_SCRIPT', 'xmlrpc.php' );
101
 
102
  // Critical stuff that must be executed first ==================================================
103
 
104
+ cerber_request_time();
105
+
106
  cerber_upgrade_all();
107
 
108
+ cerber_beast();
109
+
110
+ $antibot = cerber_antibot_gene();
111
+ if ( $antibot && ! empty( $antibot[1] ) ) {
112
+ foreach ( $antibot[1] as $item ) {
113
+ setcookie( $item[0], $item[1], time() + 3600, COOKIEPATH );
114
  }
115
  }
116
 
 
 
117
 
118
+ // =============================================================================================
119
 
120
  class WP_Cerber {
121
  private $remote_ip;
132
 
133
  final function __construct() {
134
 
 
135
  $this->session_id = substr(str_shuffle('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'), 0, 24);
136
 
137
  // Load settings with filling missing (not-set) array keys
190
 
191
  }
192
 
193
+ // TODO: replace it with cerber_get_remote_ip()
194
  final public function getRemoteIp() {
195
  return $this->remote_ip;
196
  }
599
 
600
  global $wp_cerber;
601
  $wp_cerber = new WP_Cerber();
602
+ get_wp_cerber();
603
 
604
+ /**
605
+ * Return correct WP_Cerber object
606
+ * Set global $wp_cerber
607
+ *
608
+ * @return WP_Cerber
609
+ * @since 6.0
610
+ */
611
+ function get_wp_cerber(){
612
+ global $wp_cerber;
613
+ static $cerber;
614
+
615
+ if ( ! is_object( $cerber ) || !($cerber instanceof WP_Cerber)) {
616
+ $cerber = new WP_Cerber();
617
+ }
618
+
619
+ $wp_cerber = $cerber;
620
+
621
+ return $cerber;
622
+ }
623
 
624
  /**
625
  *
682
  function cerber_wp_login_page() {
683
  if ( $path = crb_get_settings( 'loginpath' ) ) {
684
  if ( cerber_is_login_request() ) {
685
+ if ( ! defined( 'DONOTCACHEPAGE' ) ) {
686
+ define( 'DONOTCACHEPAGE', true ); // @since 5.7.6
687
+ }
688
  require( ABSPATH . WP_LOGIN_SCRIPT ); // load default wp-login.php form
689
  exit;
690
  }
708
  return true;
709
  }
710
  }
711
+ //elseif ( strtolower( cerber_parse_uri( true ) ) == WP_LOGIN_SCRIPT ) {
712
+ elseif ( cerber_parse_uri() == WP_LOGIN_SCRIPT ) {
713
  return true;
714
  }
715
 
1349
  $opt = $wp_cerber->getSettings();
1350
 
1351
  //$script = strtolower( cerber_get_last_in_uri(true) );
1352
+ $script = cerber_parse_uri();
1353
  if ( substr( $script, - 4 ) != '.php' ) {
1354
  $script .= '.php'; // Apache MultiViews enabled?
1355
  }
1460
 
1461
  // Exceptions -----------------------------------------------------------------------
1462
 
1463
+ if ( cerber_is_post_exception() ) {
1464
  return;
1465
  }
1466
 
1481
  $cerber_status = 16; // TODO: refactor cerber_log, include this status as a second parameter
1482
  cerber_log( 18 );
1483
  }
1484
+ elseif ( lab_is_blocked( null, true ) ) {
1485
+ $deny = true;
1486
+ $cerber_status = 18;
1487
+ cerber_log( 18 );
1488
+ }
1489
 
1490
  if ($deny){
1491
  cerber_forbidden_page();
1498
  *
1499
  * @return bool
1500
  */
1501
+ function cerber_is_post_exception(){
1502
+
1503
+ if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
1504
+ return true;
1505
+ }
1506
 
1507
  // Admin || AJAX requests by unauthorized users
1508
  if ( is_admin() ) {
1584
 
1585
  if ( cerber_is_rest_url() ) {
1586
  cerber_log( 70 );
1587
+ //cerber_404_page();
1588
+ cerber_forbidden_page(); // @since 6.0
1589
  }
1590
  }
1591
 
1697
  Get special Cerber Sign for using with cookies
1698
  */
1699
  function cerber_get_groove() {
1700
+ $groove = cerber_get_site_option( 'cerber-groove', false );
1701
  if ( empty( $groove ) ) {
1702
  $groove = wp_generate_password( 16, false );
1703
  update_site_option( 'cerber-groove', $groove );
1716
  }
1717
  $hash = $_COOKIE['cerber_groove'];
1718
  }
1719
+ $groove = cerber_get_site_option( 'cerber-groove', false );
1720
  if ( $hash == md5( $groove ) ) {
1721
  return true;
1722
  }
1782
  var form = document.forms[i];
1783
  <?php
1784
  foreach ( $values[0] as $value ) {
1785
+ echo 'if ($(form).attr("method") != "get") { $(form).append(\'<input type="hidden" name="' . $value[0] . '" value="' . $value[1] . '" />\'); }'."\n";
1786
  }
1787
  ?>
1788
  }
1792
  $(document).on('submit', 'form', function () {
1793
  <?php
1794
  foreach ( $values[0] as $value ) {
1795
+ echo 'if ($(this).attr("method") != "get") { $(this).append(\'<input type="hidden" name="' . $value[0] . '" value="' . $value[1] . '" />\'); }'."\n";
1796
  }
1797
  ?>
1798
  return true;
1802
 
1803
  jQuery.ajaxSetup({
1804
  beforeSend: function (e, data) {
1805
+
1806
  //console.log(Object.getOwnPropertyNames(data).sort());
1807
+ //console.log(data.type);
1808
+
1809
+ if (data.type !== 'POST') return;
1810
 
1811
  if (typeof data.data === 'object' && data.data !== null) {
1812
  <?php
1836
  *
1837
  * @return array|bool
1838
  */
1839
+ function cerber_antibot_gene($recreate = false) {
1840
 
1841
  if ( !crb_get_settings('botsany') && !crb_get_settings('botscomm') && !crb_get_settings('botsreg') ) {
1842
  return false;
1843
  }
1844
 
1845
+ $ret = array();
1846
 
1847
+ if (!$recreate) {
1848
+ $ret = cerber_get_site_option( 'cerber-antibot' );
1849
+ }
1850
+
1851
+ if ( $recreate || !$ret ) {
1852
 
1853
  $ret = array();
1854
 
1855
  $max = rand( 2, 4 );
1856
  for ( $i = 1; $i <= $max; $i ++ ) {
1857
+ $length = rand( 6, 16 );
1858
+ $string1 = str_shuffle( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-' );
1859
  $string2 = str_shuffle( '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.@*_[]' );
1860
  $ret[0][] = array( substr( $string1, 0, $length ), substr( $string2, 0, $length ) );
1861
  }
1862
 
1863
  $max = rand( 2, 4 );
1864
  for ( $i = 1; $i <= $max; $i ++ ) {
1865
+ $length = rand( 6, 16 );
1866
+ $string1 = str_shuffle( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-' );
1867
  $string2 = str_shuffle( '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.@*_[]' );
1868
  $ret[1][] = array( substr( $string1, 0, $length ), substr( $string2, 0, $length ) );
1869
  }
2049
 
2050
  // Track various activity -------------------------------------------------------------------------
2051
 
2052
+ add_action( 'wp_login', function ( $login, $user ) {
2053
+ global $wp_cerber_user_id;
2054
  if ( ! empty( $_POST['log'] ) ) { // default WP form
2055
+ $user_login = htmlspecialchars( $_POST['log'] );
2056
  }
2057
  else {
2058
  $user_login = $login;
2059
  }
2060
+ $wp_cerber_user_id = $user->ID;
2061
+ cerber_log( 5, $user_login, $user->ID );
2062
  }, 10, 2 );
2063
 
2064
  /**
2065
  * Catching some cases of authentication without using login form or not a default user login process
2066
  */
2067
  add_action( 'set_auth_cookie', function () {
2068
+ add_action( 'shutdown', function () { // deferred to allow the possible 'wp_login' action be logged first
2069
+ if ($user_id = get_current_user_id()) {
2070
+ cerber_log( 5, '', $user_id );
2071
+ }
2072
+ } );
2073
+ } );
2074
 
2075
  /*add_action( 'wp_logout', function() {
2076
  global $user_ID;
2279
  global $wpdb, $wp_cerber;
2280
 
2281
  if ( ! $ip ) {
2282
+ $wp_cerber = get_wp_cerber();
2283
  $ip = $wp_cerber->getRemoteIp();
2284
  }
2285
 
2379
  * @return bool
2380
  */
2381
  function cerber_is_allowed( $ip = '' ) {
 
2382
 
2383
  if ( ! $ip ) {
2384
+ $wp_cerber = get_wp_cerber();
2385
  $ip = $wp_cerber->getRemoteIp();
2386
  }
2387
 
2448
  global $cerber_status;
2449
 
2450
  if ( ! empty( $cerber_status ) ) {
2451
+ return absint($cerber_status);
2452
  }
2453
 
2454
  if ( cerber_block_check( $ip ) ) {
2595
  static $cache; // @since 5.26
2596
 
2597
  if ( ! $ip ) {
2598
+ $wp_cerber = get_wp_cerber();
2599
  $ip = $wp_cerber->getRemoteIp();
2600
+ //$ip = cerber_get_remote_ip();
2601
  }
2602
 
2603
  $key = cerber_get_id_ip( $ip ) . $tag;
2720
  }
2721
  // WILDCARD: 192.168.1.*
2722
  $ip = str_replace( '*', '0', $ip );
2723
+ //if ( @inet_pton( $ip ) ) {
2724
+ if ( filter_var( $ip, FILTER_VALIDATE_IP ) ) {
2725
  return true;
2726
  }
2727
  // CIDR: 192.168.1/24
2903
  return false;
2904
  }
2905
 
2906
+ /**
2907
+ * Display 404 page to bump bots and bad guys
2908
+ *
2909
+ * @param bool $simple If true force displaying basic 404 page
2910
+ */
2911
+ function cerber_404_page($simple = false) {
2912
  global $wp_query;
 
 
2913
 
2914
+ if ( !$simple ) {
2915
+ if ( function_exists( 'status_header' ) ) {
2916
+ status_header( '404' );
2917
+ }
2918
+ if ( $wp_query && is_object( $wp_query ) ) {
2919
+ $wp_query->set_404();
2920
+ }
2921
+ if ( 0 == crb_get_settings( 'page404' ) ) {
2922
+ $template = null;
2923
+ if ( function_exists( 'get_404_template' ) ) {
2924
+ $template = get_404_template();
2925
+ }
2926
+ if ( function_exists( 'apply_filters' ) ) {
2927
+ $template = apply_filters( 'cerber_404_template', $template );
2928
+ }
2929
+ if ( $template && @file_exists( $template ) ) {
2930
+ include( $template );
2931
+ exit;
2932
+ }
2933
  }
2934
  }
2935
 
2936
  header( 'HTTP/1.0 404 Not Found', true, 404 );
2937
  echo '<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL ' . esc_url( $_SERVER['REQUEST_URI'] ) . ' was not found on this server.</p></body></html>';
2938
+ cerber_traffic_log(); // do not remove!
2939
  exit;
2940
  }
2941
  /*
2958
  </body>
2959
  </html>
2960
  <?php
2961
+ cerber_traffic_log(); // do not remove!
2962
  exit;
2963
  }
2964
 
3033
  return false;
3034
  }
3035
 
3036
+ /*
3037
+ $super = false;
3038
+ if ( function_exists( 'is_super_admin' ) ) {
3039
+ $super = is_super_admin();
3040
+ }
3041
+ if ( $type == 'lockout' && !$usper()) {
3042
+ */
3043
+
3044
+ if ( $type == 'lockout' && !is_admin()) {
3045
  $rate = absint( $wp_cerber->getSettings( 'emailrate' ) );
3046
  if ( $rate ) {
3047
  $last = get_transient( 'cerber_last' );
3195
  $footer .= "\n\n" . __( 'Your login page:', 'wp-cerber' ) . ' ' . $lourl;
3196
  }
3197
 
3198
+ if ( $type == 'report' && $date = lab_lab(true) ) {
3199
  $footer .= "\n\n" . __( 'Your license is valid until', 'wp-cerber' ) . ' ' . $date;
3200
  }
3201
 
3234
  }
3235
  }
3236
  else {
3237
+ if ( function_exists( 'wp_mail' ) ) {
3238
+ $body = $body . $footer;
3239
+ if ( $html_mode ) {
3240
+ $body = '<html>' . $body . '</html>';
3241
+ }
3242
+ $result = wp_mail( $to, $subj, $body );
3243
  }
 
3244
  }
3245
  }
3246
  else {
3369
  lab_check_nodes();
3370
  }
3371
 
 
3372
  $time = time();
3373
+ $days = absint( crb_get_settings( 'keeplog' ) );
3374
  if ( $days > 0 ) {
3375
  $wpdb->query( 'DELETE FROM ' . CERBER_LOG_TABLE . ' WHERE stamp < ' . ( $time - $days * 24 * 3600 ) );
3376
  }
3377
+ $days = absint( crb_get_settings( 'tikeeprec' ) );
3378
+ if ( $days > 0 ) {
3379
+ $wpdb->query( 'DELETE FROM ' . CERBER_TRAF_TABLE . ' WHERE stamp < ' . ( $time - $days * 24 * 3600 ) );
3380
+ }
3381
 
3382
  if ( crb_get_settings( 'cerberlab' ) ) {
3383
  cerber_push_lab();
3402
 
3403
  add_action( 'cerber_hourly_2', function () {
3404
 
3405
+ // Avoid multiple executions on a weird hosting
3406
+ if ( get_site_transient( 'crb_hourly_2' ) ) {
3407
+ return;
3408
+ }
3409
+
3410
+ /*
3411
+ if (is_multisite()) {
3412
  if ( get_site_transient( 'cerber_multisite2' ) ) {
3413
  return;
3414
  }
3415
  set_site_transient( 'cerber_multisite2', 'executed', 3600 );
3416
+ }*/
3417
 
3418
  $gmt_offset = get_option( 'gmt_offset' ) * 3600;
3419
 
3427
  update_site_option( '_cerber_report', array( time(), $result ) );
3428
  }
3429
 
3430
+ cerber_watchdog( true );
3431
+
3432
+ set_site_transient( 'crb_hourly_2', 'executed', 3600 );
3433
  });
3434
 
3435
  add_action( 'cerber_daily', 'cerber_do_daily' );
3447
  $wpdb->query( 'DELETE FROM ' . CERBER_LAB_NET_TABLE . ' WHERE expires < ' . $time );
3448
 
3449
  $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_LOG_TABLE );
3450
+ $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_TRAF_TABLE );
3451
  $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_ACL_TABLE );
3452
  $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_BLOCKS_TABLE );
3453
  $wpdb->query( 'OPTIMIZE TABLE ' . CERBER_LAB_TABLE );
3503
  * @since 3.0
3504
  */
3505
  function cerber_log( $activity, $login = '', $user_id = 0, $ip = null ) {
3506
+ global $wpdb, $user_ID, $cerber_logged;
3507
  static $logged = array();
3508
+ $wp_cerber = get_wp_cerber();
3509
 
3510
+ if ( isset( $logged[ $activity ] ) ) {
3511
  return false;
3512
  }
3513
  else {
3514
+ $logged[ $activity ] = true;
3515
+ }
3516
 
3517
  $cerber_logged[$activity] = $activity;
3518
 
3527
  else {
3528
  $ip_long = 1;
3529
  }
3530
+
3531
  if ( empty( $user_id ) ) {
3532
+ if ($user_ID) {
3533
+ $user_id = absint($user_ID);
3534
+ }
3535
+ else $user_ID = 0;
3536
  }
3537
 
3538
+ //$stamp = microtime( true );
3539
+ $stamp = cerber_request_time();
3540
 
3541
  $pos = strpos($_SERVER['REQUEST_URI'],'?');
3542
  if ($pos) {
3579
 
3580
  // Subscriptions - notifications for admin ---------------------------------------------------
3581
 
3582
+ $subs = cerber_get_site_option( '_cerber_subs' );
3583
 
3584
  if (!empty($subs)) {
3585
  foreach ( $subs as $hash => $sub ) {
3621
 
3622
  $msg .= __( 'IP', 'wp-cerber' ) . ': ' . $ip . $coname. "\n\n";
3623
 
3624
+ if ( $user_id && function_exists('get_userdata')) {
3625
  $u = get_userdata( $user_id );
3626
  $msg .= __( 'User', 'wp-cerber' ) . ': ' . $u->display_name . "\n\n";
3627
  }
3886
  *
3887
  */
3888
  function cerber_upgrade_all() {
3889
+ $ver = cerber_get_site_option( '_cerber_up' );
3890
  if ( ! $ver || $ver['v'] != CERBER_VER ) {
3891
  cerber_create_db();
3892
  cerber_upgrade_db();
3893
  cerber_push_the_news( CERBER_VER );
3894
  cerber_acl_fixer();
3895
+ cerber_antibot_gene(true);
3896
  cerber_upgrade_options();
3897
  wp_clear_scheduled_hook( 'cerber_hourly' ); // @since 5.8
3898
  update_site_option( '_cerber_up', array( 'v' => CERBER_VER, 't' => time() ) );
4002
  ';
4003
  }
4004
 
4005
+ if (!cerber_is_table(CERBER_TRAF_TABLE)){
4006
+ $sql[] = '
4007
+ CREATE TABLE IF NOT EXISTS ' . CERBER_TRAF_TABLE . ' (
4008
+ ip varchar(39) CHARACTER SET ascii NOT NULL,
4009
+ ip_long BIGINT UNSIGNED NOT NULL DEFAULT "0",
4010
+ hostname varchar(250) NOT NULL DEFAULT "",
4011
+ uri text NOT NULL,
4012
+ request_fields MEDIUMTEXT NOT NULL,
4013
+ request_details MEDIUMTEXT NOT NULL,
4014
+ session_id char(32) CHARACTER SET ascii NOT NULL,
4015
+ user_id bigint(20) UNSIGNED NOT NULL DEFAULT 0,
4016
+ stamp decimal(14,4) NOT NULL,
4017
+ processing int(10) NOT NULL DEFAULT 0,
4018
+ country char(3) CHARACTER SET ascii NOT NULL DEFAULT "",
4019
+ request_method char(8) CHARACTER SET ascii NOT NULL,
4020
+ http_code int(10) UNSIGNED NOT NULL,
4021
+ wp_id bigint(20) UNSIGNED NOT NULL DEFAULT 0,
4022
+ wp_type int(10) UNSIGNED NOT NULL DEFAULT 0,
4023
+ is_bot int(10) UNSIGNED NOT NULL DEFAULT 0,
4024
+ blog_id int(10) UNSIGNED NOT NULL DEFAULT 0,
4025
+ KEY stamp (stamp)
4026
+ ) DEFAULT CHARSET=utf8;
4027
+ ';
4028
+ }
4029
+
4030
  foreach ( $sql as $query ) {
4031
  if ( ! $wpdb->query( $query ) && $wpdb->last_error ) {
4032
  $db_errors[] = array( $wpdb->last_error, $wpdb->last_query );
4331
  </script>
4332
  <script src = "https://www.google.com/recaptcha/api.js?hl=<?php echo cerber_recaptcha_lang(); ?>" async defer></script>
4333
  <?php
4334
+ }
4335
+
4336
+
4337
+ // Traffic Logging ======================================================================
4338
+
4339
+ //add_action( 'wp', 'cerber_traffic_log' );
4340
+ add_action( 'shutdown', function () {
4341
+ cerber_traffic_log();
4342
+ } );
4343
+ register_shutdown_function( 'cerber_traffic_log' );
4344
+ /**
4345
+ * Traffic Logging
4346
+ *
4347
+ * @since 6.0
4348
+ */
4349
+ function cerber_traffic_log(){
4350
+ global $wpdb, $wp_query, $wp_cerber_user_id, $wp_cerber_start_stamp, $blog_id;
4351
+ static $logged = false;
4352
+
4353
+ if ( $logged ) {
4354
+ return;
4355
+ }
4356
+
4357
+ $wp_cerber = get_wp_cerber();
4358
+
4359
+ $wp_type = 0;
4360
+
4361
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
4362
+ if ( isset( $_POST['action'] ) && $_POST['action'] == 'heartbeat' ) {
4363
+ return;
4364
+ }
4365
+ $wp_type = 500;
4366
+ return;
4367
+ }
4368
+ elseif ( is_admin() ) {
4369
+ $wp_type = 501;
4370
+ return;
4371
+ }
4372
+ elseif ( defined( 'DOING_CRON' ) && DOING_CRON ) {
4373
+ $wp_type = 502;
4374
+ return;
4375
+ }
4376
+ elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) {
4377
+ $wp_type = 515;
4378
+ }
4379
+ elseif ( cerber_is_rest_url() ) {
4380
+ $wp_type = 520;
4381
+ }
4382
+ // Public part starts with 600
4383
+ elseif ( $wp_query && is_object( $wp_query ) ) {
4384
+ $wp_type = 600;
4385
+ if ( $wp_query->is_singular ) {
4386
+ $wp_type = 601;
4387
+ }
4388
+ elseif ( $wp_query->is_tag ) {
4389
+ $wp_type = 603;
4390
+ }
4391
+ elseif ( $wp_query->is_category ) {
4392
+ $wp_type = 604;
4393
+ }
4394
+ elseif ( $wp_query->is_search ) {
4395
+ $wp_type = 605;
4396
+ }
4397
+ }
4398
+
4399
+ if ( function_exists( 'http_response_code' ) ) { // PHP >= 5.4.0, PHP 7
4400
+ $http_code = http_response_code();
4401
+ }
4402
+ else {
4403
+ //get_status_header_desc()
4404
+ // TODO: Add detection for other HTTP codes for PHP 5.3
4405
+ $http_code = 200;
4406
+ if ( $wp_type > 600 ) {
4407
+ if ( $wp_query->is_404 ) {
4408
+ $http_code = 404;
4409
+ }
4410
+ }
4411
+ }
4412
+
4413
+ $user_id = 0;
4414
+ if ( function_exists( 'get_current_user_id' ) ) {
4415
+ $user_id = get_current_user_id();
4416
+ }
4417
+ if ( ! $user_id && $wp_cerber_user_id ) {
4418
+ $user_id = absint( $wp_cerber_user_id );
4419
+ }
4420
+
4421
+ if ( ! cerber_to_log( $wp_type, $http_code, $user_id ) ) {
4422
+ return;
4423
+ }
4424
+
4425
+ $logged = true;
4426
+
4427
+ $ua = '';
4428
+ if ( ! empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
4429
+ $ua = substr ($_SERVER['HTTP_USER_AGENT'], 0, 1000);
4430
+ }
4431
+
4432
+ $bot = cerber_is_crawler( $ua );
4433
+ if ( $bot && crb_get_settings( 'tinocrabs' ) ) {
4434
+ return;
4435
+ }
4436
+
4437
+ $ip = $wp_cerber->getRemoteIp();
4438
+ $ip_long = 0;
4439
+ if ( cerber_is_ipv4( $ip ) ) {
4440
+ $ip_long = ip2long( $ip );
4441
+ }
4442
+
4443
+ $wp_id = 0;
4444
+ if ( $wp_query && is_object( $wp_query ) ) {
4445
+ $wp_id = absint( $wp_query->get_queried_object_id() );
4446
+ }
4447
+
4448
+ $session_id = $wp_cerber->getSessionID();
4449
+ if ( is_ssl() ) {
4450
+ $scheme = 'https';
4451
+ }
4452
+ else {
4453
+ $scheme = 'http';
4454
+ }
4455
+ $uri = $scheme . '://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
4456
+ $method = preg_replace( '/[^\w]/', '', $_SERVER['REQUEST_METHOD'] );
4457
+
4458
+ // Request fields
4459
+
4460
+ $fields = '';
4461
+ if ( crb_get_settings( 'tifields' ) ) {
4462
+ $fields = array();
4463
+ if ( ! empty( $_POST ) ) {
4464
+ $fields[1] = cerber_prepare_fields( cerber_mask_fields( (array) $_POST ) );
4465
+ }
4466
+ if ( ! empty( $_GET ) ) {
4467
+ $fields[2] = cerber_prepare_fields( (array) $_GET );
4468
+ }
4469
+ if ( ! empty( $_FILES ) ) {
4470
+ $fields[3] = $_FILES;
4471
+ }
4472
+ if ( ! empty( $fields ) ) {
4473
+ $fields = serialize( $fields );
4474
+ }
4475
+ else {
4476
+ $fields = '';
4477
+ }
4478
+ }
4479
+
4480
+ // Extra request details
4481
+
4482
+ $details = array();
4483
+ if ( $ua ) {
4484
+ $details[1] = $ua;
4485
+ }
4486
+ if ( ! empty( $_SERVER['HTTP_REFERER'] ) ) {
4487
+ //$ref = mb_substr( $_SERVER['HTTP_REFERER'], 0, 1048576 ); // 1 Mb for ASCII
4488
+ $details[2] = filter_var( $_SERVER['HTTP_REFERER'], FILTER_SANITIZE_URL );
4489
+ }
4490
+ /*
4491
+ if ( ! empty( $_FILES ) ) {
4492
+ $details[3] = $_FILES;
4493
+ }*/
4494
+ if ( $wp_type == 605 && ! empty( $_GET['s'] ) ) {
4495
+ $details[4] = $_GET['s'];
4496
+ }
4497
+ if ( $wp_type == 515 ) {
4498
+ // TODO: add a setting to enable it because there is a user/password in the php://input
4499
+ //$details[5] = file_get_contents('php://input');
4500
+ }
4501
+ if ( crb_get_settings( 'tihdrs' ) ) {
4502
+ $hds = getallheaders();
4503
+ unset( $hds['Cookie'] );
4504
+ $details[6] = $hds;
4505
+ }
4506
+ if ( crb_get_settings( 'tisenv' ) ) {
4507
+ $srv = $_SERVER;
4508
+ unset( $srv['HTTP_COOKIE'] );
4509
+ $details[7] = $srv;
4510
+ }
4511
+ if ( crb_get_settings( 'ticandy' ) && ! empty( $_COOKIE ) ) {
4512
+ $details[8] = $_COOKIE;
4513
+ }
4514
+ if ( !empty( $details ) ) {
4515
+ /*
4516
+ foreach ( $details as &$detail ) {
4517
+ $detail = mb_substr($detail, 0, 1048576); // 1 Mb for ASCII
4518
+ }*/
4519
+ $details = cerber_prepare_fields( $details );
4520
+ $details = serialize($details);
4521
+ }
4522
+ else {
4523
+ $details = '';
4524
+ }
4525
+
4526
+ // Timestamps
4527
+ if ( ! empty( $wp_cerber_start_stamp ) && is_numeric( $wp_cerber_start_stamp ) ) {
4528
+ $stamp = (float)$wp_cerber_start_stamp; // define this variable: $wp_cerber_start_stamp = microtime( true ); in wp-config.php
4529
+ }
4530
+ else {
4531
+ $stamp = cerber_request_time();
4532
+ }
4533
+
4534
+ $processing = (int) ( 1000 * ( microtime( true ) - $stamp ) );
4535
+
4536
+ $uri = cerber_real_escape($uri);
4537
+ $fields = cerber_real_escape($fields);
4538
+ $details = cerber_real_escape($details);
4539
+
4540
+ //$uri = $wpdb->remove_placeholder_escape( esc_sql( $uri ) );
4541
+ //$fields = $wpdb->remove_placeholder_escape( esc_sql( $fields ) );
4542
+ //$details = $wpdb->remove_placeholder_escape( esc_sql( $details ) );
4543
+
4544
+ //$query = $wpdb->prepare( 'INSERT INTO ' . CERBER_TRAF_TABLE . ' (ip, ip_long, uri, request_fields , request_details, session_id, user_id, stamp, processing, request_method, http_code, wp_id, wp_type, is_bot, blog_id ) VALUES ("' .$ip .'", '. $ip_long . ', %s, %s, %s, "' . $session_id . '", ' . $user_id . ', ' . $stamp . ',' . $processing . ', "' . $method . '", ' . $http_code . ',' . $wp_id . ', ' . $wp_type . ', ' . $bot . ', ' . absint($blog_id) . ')', $uri, $fields, $details);
4545
+
4546
+ $query = 'INSERT INTO ' . CERBER_TRAF_TABLE . ' (ip, ip_long, uri, request_fields , request_details, session_id, user_id, stamp, processing, request_method, http_code, wp_id, wp_type, is_bot, blog_id ) VALUES ("' . $ip . '", ' . $ip_long . ',"' . $uri . '","' . $fields . '","' . $details . '", "' . $session_id . '", ' . $user_id . ', ' . $stamp . ',' . $processing . ', "' . $method . '", ' . $http_code . ',' . $wp_id . ', ' . $wp_type . ', ' . $bot . ', ' . absint( $blog_id ) . ')';
4547
+
4548
+ //$ret = $wpdb->query( $query );
4549
+
4550
+ $ret = cerber_direct_db_query( $query );
4551
+
4552
+ if (!$ret){
4553
+
4554
+ // mysqli_error($wpdb->dbh);
4555
+
4556
+ // TODO: Daily software error report
4557
+ /*
4558
+ echo mysqli_sqlstate($wpdb->dbh);
4559
+ echo $wpdb->last_error;
4560
+ echo "<p>\n";
4561
+ echo $uri;
4562
+ echo "<p>\n";
4563
+ echo '<p>ERR '.$query.$wpdb->last_error;
4564
+ echo '<p>'.$wpdb->_real_escape( $uri );
4565
+ */
4566
+ }
4567
+
4568
+ }
4569
+
4570
+ /**
4571
+ * Natively escape an SQL query
4572
+ * Based on $wpdb->_real_escape()
4573
+ *
4574
+ * The reason: https://make.wordpress.org/core/2017/10/31/changed-behaviour-of-esc_sql-in-wordpress-4-8-3/
4575
+ *
4576
+ * @param $string
4577
+ *
4578
+ * @return string
4579
+ * @since 6.0
4580
+ */
4581
+ function cerber_real_escape($string){
4582
+ global $wpdb;
4583
+ if ( $wpdb->use_mysqli ) {
4584
+ $escaped = mysqli_real_escape_string( $wpdb->dbh, $string );
4585
+ }
4586
+ else {
4587
+ $escaped = mysql_real_escape_string( $string, $wpdb->dbh );
4588
+ }
4589
+
4590
+ return $escaped;
4591
+ }
4592
+
4593
+ /**
4594
+ * Direct SQL query to the DB
4595
+ *
4596
+ * The reason: https://make.wordpress.org/core/2017/10/31/changed-behaviour-of-esc_sql-in-wordpress-4-8-3/
4597
+ *
4598
+ * @param $query
4599
+ *
4600
+ * @return bool|mysqli_result|resource
4601
+ * @since 6.0
4602
+ */
4603
+ function cerber_direct_db_query($query){
4604
+ global $wpdb;
4605
+ if ( $wpdb->use_mysqli ) {
4606
+ $ret = mysqli_query($wpdb->dbh, $query);
4607
+ }
4608
+ else {
4609
+ $ret = mysql_query($query, $wpdb->dbh);
4610
+ }
4611
+
4612
+ return $ret;
4613
+ }
4614
+
4615
+ /**
4616
+ * To log or not to log current request?
4617
+ *
4618
+ * @param $wp_type integer
4619
+ * @param $http_code integer
4620
+ * @param $user_id integer
4621
+ *
4622
+ * @return bool
4623
+ * @since 6.0
4624
+ */
4625
+ function cerber_to_log($wp_type = 0, $http_code, $user_id){
4626
+ global $cerber_logged;
4627
+
4628
+ $mode = crb_get_settings( 'timode' );
4629
+
4630
+ if ($mode == 0) {
4631
+ return false;
4632
+ }
4633
+ if ($mode == 2) {
4634
+ return true;
4635
+ }
4636
+
4637
+ // Smart mode
4638
+ if ( $http_code >= 400 ||
4639
+ $wp_type < 600 ||
4640
+ $user_id ||
4641
+ cerber_is_http_post() ||
4642
+ ! empty( $cerber_logged ) ||
4643
+ isset($_GET['s']) ||
4644
+ cerber_get_non_wp_fields()){
4645
+ return true;
4646
+ }
4647
+ $parse = cerber_parse_uri();
4648
+ if ( substr( $parse, - 4 ) == '.php' ) {
4649
+ return true;
4650
+ }
4651
+
4652
+ return false;
4653
+ }
4654
+
4655
+ /**
4656
+ * Mask sensitive request fields before saving in DB (avoid information leaks)
4657
+ *
4658
+ * @param $fields array
4659
+ *
4660
+ * @return array
4661
+ * @since 6.0
4662
+ */
4663
+ function cerber_mask_fields( $fields ) {
4664
+ $to_mask = array( 'pwd', 'pass', 'password' );
4665
+ if ($list = (array)crb_get_settings( 'timask' )){
4666
+ $to_mask = array_merge($to_mask, $list);
4667
+ }
4668
+ foreach ( $to_mask as $mask_field ) {
4669
+ if ( ! empty( $fields[ $mask_field ] ) ) {
4670
+ $fields[ $mask_field ] = str_pad( '', mb_strlen( $fields[ $mask_field ] ), '*' );
4671
+ }
4672
+ }
4673
+
4674
+ return $fields;
4675
+ }
4676
+
4677
+ /**
4678
+ * Recursive prepare values in array for inserting into DB
4679
+ *
4680
+ * @param $list
4681
+ *
4682
+ * @return mixed
4683
+ * @since 6.0
4684
+ */
4685
+ function cerber_prepare_fields( $list ) {
4686
+ foreach ( $list as &$field ) {
4687
+ if ( is_array( $field ) ) {
4688
+ cerber_prepare_fields( @$field );
4689
+ /*
4690
+ foreach ( $field as &$field_2 ) {
4691
+ $field_2 = mb_substr( $field_2, 0, 1048576 ); // 1 Mb for ASCII
4692
+ }*/
4693
+ }
4694
+ else {
4695
+ if ( ! $field ) {
4696
+ $field = '';
4697
+ }
4698
+ $field = mb_substr( $field, 0, 1048576 ); // 1 Mb for ASCII
4699
+ }
4700
+ }
4701
+
4702
+ $list = stripslashes_deep( $list );
4703
+
4704
+ return $list;
4705
+ }
4706
+
4707
+ /**
4708
+ * Request time
4709
+ *
4710
+ * @return mixed
4711
+ * @since 6.0
4712
+ */
4713
+ function cerber_request_time() {
4714
+ static $stamp;
4715
+
4716
+ if ( ! isset( $stamp ) ) {
4717
+ if ( ! empty( $_SERVER['REQUEST_TIME_FLOAT'] ) ) { // PHP >= 5.4
4718
+ $stamp = $_SERVER['REQUEST_TIME_FLOAT'];
4719
+ }
4720
+ else {
4721
+ $stamp = microtime( true );
4722
+ }
4723
+ }
4724
+
4725
+ return $stamp;
4726
+ }
4727
+
4728
+ /**
4729
+ * Return non WP public query fields
4730
+ *
4731
+ * @param array $fields An associative array field => value to check
4732
+ *
4733
+ * @return array
4734
+ * @since 6.0
4735
+ */
4736
+ function cerber_get_non_wp_fields($fields = array()) {
4737
+ global $wp_query;
4738
+
4739
+ if ( empty( $fields ) ) {
4740
+ $get_keys = array_keys( $_GET );
4741
+ }
4742
+ else {
4743
+ $get_keys = array_keys( $fields );
4744
+ }
4745
+
4746
+ if ( empty( $get_keys ) ) {
4747
+ return array();
4748
+ }
4749
+
4750
+ $keys = $wp_query->fill_query_vars( array() ); // WordPress GET fields
4751
+ $wp_keys = array_keys( $keys );
4752
+ $wp_keys[] = 'redirect_to';
4753
+ $wp_keys[] = 'reauth';
4754
+ $wp_keys[] = 'action';
4755
+ $wp_keys[] = '_wpnonce';
4756
+ $wp_keys[] = 'loggedout';
4757
+
4758
+ // WP Customizer fields
4759
+ $wp_keys = array_merge($wp_keys, array( 'nonce', '_method', 'wp_customize', 'changeset_uuid', 'customize_changeset_uuid', 'customize_theme', 'theme', 'customize_messenger_channel', 'customize_autosaved' ));
4760
+
4761
+ $ret = array_diff( $get_keys, $wp_keys );
4762
+
4763
+ if ( ! $ret ) {
4764
+ $ret = array();
4765
+ }
4766
+
4767
+ return $ret;
4768
+
4769
+ }
4770
+
4771
+
4772
+ /**
4773
+ *
4774
+ * @since 6.0
4775
+ */
4776
+ function cerber_beast(){
4777
+ global $cerber_status;
4778
+ //cerber_post_control();
4779
+ //cerber_access_control();
4780
+
4781
+ if ( !crb_get_settings( 'tienabled' ) ) {
4782
+ return;
4783
+ }
4784
+
4785
+ if ( is_admin() || ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
4786
+ return;
4787
+ }
4788
+
4789
+ // No checks for IPs from the White Access List
4790
+ $acl = cerber_acl_check();
4791
+ if ( $acl == 'W' ) {
4792
+ return;
4793
+ }
4794
+
4795
+ $uri_script = cerber_parse_uri();
4796
+
4797
+ if ( substr( $uri_script, - 4 ) == '.php' && isset( $_SERVER['SCRIPT_FILENAME'] ) ) {
4798
+ // Probing for scripts
4799
+ $script_file = trim( substr( $_SERVER['SCRIPT_FILENAME'], strrpos( $_SERVER['SCRIPT_FILENAME'], '/' ) + 1 ) );
4800
+ if ($script_file != $uri_script){ //
4801
+ $wp_cerber = get_wp_cerber();
4802
+ $cerber_status = 13;
4803
+ cerber_log( 55 );
4804
+ cerber_soft_block_add( $wp_cerber->getRemoteIp(), 8);
4805
+ //cerber_404_page( true );
4806
+ cerber_forbidden_page();
4807
+ }
4808
+ // Direct access to PHP script
4809
+ // TODO: add white list setting for permitted URI like query white list
4810
+ if ( ! in_array( $uri_script, cerber_get_wp_scripts() ) ) {
4811
+ $deny = false;
4812
+ if ( $acl == 'B' ) {
4813
+ $deny = true;
4814
+ $cerber_status = 14;
4815
+ }
4816
+ elseif (!cerber_is_allowed() ) {
4817
+ $deny = true;
4818
+ $cerber_status = 13;
4819
+ }
4820
+ elseif ( lab_is_blocked( null, true ) ) {
4821
+ $deny = true;
4822
+ $cerber_status = 15;
4823
+ }
4824
+ if ($deny){
4825
+ cerber_log( 50 );
4826
+ //cerber_404_page( true );
4827
+ cerber_forbidden_page();
4828
+ }
4829
+ }
4830
+ }
4831
+ }