NinjaFirewall (WP Edition) - Version 4.2.2

Version Description

  • WP+ Edition (Premium): NinjaFirewall can now scan ZIP archives. If you have enabled the "Allow uploads, but block dangerous files" firewall policy, you can also enable the "Apply to ZIP archives file contents" option so that the firewall will extract and scan the files found in ZIP archives. See "Firewall Policies > Basic Policies > File Uploads > Apply to ZIP archives file contents".
  • Added "preload" to the Strict-Transport-Security policy (HSTS) and the "max-age" value was increased up to 2 years (this is the recommended value for preload) in the "Firewall Policies > Advanced Policies > HTTP response headers" section.
  • The daily report will try to prevent WP Cron to send it twice on blogs that may have an issue with the task scheduler.
  • Fixed an issue with the captcha protection: some plugins are wrongly redirecting HTTP requests to get the favicon.ico file to the login page and thus trigger the firewall protection.
  • Better handling of the backslash character in the database password field.
  • Fixed potential "Call to a member function get_error_message on null" PHP error when checking security updates.
  • You can change the length of the payload that NinjaFirewall writes to its log, by defining the NFW_MAXPAYLOAD constant in the .htninja file. By default, the firewall will write up to 200 characters to the log.
  • The dashboard widget will cache the data for 30 minutes.
  • The login notification hook has a higher priority so that it will always be triggered before two-factor authentication plugins. The priority can be changed in the wp-config.php or .htninja file by defining the NFW_LOGINHOOK constant (current value is "-999999999", previous one was "999").
  • When creating a snapshot, File Check will exclude the Ninjascanner's cache folder if it is installed on the blog.
  • Many additional small fixes and adjustments.
  • WP+ Edition (Premium): Updated IPv4/IPv6/ASN GeoIP databases.
Download this release

Release Info

Developer nintechnet
Plugin Icon 128x128 NinjaFirewall (WP Edition)
Version 4.2.2
Comparing to
See all releases

Code changes from version 4.2.1 to 4.2.2

images/screenshots/file-uploads.png CHANGED
Binary file
languages/ninjafirewall-fr_FR.mo CHANGED
Binary file
languages/ninjafirewall-fr_FR.po CHANGED
@@ -4,8 +4,8 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: Stable (latest release)\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ninjafirewall\n"
7
- "POT-Creation-Date: 2020-05-05 19:20+0700\n"
8
- "PO-Revision-Date: 2020-05-05 19:20+0700\n"
9
  "Last-Translator: NinTechNet <contact@nintechnet.com>\n"
10
  "Language-Team: NinTechNet <nintechnet.com>\n"
11
  "Language: fr_FR\n"
@@ -16,7 +16,7 @@ msgstr ""
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "Plural-Forms: nplurals=2; plural=(n > 1);\n"
18
 
19
- #: lib/anti_malware.php:24 ninjafirewall.php:786
20
  msgid "Anti-Malware"
21
  msgstr "Anti-Malware"
22
 
@@ -92,7 +92,7 @@ msgstr "Oops! Le mode Full WAF n'est pas encore activé."
92
  msgid "NinjaFirewall (WP Edition)"
93
  msgstr "NinjaFirewall (WP Edition)"
94
 
95
- #: lib/dashboard.php:120 ninjafirewall.php:764
96
  msgid "Dashboard"
97
  msgstr "Tableau de Bord"
98
 
@@ -167,7 +167,7 @@ msgstr "Erreur inconnue"
167
  msgid "Firewall"
168
  msgstr "Pare-feu"
169
 
170
- #: lib/dashboard.php:187 lib/dashboard.php:323 lib/firewall_options.php:64
171
  #: lib/login_protection.php:203 lib/logs_live_log.php:101
172
  #: lib/monitoring_file_guard.php:70 lib/security_rules_update.php:138
173
  msgid "Enabled"
@@ -177,48 +177,49 @@ msgstr "Activé"
177
  msgid "Mode"
178
  msgstr "Mode"
179
 
180
- #: lib/dashboard.php:199 lib/dashboard.php:205
181
  #, php-format
182
- msgid "NinjaFirewall is running in %s mode."
183
- msgstr "NinjaFirewall fonctionne en mode %s."
 
 
 
 
184
 
185
- #: lib/dashboard.php:199
186
  msgid "WordPress WAF"
187
  msgstr "WordPress WAF"
188
 
189
- #: lib/dashboard.php:201
190
- #, php-format
191
- msgid ""
192
- "For better protection, <a %s>click here</a> to enable its Full WAF mode."
193
- msgstr ""
194
- "Pour une meilleure protection, <a %s>cliquez ici</a> pour activer son mode "
195
- "Full WAF."
196
 
197
- #: lib/dashboard.php:201
198
- msgid "Click to install NinjaFirewall in Full WAF mode."
199
- msgstr "Cliquez pour installer NinjaFirewall en mode Full WAF."
 
200
 
201
- #: lib/dashboard.php:205
202
  msgid "Full WAF"
203
  msgstr "Full WAF"
204
 
205
- #: lib/dashboard.php:218 lib/firewall_options.php:76 lib/help.php:77
206
  msgid "Debugging mode"
207
  msgstr "Mode débogage"
208
 
209
- #: lib/dashboard.php:219
210
  msgid "Enabled."
211
  msgstr "Activé."
212
 
213
- #: lib/dashboard.php:219
214
  msgid "Click here to turn Debugging Mode off"
215
  msgstr "Cliquez ici pour désactiver le mode Débogage"
216
 
217
- #: lib/dashboard.php:225
218
  msgid "Edition"
219
  msgstr "Édition"
220
 
221
- #: lib/dashboard.php:226
222
  msgid ""
223
  "Need more security? Explore our supercharged premium version: NinjaFirewall "
224
  "(WP+ Edition)"
@@ -226,27 +227,27 @@ msgstr ""
226
  "Besoin de plus de sécurité ? Prenez le temps d'explorer notre version "
227
  "premium musclée : NinjaFirewall (WP+ Edition)"
228
 
229
- #: lib/dashboard.php:229
230
  msgid "Version"
231
  msgstr "Version"
232
 
233
- #: lib/dashboard.php:230
234
  msgid "Security rules:"
235
  msgstr "Règles de sécurité&nbsp;:"
236
 
237
- #: lib/dashboard.php:234
238
  msgid "PHP SAPI"
239
  msgstr "PHP SAPI"
240
 
241
- #: lib/dashboard.php:252
242
  msgid "Updates"
243
  msgstr "Mises à Jour"
244
 
245
- #: lib/dashboard.php:253
246
  msgid "Security rules updates are disabled."
247
  msgstr "La mise à jour automatique des règles de sécurité est désactivée."
248
 
249
- #: lib/dashboard.php:253
250
  msgid ""
251
  "If you want your blog to be protected against the latest threats, enable "
252
  "automatic security rules updates."
@@ -254,11 +255,11 @@ msgstr ""
254
  "Pour garder votre WordPress protégé contre les dernières vulnérabilités, "
255
  "pensez à l'activer."
256
 
257
- #: lib/dashboard.php:261 lib/dashboard.php:269
258
  msgid "Admin user"
259
  msgstr "Administrateur"
260
 
261
- #: lib/dashboard.php:262
262
  #, php-format
263
  msgid ""
264
  "You are not whitelisted. Ensure that the \"Do not block WordPress "
@@ -271,23 +272,23 @@ msgstr ""
271
  "\"%s\">Politiques du Pare-feu</a>, sinon vous pourriez être bloqué par le "
272
  "pare-feu lorsque vous travaillez depuis votre Tableau de bord."
273
 
274
- #: lib/dashboard.php:270
275
  msgid "You are whitelisted by the firewall."
276
  msgstr "Vous êtes dans la liste blanche du pare-feu."
277
 
278
- #: lib/dashboard.php:277
279
  msgid "Restrictions"
280
  msgstr "Restrictions"
281
 
282
- #: lib/dashboard.php:278
283
  msgid "Access to NinjaFirewall is restricted to specific users."
284
  msgstr "L'accès à NinjaFirewall est restreint à certains utilisateurs."
285
 
286
- #: lib/dashboard.php:289
287
  msgid "User session"
288
  msgstr "Session utilisateur"
289
 
290
- #: lib/dashboard.php:290
291
  msgid ""
292
  "It seems that the user session set by NinjaFirewall was not found by the "
293
  "firewall script."
@@ -295,7 +296,7 @@ msgstr ""
295
  "Il semble que la session d'utilisateur définie par NinjaFirewall n'a pas été "
296
  "trouvé par le script du pare-feu."
297
 
298
- #: lib/dashboard.php:298
299
  #, php-format
300
  msgid ""
301
  "the public key is invalid. Please <a href=\"%s\">check your configuration</"
@@ -304,18 +305,18 @@ msgstr ""
304
  "la clé publique est invalide. Veuillez vérifier <a href=\"%s\">votre "
305
  "configuration</a>."
306
 
307
- #: lib/dashboard.php:302
308
  msgid "No IP address restriction."
309
  msgstr "Aucune restriction d'accès par adresse IP."
310
 
311
- #: lib/dashboard.php:305
312
  #, php-format
313
  msgid "IP address %s is allowed to access NinjaFirewall's log on this server."
314
  msgstr ""
315
  "L'adresse IP %s est autorisée à accéder au journal du pare-feu de "
316
  "NinjaFirewall."
317
 
318
- #: lib/dashboard.php:308
319
  #, php-format
320
  msgid ""
321
  "the whitelisted IP is not valid. Please <a href=\"%s\">check your "
@@ -324,26 +325,26 @@ msgstr ""
324
  "l'adresse IP est invalide. Veuillez vérifier <a href=\"%s\">votre "
325
  "configuration</a>."
326
 
327
- #: lib/dashboard.php:313 lib/help.php:462 lib/logs_firewall_log.php:194
328
  #: lib/wpplus.php:170
329
  msgid "Centralized Logging"
330
  msgstr "Centralisation des Logs"
331
 
332
- #: lib/dashboard.php:317 lib/security_rules_update.php:430
333
  #, php-format
334
  msgid "Error: %s"
335
  msgstr "Erreur : %s"
336
 
337
- #: lib/dashboard.php:332
338
  msgid "Source IP"
339
  msgstr "IP source"
340
 
341
- #: lib/dashboard.php:333
342
  #, php-format
343
  msgid "You have a private IP : %s"
344
  msgstr "Vous avez l'adresse IP d'un réseau privé : %s"
345
 
346
- #: lib/dashboard.php:333
347
  #, php-format
348
  msgid ""
349
  "If your site is behind a reverse proxy or a load balancer, ensure that you "
@@ -355,11 +356,11 @@ msgstr ""
355
  "la bonne adresse IP, sinon utilisez le fichier de configuration %s de "
356
  "NinjaFirewall."
357
 
358
- #: lib/dashboard.php:341 lib/dashboard.php:351
359
  msgid "CDN detection"
360
  msgstr "Détection CDN"
361
 
362
- #: lib/dashboard.php:342
363
  #, php-format
364
  msgid ""
365
  "%s detected: you seem to be using Cloudflare CDN services. Ensure that you "
@@ -370,7 +371,7 @@ msgstr ""
370
  "vous d'avoir configuré votre serveur HTTP afin qu'il fasse suivre la bonne "
371
  "adresse IP, sinon utilisez le fichier de configuration %s de NinjaFirewall."
372
 
373
- #: lib/dashboard.php:352
374
  #, php-format
375
  msgid ""
376
  "%s detected: you seem to be using Incapsula CDN services. Ensure that you "
@@ -381,32 +382,32 @@ msgstr ""
381
  "vous d'avoir configuré votre serveur HTTP afin qu'il fasse suivre la bonne "
382
  "adresse IP, sinon utilisez le fichier de configuration %s de NinjaFirewall."
383
 
384
- #: lib/dashboard.php:361 lib/dashboard.php:370
385
  msgid "Log dir"
386
  msgstr "Répertoire du Journal"
387
 
388
- #: lib/dashboard.php:362 lib/dashboard.php:371
389
  #, php-format
390
  msgid "%s directory is not writable! Please chmod it to 0777 or equivalent."
391
  msgstr ""
392
  "Le répertoire %s est en lecture seule ! Veuillez changer ses permissions "
393
  "(0777 ou équivalent)."
394
 
395
- #: lib/dashboard.php:379
396
  msgid "Optional configuration file"
397
  msgstr "Fichier de configuration"
398
 
399
- #: lib/dashboard.php:386
400
  msgid "MySQLi link identifier"
401
  msgstr "Identifiant de lien MySQLi"
402
 
403
- #: lib/dashboard.php:387
404
  msgid "A MySQLi link identifier was detected in your <code>.htninja</code>."
405
  msgstr ""
406
  "Un identifiant de lien MySQLi a été détecté dans votre fichier <code>."
407
  "htninja</code>."
408
 
409
- #: lib/dashboard.php:393
410
  msgid "Help &amp; configuration"
411
  msgstr "Aide &amp; configuration"
412
 
@@ -492,7 +493,7 @@ msgstr "Moyen"
492
  msgid "Select monthly stats to view..."
493
  msgstr "Sélectionnez les statistiques à afficher..."
494
 
495
- #: lib/event_notifications.php:34 lib/help.php:372 ninjafirewall.php:794
496
  msgid "Event Notifications"
497
  msgstr "Notifications d'Événement"
498
 
@@ -743,7 +744,7 @@ msgstr "Moyen :"
743
  msgid "Blocked brute-force attacks:"
744
  msgstr "Attaques par force brute bloquées :"
745
 
746
- #: lib/event_notifications.php:497 lib/event_updates.php:222 lib/utils.php:927
747
  msgid ""
748
  "This notification can be turned off from NinjaFirewall \"Event Notifications"
749
  "\" page."
@@ -752,16 +753,16 @@ msgstr ""
752
  "d’Événement\" de NinjaFirewall."
753
 
754
  #: lib/event_notifications.php:501 lib/event_updates.php:224 lib/events.php:225
755
- #: lib/firewall_options.php:573 lib/monitoring_file_check.php:777
756
- #: lib/monitoring_file_check.php:798 lib/security_rules_update.php:576
757
  msgid "Support forum:"
758
  msgstr "Forum :"
759
 
760
  #: lib/event_notifications.php:504 lib/event_updates.php:227 lib/events.php:228
761
- #: lib/firewall_options.php:576 lib/monitoring_file_check.php:780
762
- #: lib/monitoring_file_check.php:801 lib/security_rules_update.php:579
763
- #: lib/utils.php:235 lib/utils.php:355 lib/utils.php:704 lib/utils.php:932
764
- #: lib/utils.php:1119 lib/utils.php:1386
765
  #, php-format
766
  msgid ""
767
  "Need more security? Check out our supercharged NinjaFirewall (WP+ Edition): "
@@ -782,8 +783,8 @@ msgstr ""
782
  "NinjaFirewall a détecté que des mises à jour de sécurité sont disponibles "
783
  "pour votre site Web :"
784
 
785
- #: lib/event_updates.php:160 lib/utils.php:222 lib/utils.php:339
786
- #: lib/utils.php:916 lib/utils.php:1102 lib/utils.php:1379
787
  msgid "Date:"
788
  msgstr "Date :"
789
 
@@ -882,7 +883,7 @@ msgstr "téléchargé(e)"
882
  msgid "[NinjaFirewall] Alert: %s"
883
  msgstr "[NinjaFirewall] Alerte : %s"
884
 
885
- #: lib/events.php:213 lib/events.php:215 lib/utils.php:691
886
  msgid "-Blog:"
887
  msgstr "- Blog :"
888
 
@@ -890,19 +891,19 @@ msgstr "- Blog :"
890
  msgid "NinjaFirewall has detected the following activity on your account:"
891
  msgstr "NinjaFirewall a détecté l'activité suivante sur votre compte :"
892
 
893
- #: lib/events.php:220 lib/utils.php:696
894
  msgid "-User:"
895
  msgstr "- Nom :"
896
 
897
- #: lib/events.php:221 lib/utils.php:697
898
  msgid "-IP:"
899
  msgstr "- IP :"
900
 
901
- #: lib/events.php:222 lib/utils.php:698
902
  msgid "-Date:"
903
  msgstr "-Date :"
904
 
905
- #: lib/firewall_options.php:29 ninjafirewall.php:768
906
  msgid "Firewall Options"
907
  msgstr "Options du Pare-feu"
908
 
@@ -1105,12 +1106,13 @@ msgstr "- Date :"
1105
  #: lib/firewall_policies.php:29
1106
  #, php-format
1107
  msgid ""
1108
- "This feature is only available when NinjaFirewall is running in %s mode."
 
1109
  msgstr ""
1110
- "Cette option ne peut être activée que lorsque NinjaFirewall fonctionne en "
1111
- "mode %s."
1112
 
1113
- #: lib/firewall_policies.php:62 ninjafirewall.php:772
1114
  msgid "Firewall Policies"
1115
  msgstr "Politiques du Pare-feu"
1116
 
@@ -2757,7 +2759,7 @@ msgstr ""
2757
  "intercepter les requêtes HTTP envoyées à tout script PHP, même si ce dernier "
2758
  "ne fait pas partie de WordPress (logiciel tiers, backdoor, etc)."
2759
 
2760
- #: lib/help.php:355 lib/network.php:32 ninjafirewall.php:790
2761
  msgid "Network"
2762
  msgstr "Réseau"
2763
 
@@ -2810,7 +2812,7 @@ msgstr ""
2810
  "après avoir pénétré dans votre Tableau de bord de WordPress, d'y installer "
2811
  "une porte dérobée (backdoor) afin de prendre le contrôle de votre blog."
2812
 
2813
- #: lib/help.php:384 lib/login_protection.php:21 ninjafirewall.php:798
2814
  msgid "Login Protection"
2815
  msgstr "Page de Connexion"
2816
 
@@ -3328,7 +3330,7 @@ msgstr ""
3328
  "Erreur : Votre fichier .htaccess n'est pas accessible en écriture. Veuillez "
3329
  "modifier ses autorisations : %s"
3330
 
3331
- #: lib/install.php:97 ninjafirewall.php:606 ninjafirewall.php:610
3332
  #, php-format
3333
  msgid "Error: wrong parameter value (%s)."
3334
  msgstr "Erreur : Mauvais paramètre (%s)."
@@ -3373,7 +3375,7 @@ msgstr "La page d'accueil du site a retourné une erreur fatale : %s."
3373
  msgid "File is not writable"
3374
  msgstr "Le fichier n'est pas accessible en écriture"
3375
 
3376
- #: lib/install_default.php:170
3377
  msgid ""
3378
  "Error: The installer cannot download the security rules from wordpress.org "
3379
  "website."
@@ -3381,7 +3383,7 @@ msgstr ""
3381
  "Erreur : Impossible de télécharger les règles de sécurité depuis le site de "
3382
  "wordpress.org."
3383
 
3384
- #: lib/install_default.php:171
3385
  msgid ""
3386
  "The server may be temporarily down or you may have network connectivity "
3387
  "problems? Please try again in a few minutes."
@@ -3390,7 +3392,7 @@ msgstr ""
3390
  "problèmes de connectivité réseau ? Veuillez ré-essayer d'ici quelques "
3391
  "minutes."
3392
 
3393
- #: lib/install_default.php:172
3394
  msgid ""
3395
  "NinjaFirewall downloads its rules over an HTTPS secure connection. Maybe "
3396
  "your server does not support SSL? You can force NinjaFirewall to use a non-"
@@ -3403,7 +3405,7 @@ msgstr ""
3403
  "connexion non-sécurisée (HTTP) en ajoutant la ligne suivante dans votre "
3404
  "fichier <strong>wp-config.php</strong> :"
3405
 
3406
- #: lib/install_default.php:250
3407
  #, php-format
3408
  msgid ""
3409
  "NinjaFirewall cannot create its <code>nfwlog/</code>log and cache folder; "
@@ -3602,7 +3604,7 @@ msgstr "Erreur : le mot de passe doit comporter de 6 à 32 caractères."
3602
  msgid "Error: unable to write to the %s configuration file"
3603
  msgstr "Erreur : impossible d’écrire dans le fichier de configuration %s"
3604
 
3605
- #: lib/logs.php:36 ninjafirewall.php:802
3606
  msgid "Logs"
3607
  msgstr "Journaux"
3608
 
@@ -3776,7 +3778,7 @@ msgstr "Options de Live Log"
3776
  msgid "Inclusion and exclusion filters (REQUEST_URI)"
3777
  msgstr "Filtres d'inclusion et d'exclusion (REQUEST_URI)"
3778
 
3779
- #: lib/logs_live_log.php:160 lib/monitoring_file_check.php:395
3780
  msgid "None"
3781
  msgstr "Aucune"
3782
 
@@ -3788,7 +3790,7 @@ msgstr "Doit inclure"
3788
  msgid "Must not include"
3789
  msgstr "Ne doit pas inclure"
3790
 
3791
- #: lib/logs_live_log.php:164 lib/monitoring_file_check.php:153
3792
  #: lib/monitoring_file_guard.php:89
3793
  msgid "e.g.,"
3794
  msgstr "par ex."
@@ -3835,7 +3837,7 @@ msgstr "Sauvegarder les options"
3835
  msgid "Error: please enter the custom log format."
3836
  msgstr "Erreur : veuillez entrer le format d'affichage."
3837
 
3838
- #: lib/monitoring.php:43 ninjafirewall.php:776
3839
  msgid "Monitoring"
3840
  msgstr "Monitoring"
3841
 
@@ -3851,7 +3853,7 @@ msgstr "L'instantané a bien été supprimé."
3851
  msgid "You must create a snapshot first."
3852
  msgstr "Vous devez d'abord créer un instantané."
3853
 
3854
- #: lib/monitoring_file_check.php:96 lib/monitoring_file_check.php:763
3855
  msgid "NinjaFirewall detected that changes were made to your files."
3856
  msgstr "NinjaFirewall a détecté des changements dans vos fichiers."
3857
 
@@ -3859,7 +3861,7 @@ msgstr "NinjaFirewall a détecté des changements dans vos fichiers."
3859
  msgid "No changes detected."
3860
  msgstr "Aucun changement n'a été détecté."
3861
 
3862
- #: lib/monitoring_file_check.php:132
3863
  msgid ""
3864
  "File Check lets you perform file integrity monitoring upon request or on a "
3865
  "specific interval. To start, create a snapshot of your files by clicking the "
@@ -3868,21 +3870,21 @@ msgstr ""
3868
  "File Check vous permet d'effectuer une analyse de l'intégrité de vos "
3869
  "fichiers sur demande ou à un intervalle spécifique défini."
3870
 
3871
- #: lib/monitoring_file_check.php:139
3872
  msgid "Create a snapshot of all files stored in that directory"
3873
  msgstr ""
3874
  "Créer un instantané de tous les fichiers se trouvant dans ce répertoire"
3875
 
3876
- #: lib/monitoring_file_check.php:147
3877
  #, php-format
3878
  msgid "Default: %s"
3879
  msgstr "Défaut : %s"
3880
 
3881
- #: lib/monitoring_file_check.php:152 lib/monitoring_file_guard.php:88
3882
  msgid "Exclude the following files/folders (optional)"
3883
  msgstr "Exclure les fichiers / dossiers suivants (optionnel)"
3884
 
3885
- #: lib/monitoring_file_check.php:153
3886
  msgid ""
3887
  "Full or partial case-sensitive string(s). Multiple values must be comma-"
3888
  "separated"
@@ -3890,141 +3892,141 @@ msgstr ""
3890
  "Chaîne de caractères complète ou partielle, sensible à la casse. Plusieurs "
3891
  "valeurs doivent être séparées par des virgules"
3892
 
3893
- #: lib/monitoring_file_check.php:159
3894
  msgid "Do not follow symbolic links (default)"
3895
  msgstr "Ne pas suivre les liens symboliques (défaut)"
3896
 
3897
- #: lib/monitoring_file_check.php:165
3898
  msgid "Create Snapshot"
3899
  msgstr "Créer un Instantané"
3900
 
3901
- #: lib/monitoring_file_check.php:231
3902
  msgid "Last snapshot"
3903
  msgstr "Dernier instantané"
3904
 
3905
- #: lib/monitoring_file_check.php:233
3906
  #, php-format
3907
  msgid "Created on: %s"
3908
  msgstr "Créé le : %s"
3909
 
3910
- #: lib/monitoring_file_check.php:234
3911
  #, php-format
3912
  msgid "Total files: %s "
3913
  msgstr "Nombre de fichiers : %s "
3914
 
3915
- #: lib/monitoring_file_check.php:236
3916
  msgid "Directory:"
3917
  msgstr "Répertoire&nbsp;:"
3918
 
3919
- #: lib/monitoring_file_check.php:240
3920
  msgid "Exclusion:"
3921
  msgstr "Exclusion&nbsp;:"
3922
 
3923
- #: lib/monitoring_file_check.php:246
3924
  msgid "Symlinks:"
3925
  msgstr "Lien symboliques :"
3926
 
3927
- #: lib/monitoring_file_check.php:248
3928
  msgid "follow"
3929
  msgstr "suivre"
3930
 
3931
- #: lib/monitoring_file_check.php:250
3932
  msgid "do not follow"
3933
  msgstr "ne pas suivre"
3934
 
3935
- #: lib/monitoring_file_check.php:254
3936
  #, php-format
3937
  msgid "Processing time: %s seconds"
3938
  msgstr "Temps de traitement : %s secondes"
3939
 
3940
- #: lib/monitoring_file_check.php:259
3941
  msgid "Download Snapshot"
3942
  msgstr "Télécharger l'instantané"
3943
 
3944
- #: lib/monitoring_file_check.php:259
3945
  msgid "Delete Snapshot"
3946
  msgstr "Supprimer l'instantané"
3947
 
3948
- #: lib/monitoring_file_check.php:265
3949
  msgid "Last changes"
3950
  msgstr "Dernières modifications"
3951
 
3952
- #: lib/monitoring_file_check.php:272 lib/monitoring_file_check.php:771
3953
  #, php-format
3954
  msgid "New files: %s"
3955
  msgstr "Nouveaux fichiers : %s"
3956
 
3957
- #: lib/monitoring_file_check.php:273 lib/monitoring_file_check.php:773
3958
  #, php-format
3959
  msgid "Deleted files: %s"
3960
  msgstr "Fichiers supprimés : %s"
3961
 
3962
- #: lib/monitoring_file_check.php:274 lib/monitoring_file_check.php:772
3963
  #, php-format
3964
  msgid "Modified files: %s"
3965
  msgstr "Fichiers modifiés : %s"
3966
 
3967
- #: lib/monitoring_file_check.php:278
3968
  msgid "View Changes"
3969
  msgstr "Voir les Modifications"
3970
 
3971
- #: lib/monitoring_file_check.php:282
3972
  msgid "Download Changes"
3973
  msgstr "Télécharger les Modifications"
3974
 
3975
- #: lib/monitoring_file_check.php:294
3976
  msgid "Click a file to get more info about it."
3977
  msgstr "Cliquez sur un fichier pour obtenir plus d'informations à son sujet."
3978
 
3979
- #: lib/monitoring_file_check.php:297
3980
  msgid "New files:"
3981
  msgstr "Nouveaux fichiers :"
3982
 
3983
- #: lib/monitoring_file_check.php:306 lib/monitoring_file_check.php:359
3984
  msgid "Size"
3985
  msgstr "Taille"
3986
 
3987
- #: lib/monitoring_file_check.php:310 lib/monitoring_file_check.php:364
3988
  msgid "Access"
3989
  msgstr "Accès"
3990
 
3991
- #: lib/monitoring_file_check.php:314 lib/monitoring_file_check.php:369
3992
  msgid "Uid / Gid"
3993
  msgstr "Uid / Gid"
3994
 
3995
- #: lib/monitoring_file_check.php:318 lib/monitoring_file_check.php:374
3996
  msgid "Modify"
3997
  msgstr "Modification"
3998
 
3999
- #: lib/monitoring_file_check.php:322 lib/monitoring_file_check.php:379
4000
  msgid "Change"
4001
  msgstr "Changement"
4002
 
4003
- #: lib/monitoring_file_check.php:332
4004
  msgid "Deleted files:"
4005
  msgstr "Fichiers supprimés :"
4006
 
4007
- #: lib/monitoring_file_check.php:345
4008
  msgid "Modified files:"
4009
  msgstr "Fichiers modifiés :"
4010
 
4011
- #: lib/monitoring_file_check.php:355
4012
  msgid "Old"
4013
  msgstr "Ancien"
4014
 
4015
- #: lib/monitoring_file_check.php:356
4016
  msgid "New"
4017
  msgstr "Nouveau"
4018
 
4019
- #: lib/monitoring_file_check.php:405
4020
  msgid "Scan System For File Changes"
4021
  msgstr "Lancer l'analyse des fichiers"
4022
 
4023
- #: lib/monitoring_file_check.php:423
4024
  msgid "Options"
4025
  msgstr "Options"
4026
 
4027
- #: lib/monitoring_file_check.php:430
4028
  #, php-format
4029
  msgid ""
4030
  "It seems that %s is set. Ensure you have another way to run WP-Cron, "
@@ -4033,27 +4035,27 @@ msgstr ""
4033
  "Il semble que %s est activé. Assurez vous de pouvoir exécuter WP-Cron, sinon "
4034
  "File Check ne pourra pas se lancer automatiquement."
4035
 
4036
- #: lib/monitoring_file_check.php:436
4037
  msgid "Enable scheduled scans"
4038
  msgstr "Lancer File Check automatiquement"
4039
 
4040
- #: lib/monitoring_file_check.php:438
4041
  msgid "No (default)"
4042
  msgstr "Non (défaut)"
4043
 
4044
- #: lib/monitoring_file_check.php:439 lib/security_rules_update.php:153
4045
  msgid "Hourly"
4046
  msgstr "Une fois par heure"
4047
 
4048
- #: lib/monitoring_file_check.php:440 lib/security_rules_update.php:154
4049
  msgid "Twicedaily"
4050
  msgstr "Deux fois par jour"
4051
 
4052
- #: lib/monitoring_file_check.php:441 lib/security_rules_update.php:155
4053
  msgid "Daily"
4054
  msgstr "Tous les jours"
4055
 
4056
- #: lib/monitoring_file_check.php:448
4057
  #, php-format
4058
  msgid ""
4059
  "Next scan will start in approximately %s day(s), %s hour(s), %s minute(s) "
@@ -4062,7 +4064,7 @@ msgstr ""
4062
  "La prochaine analyse commencera dans %s jour(s), %s heure(s), %s minute(s) "
4063
  "et %s seconde(s)."
4064
 
4065
- #: lib/monitoring_file_check.php:455
4066
  msgid ""
4067
  "The next scheduled scan date is in the past! WordPress wp-cron may not be "
4068
  "working or may have been disabled."
@@ -4070,110 +4072,110 @@ msgstr ""
4070
  "La date de la prochaine analyse est dans le passé&nbsp;! Essayez de "
4071
  "recharger cette page, sinon vérifiez que WP-Cron n'a pas été désactivé."
4072
 
4073
- #: lib/monitoring_file_check.php:463
4074
  msgid "Scheduled scan report"
4075
  msgstr "Rapport d'analyse"
4076
 
4077
- #: lib/monitoring_file_check.php:465
4078
  msgid "Send me a report by email only if changes are detected (default)"
4079
  msgstr ""
4080
  "Envoyez-moi un rapport uniquement si des changements ont été détectés "
4081
  "(défaut)"
4082
 
4083
- #: lib/monitoring_file_check.php:466
4084
  msgid "Always send me a report by email after a scheduled scan"
4085
  msgstr "Envoyez-moi toujours un rapport après une analyse automatique"
4086
 
4087
- #: lib/monitoring_file_check.php:471
4088
  msgid "Save Scan Options"
4089
  msgstr "Sauvegarder les options"
4090
 
4091
- #: lib/monitoring_file_check.php:483
4092
  msgid "Enter the full path to the directory to be scanned."
4093
  msgstr "Entrez le chemin complet vers le répertoire à scanner."
4094
 
4095
- #: lib/monitoring_file_check.php:490
4096
  #, php-format
4097
  msgid "The directory %s does not exist."
4098
  msgstr "Le répertoire %s n'existe pas."
4099
 
4100
- #: lib/monitoring_file_check.php:493
4101
  #, php-format
4102
  msgid "The directory %s is not readable."
4103
  msgstr "Le répertoire %s n'est pas lisible."
4104
 
4105
- #: lib/monitoring_file_check.php:534
4106
  #, php-format
4107
  msgid "Cannot write to %s."
4108
  msgstr "Impossible d'écrire dans %s."
4109
 
4110
- #: lib/monitoring_file_check.php:564
4111
  #, php-format
4112
  msgid "Error : cannot open %s directory."
4113
  msgstr "Erreur : impossible d'ouvrir le répertoire %s."
4114
 
4115
- #: lib/monitoring_file_check.php:567
4116
  #, php-format
4117
  msgid "Error : %s directory is not readable."
4118
  msgstr "Erreur : le répertoire %s n'est pas lisible."
4119
 
4120
- #: lib/monitoring_file_check.php:582
4121
  #, php-format
4122
  msgid "Missing options line %s, please try again."
4123
  msgstr "Option manquante (ligne %s). Veuillez essayer à nouveau."
4124
 
4125
- #: lib/monitoring_file_check.php:592
4126
  #, php-format
4127
  msgid "Cannot create %s."
4128
  msgstr "Impossible de créer %s."
4129
 
4130
- #: lib/monitoring_file_check.php:609
4131
  msgid "Error reading old snapshot file."
4132
  msgstr "Erreur lors de la lecture du fichier de l'ancien instantané."
4133
 
4134
- #: lib/monitoring_file_check.php:620
4135
  msgid "Error reading new snapshot file."
4136
  msgstr "Erreur lors de la lecture du fichier du nouvel instantané."
4137
 
4138
- #: lib/monitoring_file_check.php:736 ninjafirewall.php:433
4139
  msgid "New file"
4140
  msgstr "Nouveau fichier"
4141
 
4142
- #: lib/monitoring_file_check.php:737 ninjafirewall.php:434
4143
  msgid "Modified file"
4144
  msgstr "Fichier modifié"
4145
 
4146
- #: lib/monitoring_file_check.php:738 ninjafirewall.php:435
4147
  msgid "Deleted file"
4148
  msgstr "Fichier supprimé"
4149
 
4150
- #: lib/monitoring_file_check.php:762
4151
  msgid "[NinjaFirewall] Alert: File Check detection"
4152
  msgstr "[NinjaFirewall] Alerte: Détection File Check"
4153
 
4154
- #: lib/monitoring_file_check.php:765 lib/monitoring_file_check.php:767
4155
- #: lib/monitoring_file_check.php:792 lib/monitoring_file_check.php:794
4156
  #: lib/security_rules_update.php:568 lib/security_rules_update.php:570
4157
- #: lib/utils.php:214 lib/utils.php:334 lib/utils.php:915 lib/utils.php:1091
4158
- #: lib/utils.php:1375
4159
  msgid "Blog:"
4160
  msgstr "Blog :"
4161
 
4162
- #: lib/monitoring_file_check.php:769 lib/monitoring_file_check.php:796
4163
  #: lib/security_rules_update.php:573
4164
  #, php-format
4165
  msgid "Date: %s"
4166
  msgstr "Date : %s"
4167
 
4168
- #: lib/monitoring_file_check.php:775
4169
  msgid "See attached file for details."
4170
  msgstr "Voir le fichier joint pour plus de détails."
4171
 
4172
- #: lib/monitoring_file_check.php:789
4173
  msgid "[NinjaFirewall] File Check report"
4174
  msgstr "[NinjaFirewall] Rapport de File Check"
4175
 
4176
- #: lib/monitoring_file_check.php:790
4177
  msgid "NinjaFirewall did not detect changes in your files."
4178
  msgstr "NinjaFirewall n'a pas détecté de changements dans vos fichiers."
4179
 
@@ -4181,15 +4183,16 @@ msgstr "NinjaFirewall n'a pas détecté de changements dans vos fichiers."
4181
  #, php-format
4182
  msgid ""
4183
  "You are running NinjaFirewall in <i>WordPress WAF</i> mode. The %s feature "
4184
- "will be limited to a few WordPress files only (e.g., index.php, wp-login."
4185
- "php, xmlrpc.php, admin-ajax.php, wp-load.php etc). If you want it to apply "
4186
- "to any PHP script, you will need to run NinjaFirewall in %s mode."
 
4187
  msgstr ""
4188
  "NinjaFirewall fonctionne en mode <i>WordPress WAF</i>. L'option %s sera "
4189
- "limitée à quelques fichiers de WordPress uniquement (par ex. index.php, wp-"
4190
  "login.php, xmlrpc.php, admin-ajax.php, wp-load.php etc). Si vous voulez que "
4191
- "cette option s'applique à tous les fichiers PHP, vous devez installer "
4192
- "NinjaFirewall en mode %s."
4193
 
4194
  #: lib/monitoring_file_guard.php:37
4195
  #, php-format
@@ -4229,7 +4232,7 @@ msgstr ""
4229
  msgid "Save File Guard options"
4230
  msgstr "Sauvegarder les options"
4231
 
4232
- #: lib/network.php:24 ninjafirewall.php:1063 ninjafirewall.php:1067
4233
  #, php-format
4234
  msgid "You are not allowed to perform this task (%s)."
4235
  msgstr "Vous n'êtes pas autorisé à effectuer cette tâche (%s)."
@@ -4255,7 +4258,7 @@ msgid "Save Network options"
4255
  msgstr "Sauvegarder les options"
4256
 
4257
  #: lib/security_rules.php:44 lib/security_rules_update.php:574
4258
- #: ninjafirewall.php:806
4259
  msgid "Security Rules"
4260
  msgstr "Règles de Sécurité"
4261
 
@@ -4528,10 +4531,6 @@ msgstr ""
4528
  "Cette notification peut être désactivée depuis la page \"%s\" de "
4529
  "NinjaFirewall."
4530
 
4531
- #: lib/thickbox.php:42
4532
- msgid "Upgrade to Full WAF mode"
4533
- msgstr "Passer en mode Full WAF"
4534
-
4535
  #: lib/thickbox.php:47
4536
  msgid ""
4537
  "In <strong>Full WAF</strong> mode, all scripts located inside the blog "
@@ -4657,25 +4656,29 @@ msgstr ""
4657
  msgid "Finish"
4658
  msgstr "Finaliser"
4659
 
4660
- #: lib/utils.php:173 lib/utils.php:181
4661
  msgid "N/A"
4662
  msgstr "N/A"
4663
 
4664
- #: lib/utils.php:187
4665
  #, php-format
4666
  msgid "Attempt to create a new %s"
4667
  msgstr "Tentative de création de %s"
4668
 
4669
- #: lib/utils.php:191
4670
  #, php-format
4671
  msgid "Attempt to edit a published %s (ID: %s)"
4672
  msgstr "Tentative de modification de %s (ID: %s)"
4673
 
4674
- #: lib/utils.php:200
 
 
 
 
4675
  msgid "Blocked post/page edition attempt"
4676
  msgstr "Tentative d'édition de page/article bloquée"
4677
 
4678
- #: lib/utils.php:213
4679
  msgid ""
4680
  "NinjaFirewall has blocked an attempt to edit/create a post by a user who "
4681
  "doesn't have the right capabilities:"
@@ -4683,24 +4686,24 @@ msgstr ""
4683
  "NinjaFirewall a bloqué une tentative de modification/création d'une page ou "
4684
  "d'un article par un utilisateur qui n'avait pas les capacités nécessaires :"
4685
 
4686
- #: lib/utils.php:215 lib/utils.php:335 lib/utils.php:1095
4687
  msgid "Username:"
4688
  msgstr "Utilisateur :"
4689
 
4690
- #: lib/utils.php:216
4691
  msgid "Action:"
4692
  msgstr "Action :"
4693
 
4694
- #: lib/utils.php:219 lib/utils.php:336 lib/utils.php:1099 lib/utils.php:1376
4695
  msgid "User IP:"
4696
  msgstr "IP utilisateur :"
4697
 
4698
- #: lib/utils.php:231 lib/utils.php:348 lib/utils.php:1111 lib/utils.php:1371
4699
  msgid "A PHP backtrace has been attached to this message for your convenience."
4700
  msgstr ""
4701
  "La pile d'exécution de PHP est jointe à ce message pour votre commodité."
4702
 
4703
- #: lib/utils.php:233 lib/utils.php:1114 lib/utils.php:1381
4704
  msgid ""
4705
  "This protection (and notification) can be turned off from NinjaFirewall "
4706
  "\"Firewall Policies\" page."
@@ -4708,25 +4711,25 @@ msgstr ""
4708
  "Cette protection (et notification) peut être désactivée à partir de la page "
4709
  "\"Politiques du Pare-feu\" de NinjaFirewall."
4710
 
4711
- #: lib/utils.php:252 lib/utils.php:253 lib/utils.php:371 lib/utils.php:372
4712
- #: lib/utils.php:1135 lib/utils.php:1136
4713
  msgid "You are not allowed to perform this task."
4714
  msgstr "Vous n'êtes pas autorisé à effectuer cette tâche."
4715
 
4716
- #: lib/utils.php:320
4717
  msgid "Blocked user account creation"
4718
  msgstr "Création de compte d'utilisateur bloquée"
4719
 
4720
- #: lib/utils.php:332
4721
  msgid "NinjaFirewall has blocked an attempt to create a user account:"
4722
  msgstr ""
4723
  "NinjaFirewall a bloqué une tentative de création d'un compte d'utilisateur :"
4724
 
4725
- #: lib/utils.php:645 lib/utils.php:649
4726
  msgid "NinjaFirewall error"
4727
  msgstr "NinjaFirewall Erreur"
4728
 
4729
- #: lib/utils.php:646
4730
  #, php-format
4731
  msgid ""
4732
  "%s directory cannot be created. Please review your installation and ensure "
@@ -4735,7 +4738,7 @@ msgstr ""
4735
  "Le répertoire %s ne peut pas être créé. Vérifiez votre installation et "
4736
  "assurez vous que %s n'est pas en lecture seule."
4737
 
4738
- #: lib/utils.php:650
4739
  #, php-format
4740
  msgid ""
4741
  "%s directory is read-only. Please review your installation and ensure that "
@@ -4744,35 +4747,35 @@ msgstr ""
4744
  "Le répertoire %s est en lecture seule. Vérifiez votre installation et les "
4745
  "permissions de %s."
4746
 
4747
- #: lib/utils.php:669
4748
  msgid "unknown error"
4749
  msgstr "erreur inconnue"
4750
 
4751
- #: lib/utils.php:671
4752
  msgid "NinjaFirewall fatal error:"
4753
  msgstr "NinjaFirewall erreur fatale :"
4754
 
4755
- #: lib/utils.php:672
4756
  msgid "Review your installation, your site is not protected."
4757
  msgstr "Vérifiez votre installation, votre site n'est pas protégé."
4758
 
4759
- #: lib/utils.php:689
4760
  msgid "Alert: WordPress console login"
4761
  msgstr "Alerte : Connexion à WordPress"
4762
 
4763
- #: lib/utils.php:695
4764
  msgid "Someone just logged in to your WordPress admin console:"
4765
  msgstr "Quelqu'un vient de se connecter à votre Tableau de bord de WordPress:"
4766
 
4767
- #: lib/utils.php:701
4768
  msgid "Support forum"
4769
  msgstr "Forum"
4770
 
4771
- #: lib/utils.php:781 lib/utils.php:808
4772
  msgid "Forbidden access"
4773
  msgstr "Accès interdit"
4774
 
4775
- #: lib/utils.php:827
4776
  #, php-format
4777
  msgid ""
4778
  "<strong>ERROR</strong>: Invalid username or password.<br /><a href=\"%s"
@@ -4781,11 +4784,11 @@ msgstr ""
4781
  "<strong>ERREUR</strong>: Identifiant ou mot de passe invalide.<br /><a href="
4782
  "\"%s\">Mot de passe perdu</a> ?"
4783
 
4784
- #: lib/utils.php:911
4785
  msgid "[NinjaFirewall] Alert: Database changes detected"
4786
  msgstr "[NinjaFirewall] Alerte: Modification dans la base de données"
4787
 
4788
- #: lib/utils.php:912
4789
  msgid ""
4790
  "NinjaFirewall has detected that one or more administrator accounts were "
4791
  "modified in the database:"
@@ -4793,12 +4796,12 @@ msgstr ""
4793
  "NinjaFirewall a détecté que un ou plusieurs comptes d'administrateur ont été "
4794
  "modifiés dans la base de données:"
4795
 
4796
- #: lib/utils.php:917
4797
  #, php-format
4798
  msgid "Total administrators : %s"
4799
  msgstr "Nombre d'administrateurs : %s"
4800
 
4801
- #: lib/utils.php:926
4802
  msgid ""
4803
  "If you cannot see any modifications in the above fields, it is possible that "
4804
  "the administrator password was changed."
@@ -4806,11 +4809,11 @@ msgstr ""
4806
  "Si vous ne voyez pas de modifications dans les données ci-dessus, il est "
4807
  "possible que le mot de passe administrateur ait été changé."
4808
 
4809
- #: lib/utils.php:1076
4810
  msgid "Blocked privilege escalation attempt"
4811
  msgstr "Tentatives d'élévation des privilèges"
4812
 
4813
- #: lib/utils.php:1089
4814
  msgid ""
4815
  "NinjaFirewall has blocked an attempt to modify a user capability by someone "
4816
  "who does not have administrative privileges:"
@@ -4818,7 +4821,7 @@ msgstr ""
4818
  "NinjaFirewall a bloqué une tentative de modification de certaines Capacités "
4819
  "par un utilisateur ne disposant pas de privilèges administratifs :"
4820
 
4821
- #: lib/utils.php:1147
4822
  msgid ""
4823
  "NinjaFirewall brute-force protection is enabled and you are temporarily "
4824
  "whitelisted."
@@ -4826,7 +4829,7 @@ msgstr ""
4826
  "La protection de NinjaFirewall contre les attaques par force brute est "
4827
  "activée. Vous êtes temporairement dans la liste blanche."
4828
 
4829
- #: lib/utils.php:1162
4830
  #, php-format
4831
  msgid ""
4832
  "Hey, it seems that you've been using NinjaFirewall for some time. If you "
@@ -4839,17 +4842,17 @@ msgstr ""
4839
  "a>. Il a fallu des milliers d'heures pour le développer, mais il suffit "
4840
  "seulement de quelques minutes pour le noter. Merci !"
4841
 
4842
- #: lib/utils.php:1343
4843
  msgid ""
4844
  "The attempt was blocked and the option was reversed to its original value."
4845
  msgstr ""
4846
  "La tentative a été bloquée et l'option a été remise à sa valeur d'origine."
4847
 
4848
- #: lib/utils.php:1348
4849
  msgid "Attempt to modify WordPress settings"
4850
  msgstr "Tentative de modification des paramètres de WordPress"
4851
 
4852
- #: lib/utils.php:1349
4853
  msgid ""
4854
  "NinjaFirewall has blocked an attempt to modify some important WordPress "
4855
  "settings by a user that does not have administrative privileges:"
@@ -4858,31 +4861,31 @@ msgstr ""
4858
  "importants de WordPress par un utilisateur ne disposant pas de privilèges "
4859
  "administratifs :"
4860
 
4861
- #: lib/utils.php:1350 lib/utils.php:1359
4862
  #, php-format
4863
  msgid "Option: %s"
4864
  msgstr "Option: %s"
4865
 
4866
- #: lib/utils.php:1351
4867
  #, php-format
4868
  msgid "Original value: %s"
4869
  msgstr "Valeur originale : %s"
4870
 
4871
- #: lib/utils.php:1352
4872
  #, php-format
4873
  msgid "Modified value: %s"
4874
  msgstr "Valeur modifiée : %s"
4875
 
4876
- #: lib/utils.php:1353 lib/utils.php:1361
4877
  #, php-format
4878
  msgid "Action taken: %s"
4879
  msgstr "Action prise : %s"
4880
 
4881
- #: lib/utils.php:1357
4882
  msgid "Code injection attempt in WordPress options table"
4883
  msgstr "Tentative d'injection de code dans la table des options de WordPress"
4884
 
4885
- #: lib/utils.php:1358
4886
  msgid ""
4887
  "NinjaFirewall has blocked an attempt to inject code in the WordPress options "
4888
  "table by a user that does not have administrative privileges:"
@@ -4891,26 +4894,26 @@ msgstr ""
4891
  "options de WordPress par un utilisateur ne disposant pas de privilèges "
4892
  "administratifs :"
4893
 
4894
- #: lib/utils.php:1360
4895
  #, php-format
4896
  msgid "Code: %s"
4897
  msgstr "Code : %s"
4898
 
4899
- #: lib/utils.php:1416
4900
  #, php-format
4901
  msgid "Error, cannot create the %s folder."
4902
  msgstr "Erreur, impossible de créer le répertoire %s."
4903
 
4904
- #: lib/utils.php:1416 lib/utils.php:1424 lib/utils.php:1432
4905
  msgid "Check your server permissions and try again."
4906
  msgstr "Vérifiez les autorisations de votre serveur et réessayez."
4907
 
4908
- #: lib/utils.php:1424
4909
  #, php-format
4910
  msgid "Error, the %s folder is not writable."
4911
  msgstr "Erreur, le répertoire %s est en lecture seule."
4912
 
4913
- #: lib/utils.php:1432
4914
  #, php-format
4915
  msgid "Error, cannot write %s."
4916
  msgstr "Erreur, impossible d'écrire dans %s."
@@ -4939,23 +4942,23 @@ msgstr "Afficher les statistiques"
4939
  msgid "View firewall log"
4940
  msgstr "Voir le journal du pare-feu"
4941
 
4942
- #: lib/widget.php:123
4943
  msgid "Latest Security News"
4944
  msgstr "Dernières Articles sur la Sécurité"
4945
 
4946
- #: lib/widget.php:127
4947
  msgid "M jS, Y"
4948
  msgstr "M jS, Y"
4949
 
4950
- #: lib/widget.php:138
4951
  msgid "More Security News"
4952
  msgstr "Autres Articles sur la Sécurité"
4953
 
4954
- #: lib/widget.php:138
4955
  msgid "(opens in a new tab)"
4956
  msgstr ""
4957
 
4958
- #: lib/widget.php:138
4959
  msgid "NinjaFirewall's Home"
4960
  msgstr "Site de NinjaFirewall"
4961
 
@@ -5198,19 +5201,21 @@ msgstr "Téléchargements de fichier"
5198
 
5199
  #: lib/wpplus.php:190
5200
  msgid ""
5201
- "You can allow uploads while rejecting potentially dangerous files: scripts "
 
5202
  "(PHP, CGI, Ruby, Python, bash/shell), C/C++ source code, binaries (MZ/PE/NE "
5203
  "and ELF formats), system files (.htaccess, .htpasswd and PHP INI) and SVG "
5204
  "files containing Javascript/XML events. You can easily limit the size of "
5205
  "each uploaded file too, without having to modify your PHP configuration."
5206
  msgstr ""
5207
  "Vous pouvez autoriser ou interdire tout téléchargement de fichier vers votre "
5208
- "site, ou bien bloquer uniquement les fichiers potentiellement dangereux : "
5209
- "scripts (PHP, CGI, Ruby, Python, bash/shell), code source C/C++, fichiers "
5210
- "exécutables (MZ/PE/NE et ELF), certains fichiers systèmes (.htaccess, ."
5211
- "htpasswd et PHP INI) et les fichiers SVG contenant du JavaScript ou des "
5212
- "Événements XML. Vous pouvez aussi sélectionner la taille maximale d'un "
5213
- "fichier téléchargé, sans avoir à modifier la configuration de PHP."
 
5214
 
5215
  #: lib/wpplus.php:208
5216
  msgid ""
@@ -5580,85 +5585,133 @@ msgstr ""
5580
  msgid "Error: The HTTP server returned the following error code:"
5581
  msgstr "Erreur : Le serveur HTTP a retourné le code d'erreur suivant :"
5582
 
5583
- #: ninjafirewall.php:591 ninjafirewall.php:702
5584
  msgid "Error: Security nonces do not match. Reload the page and try again."
5585
  msgstr ""
5586
  "Erreur : Les nonces de sécurité ne correspondent pas. Veuillez recharger "
5587
  "cette page."
5588
 
5589
- #: ninjafirewall.php:597
5590
  msgid "Error: NinjaFirewall is disabled"
5591
  msgstr "Erreur : NinjaFirewall est désactivé"
5592
 
5593
- #: ninjafirewall.php:602
5594
  #, php-format
5595
  msgid "Error: missing parameter (%s)."
5596
  msgstr "Erreur : Paramètre manquant (%s)."
5597
 
5598
- #: ninjafirewall.php:764
5599
  msgid "NinjaFirewall: Dashboard"
5600
  msgstr "NinjaFirewall : Tableau de Bord"
5601
 
5602
- #: ninjafirewall.php:768
5603
  msgid "NinjaFirewall: Firewall Options"
5604
  msgstr "NinjaFirewall : Options du Pare-feu"
5605
 
5606
- #: ninjafirewall.php:772
5607
  msgid "NinjaFirewall: Firewall Policies"
5608
  msgstr "NinjaFirewall : Politiques du Pare-feu"
5609
 
5610
- #: ninjafirewall.php:776
5611
  msgid "NinjaFirewall: Monitoring"
5612
  msgstr "NinjaFirewall : Monitoring"
5613
 
5614
- #: ninjafirewall.php:786
5615
  msgid "NinjaFirewall: Anti-Malware"
5616
  msgstr "NinjaFirewall : Anti-Malware"
5617
 
5618
- #: ninjafirewall.php:790
5619
  msgid "NinjaFirewall: Network"
5620
  msgstr "NinjaFirewall : Réseau"
5621
 
5622
- #: ninjafirewall.php:794
5623
  msgid "NinjaFirewall: Event Notifications"
5624
  msgstr "NinjaFirewall : Notifications d’Événement"
5625
 
5626
- #: ninjafirewall.php:798
5627
  msgid "NinjaFirewall: Log-in Protection"
5628
  msgstr "NinjaFirewall : Page de Connexion"
5629
 
5630
- #: ninjafirewall.php:802
5631
  msgid "NinjaFirewall: Logs"
5632
  msgstr "NinjaFirewall : Journaux"
5633
 
5634
- #: ninjafirewall.php:806
5635
  msgid "NinjaFirewall: Security Rules"
5636
  msgstr "NinjaFirewall : Règles de Sécurité"
5637
 
5638
- #: ninjafirewall.php:850
5639
  msgid "NinjaFirewall Settings"
5640
  msgstr "Réglages de NinjaFirewall"
5641
 
5642
- #: ninjafirewall.php:858
5643
  msgid "NinjaFirewall is enabled"
5644
  msgstr "NinjaFirewall est activé"
5645
 
5646
- #: ninjafirewall.php:998
5647
  msgid "Access Restricted"
5648
  msgstr "Accès limité"
5649
 
5650
- #: ninjafirewall.php:1004
5651
  msgid "Settings"
5652
  msgstr "Réglages"
5653
 
5654
- #: ninjafirewall.php:1005
5655
  msgid "Upgrade to Premium"
5656
  msgstr "Passez Premium !"
5657
 
5658
- #: ninjafirewall.php:1006
5659
  msgid "Rate it!"
5660
  msgstr "Notez-le !"
5661
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5662
  #~ msgid ""
5663
  #~ "The protection will be triggered when too many login attempts are "
5664
  #~ "detected, regardless of the offending IP. It blocks the attack instantly "
4
  msgstr ""
5
  "Project-Id-Version: Stable (latest release)\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ninjafirewall\n"
7
+ "POT-Creation-Date: 2020-06-04 02:09+0700\n"
8
+ "PO-Revision-Date: 2020-06-04 02:10+0700\n"
9
  "Last-Translator: NinTechNet <contact@nintechnet.com>\n"
10
  "Language-Team: NinTechNet <nintechnet.com>\n"
11
  "Language: fr_FR\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "Plural-Forms: nplurals=2; plural=(n > 1);\n"
18
 
19
+ #: lib/anti_malware.php:24 ninjafirewall.php:792
20
  msgid "Anti-Malware"
21
  msgstr "Anti-Malware"
22
 
92
  msgid "NinjaFirewall (WP Edition)"
93
  msgstr "NinjaFirewall (WP Edition)"
94
 
95
+ #: lib/dashboard.php:120 ninjafirewall.php:770
96
  msgid "Dashboard"
97
  msgstr "Tableau de Bord"
98
 
167
  msgid "Firewall"
168
  msgstr "Pare-feu"
169
 
170
+ #: lib/dashboard.php:187 lib/dashboard.php:322 lib/firewall_options.php:64
171
  #: lib/login_protection.php:203 lib/logs_live_log.php:101
172
  #: lib/monitoring_file_guard.php:70 lib/security_rules_update.php:138
173
  msgid "Enabled"
177
  msgid "Mode"
178
  msgstr "Mode"
179
 
180
+ #: lib/dashboard.php:198
181
  #, php-format
182
+ msgid ""
183
+ "NinjaFirewall is running in %s mode. For better protection, activate its "
184
+ "Full WAF mode:"
185
+ msgstr ""
186
+ "NinjaFirewall fonctionne en mode %s. Pour une meilleure protection, activez "
187
+ "son mode Full WAF :"
188
 
189
+ #: lib/dashboard.php:198
190
  msgid "WordPress WAF"
191
  msgstr "WordPress WAF"
192
 
193
+ #: lib/dashboard.php:200 lib/thickbox.php:42
194
+ msgid "Activate Full WAF mode"
195
+ msgstr "Activer le mode Full WAF"
 
 
 
 
196
 
197
+ #: lib/dashboard.php:204
198
+ #, php-format
199
+ msgid "NinjaFirewall is running in %s mode."
200
+ msgstr "NinjaFirewall fonctionne en mode %s."
201
 
202
+ #: lib/dashboard.php:204
203
  msgid "Full WAF"
204
  msgstr "Full WAF"
205
 
206
+ #: lib/dashboard.php:217 lib/firewall_options.php:76 lib/help.php:77
207
  msgid "Debugging mode"
208
  msgstr "Mode débogage"
209
 
210
+ #: lib/dashboard.php:218
211
  msgid "Enabled."
212
  msgstr "Activé."
213
 
214
+ #: lib/dashboard.php:218
215
  msgid "Click here to turn Debugging Mode off"
216
  msgstr "Cliquez ici pour désactiver le mode Débogage"
217
 
218
+ #: lib/dashboard.php:224
219
  msgid "Edition"
220
  msgstr "Édition"
221
 
222
+ #: lib/dashboard.php:225
223
  msgid ""
224
  "Need more security? Explore our supercharged premium version: NinjaFirewall "
225
  "(WP+ Edition)"
227
  "Besoin de plus de sécurité ? Prenez le temps d'explorer notre version "
228
  "premium musclée : NinjaFirewall (WP+ Edition)"
229
 
230
+ #: lib/dashboard.php:228
231
  msgid "Version"
232
  msgstr "Version"
233
 
234
+ #: lib/dashboard.php:229
235
  msgid "Security rules:"
236
  msgstr "Règles de sécurité&nbsp;:"
237
 
238
+ #: lib/dashboard.php:233
239
  msgid "PHP SAPI"
240
  msgstr "PHP SAPI"
241
 
242
+ #: lib/dashboard.php:251
243
  msgid "Updates"
244
  msgstr "Mises à Jour"
245
 
246
+ #: lib/dashboard.php:252
247
  msgid "Security rules updates are disabled."
248
  msgstr "La mise à jour automatique des règles de sécurité est désactivée."
249
 
250
+ #: lib/dashboard.php:252
251
  msgid ""
252
  "If you want your blog to be protected against the latest threats, enable "
253
  "automatic security rules updates."
255
  "Pour garder votre WordPress protégé contre les dernières vulnérabilités, "
256
  "pensez à l'activer."
257
 
258
+ #: lib/dashboard.php:260 lib/dashboard.php:268
259
  msgid "Admin user"
260
  msgstr "Administrateur"
261
 
262
+ #: lib/dashboard.php:261
263
  #, php-format
264
  msgid ""
265
  "You are not whitelisted. Ensure that the \"Do not block WordPress "
272
  "\"%s\">Politiques du Pare-feu</a>, sinon vous pourriez être bloqué par le "
273
  "pare-feu lorsque vous travaillez depuis votre Tableau de bord."
274
 
275
+ #: lib/dashboard.php:269
276
  msgid "You are whitelisted by the firewall."
277
  msgstr "Vous êtes dans la liste blanche du pare-feu."
278
 
279
+ #: lib/dashboard.php:276
280
  msgid "Restrictions"
281
  msgstr "Restrictions"
282
 
283
+ #: lib/dashboard.php:277
284
  msgid "Access to NinjaFirewall is restricted to specific users."
285
  msgstr "L'accès à NinjaFirewall est restreint à certains utilisateurs."
286
 
287
+ #: lib/dashboard.php:288
288
  msgid "User session"
289
  msgstr "Session utilisateur"
290
 
291
+ #: lib/dashboard.php:289
292
  msgid ""
293
  "It seems that the user session set by NinjaFirewall was not found by the "
294
  "firewall script."
296
  "Il semble que la session d'utilisateur définie par NinjaFirewall n'a pas été "
297
  "trouvé par le script du pare-feu."
298
 
299
+ #: lib/dashboard.php:297
300
  #, php-format
301
  msgid ""
302
  "the public key is invalid. Please <a href=\"%s\">check your configuration</"
305
  "la clé publique est invalide. Veuillez vérifier <a href=\"%s\">votre "
306
  "configuration</a>."
307
 
308
+ #: lib/dashboard.php:301
309
  msgid "No IP address restriction."
310
  msgstr "Aucune restriction d'accès par adresse IP."
311
 
312
+ #: lib/dashboard.php:304
313
  #, php-format
314
  msgid "IP address %s is allowed to access NinjaFirewall's log on this server."
315
  msgstr ""
316
  "L'adresse IP %s est autorisée à accéder au journal du pare-feu de "
317
  "NinjaFirewall."
318
 
319
+ #: lib/dashboard.php:307
320
  #, php-format
321
  msgid ""
322
  "the whitelisted IP is not valid. Please <a href=\"%s\">check your "
325
  "l'adresse IP est invalide. Veuillez vérifier <a href=\"%s\">votre "
326
  "configuration</a>."
327
 
328
+ #: lib/dashboard.php:312 lib/help.php:462 lib/logs_firewall_log.php:194
329
  #: lib/wpplus.php:170
330
  msgid "Centralized Logging"
331
  msgstr "Centralisation des Logs"
332
 
333
+ #: lib/dashboard.php:316 lib/security_rules_update.php:430
334
  #, php-format
335
  msgid "Error: %s"
336
  msgstr "Erreur : %s"
337
 
338
+ #: lib/dashboard.php:331
339
  msgid "Source IP"
340
  msgstr "IP source"
341
 
342
+ #: lib/dashboard.php:332
343
  #, php-format
344
  msgid "You have a private IP : %s"
345
  msgstr "Vous avez l'adresse IP d'un réseau privé : %s"
346
 
347
+ #: lib/dashboard.php:332
348
  #, php-format
349
  msgid ""
350
  "If your site is behind a reverse proxy or a load balancer, ensure that you "
356
  "la bonne adresse IP, sinon utilisez le fichier de configuration %s de "
357
  "NinjaFirewall."
358
 
359
+ #: lib/dashboard.php:340 lib/dashboard.php:350
360
  msgid "CDN detection"
361
  msgstr "Détection CDN"
362
 
363
+ #: lib/dashboard.php:341
364
  #, php-format
365
  msgid ""
366
  "%s detected: you seem to be using Cloudflare CDN services. Ensure that you "
371
  "vous d'avoir configuré votre serveur HTTP afin qu'il fasse suivre la bonne "
372
  "adresse IP, sinon utilisez le fichier de configuration %s de NinjaFirewall."
373
 
374
+ #: lib/dashboard.php:351
375
  #, php-format
376
  msgid ""
377
  "%s detected: you seem to be using Incapsula CDN services. Ensure that you "
382
  "vous d'avoir configuré votre serveur HTTP afin qu'il fasse suivre la bonne "
383
  "adresse IP, sinon utilisez le fichier de configuration %s de NinjaFirewall."
384
 
385
+ #: lib/dashboard.php:360 lib/dashboard.php:369
386
  msgid "Log dir"
387
  msgstr "Répertoire du Journal"
388
 
389
+ #: lib/dashboard.php:361 lib/dashboard.php:370
390
  #, php-format
391
  msgid "%s directory is not writable! Please chmod it to 0777 or equivalent."
392
  msgstr ""
393
  "Le répertoire %s est en lecture seule ! Veuillez changer ses permissions "
394
  "(0777 ou équivalent)."
395
 
396
+ #: lib/dashboard.php:378
397
  msgid "Optional configuration file"
398
  msgstr "Fichier de configuration"
399
 
400
+ #: lib/dashboard.php:385
401
  msgid "MySQLi link identifier"
402
  msgstr "Identifiant de lien MySQLi"
403
 
404
+ #: lib/dashboard.php:386
405
  msgid "A MySQLi link identifier was detected in your <code>.htninja</code>."
406
  msgstr ""
407
  "Un identifiant de lien MySQLi a été détecté dans votre fichier <code>."
408
  "htninja</code>."
409
 
410
+ #: lib/dashboard.php:392
411
  msgid "Help &amp; configuration"
412
  msgstr "Aide &amp; configuration"
413
 
493
  msgid "Select monthly stats to view..."
494
  msgstr "Sélectionnez les statistiques à afficher..."
495
 
496
+ #: lib/event_notifications.php:34 lib/help.php:372 ninjafirewall.php:800
497
  msgid "Event Notifications"
498
  msgstr "Notifications d'Événement"
499
 
744
  msgid "Blocked brute-force attacks:"
745
  msgstr "Attaques par force brute bloquées :"
746
 
747
+ #: lib/event_notifications.php:497 lib/event_updates.php:222 lib/utils.php:938
748
  msgid ""
749
  "This notification can be turned off from NinjaFirewall \"Event Notifications"
750
  "\" page."
753
  "d’Événement\" de NinjaFirewall."
754
 
755
  #: lib/event_notifications.php:501 lib/event_updates.php:224 lib/events.php:225
756
+ #: lib/firewall_options.php:573 lib/monitoring_file_check.php:780
757
+ #: lib/monitoring_file_check.php:801 lib/security_rules_update.php:576
758
  msgid "Support forum:"
759
  msgstr "Forum :"
760
 
761
  #: lib/event_notifications.php:504 lib/event_updates.php:227 lib/events.php:228
762
+ #: lib/firewall_options.php:576 lib/monitoring_file_check.php:783
763
+ #: lib/monitoring_file_check.php:804 lib/security_rules_update.php:579
764
+ #: lib/utils.php:242 lib/utils.php:362 lib/utils.php:715 lib/utils.php:943
765
+ #: lib/utils.php:1130 lib/utils.php:1397
766
  #, php-format
767
  msgid ""
768
  "Need more security? Check out our supercharged NinjaFirewall (WP+ Edition): "
783
  "NinjaFirewall a détecté que des mises à jour de sécurité sont disponibles "
784
  "pour votre site Web :"
785
 
786
+ #: lib/event_updates.php:160 lib/utils.php:229 lib/utils.php:346
787
+ #: lib/utils.php:927 lib/utils.php:1113 lib/utils.php:1390
788
  msgid "Date:"
789
  msgstr "Date :"
790
 
883
  msgid "[NinjaFirewall] Alert: %s"
884
  msgstr "[NinjaFirewall] Alerte : %s"
885
 
886
+ #: lib/events.php:213 lib/events.php:215 lib/utils.php:702
887
  msgid "-Blog:"
888
  msgstr "- Blog :"
889
 
891
  msgid "NinjaFirewall has detected the following activity on your account:"
892
  msgstr "NinjaFirewall a détecté l'activité suivante sur votre compte :"
893
 
894
+ #: lib/events.php:220 lib/utils.php:707
895
  msgid "-User:"
896
  msgstr "- Nom :"
897
 
898
+ #: lib/events.php:221 lib/utils.php:708
899
  msgid "-IP:"
900
  msgstr "- IP :"
901
 
902
+ #: lib/events.php:222 lib/utils.php:709
903
  msgid "-Date:"
904
  msgstr "-Date :"
905
 
906
+ #: lib/firewall_options.php:29 ninjafirewall.php:774
907
  msgid "Firewall Options"
908
  msgstr "Options du Pare-feu"
909
 
1106
  #: lib/firewall_policies.php:29
1107
  #, php-format
1108
  msgid ""
1109
+ "To use this feature, please <a href=\"%s\">go to the Dashboard page</a> and "
1110
+ "enable NinjaFirewall's Full WAF mode."
1111
  msgstr ""
1112
+ "Pour utiliser cette option, allez dans le <a href=\"%s\">Tableau de Bord</a> "
1113
+ "et activez le mode Full WAF de NinjaFirewall."
1114
 
1115
+ #: lib/firewall_policies.php:62 ninjafirewall.php:778
1116
  msgid "Firewall Policies"
1117
  msgstr "Politiques du Pare-feu"
1118
 
2759
  "intercepter les requêtes HTTP envoyées à tout script PHP, même si ce dernier "
2760
  "ne fait pas partie de WordPress (logiciel tiers, backdoor, etc)."
2761
 
2762
+ #: lib/help.php:355 lib/network.php:32 ninjafirewall.php:796
2763
  msgid "Network"
2764
  msgstr "Réseau"
2765
 
2812
  "après avoir pénétré dans votre Tableau de bord de WordPress, d'y installer "
2813
  "une porte dérobée (backdoor) afin de prendre le contrôle de votre blog."
2814
 
2815
+ #: lib/help.php:384 lib/login_protection.php:21 ninjafirewall.php:804
2816
  msgid "Login Protection"
2817
  msgstr "Page de Connexion"
2818
 
3330
  "Erreur : Votre fichier .htaccess n'est pas accessible en écriture. Veuillez "
3331
  "modifier ses autorisations : %s"
3332
 
3333
+ #: lib/install.php:97 ninjafirewall.php:612 ninjafirewall.php:616
3334
  #, php-format
3335
  msgid "Error: wrong parameter value (%s)."
3336
  msgstr "Erreur : Mauvais paramètre (%s)."
3375
  msgid "File is not writable"
3376
  msgstr "Le fichier n'est pas accessible en écriture"
3377
 
3378
+ #: lib/install_default.php:172
3379
  msgid ""
3380
  "Error: The installer cannot download the security rules from wordpress.org "
3381
  "website."
3383
  "Erreur : Impossible de télécharger les règles de sécurité depuis le site de "
3384
  "wordpress.org."
3385
 
3386
+ #: lib/install_default.php:173
3387
  msgid ""
3388
  "The server may be temporarily down or you may have network connectivity "
3389
  "problems? Please try again in a few minutes."
3392
  "problèmes de connectivité réseau ? Veuillez ré-essayer d'ici quelques "
3393
  "minutes."
3394
 
3395
+ #: lib/install_default.php:174
3396
  msgid ""
3397
  "NinjaFirewall downloads its rules over an HTTPS secure connection. Maybe "
3398
  "your server does not support SSL? You can force NinjaFirewall to use a non-"
3405
  "connexion non-sécurisée (HTTP) en ajoutant la ligne suivante dans votre "
3406
  "fichier <strong>wp-config.php</strong> :"
3407
 
3408
+ #: lib/install_default.php:252
3409
  #, php-format
3410
  msgid ""
3411
  "NinjaFirewall cannot create its <code>nfwlog/</code>log and cache folder; "
3604
  msgid "Error: unable to write to the %s configuration file"
3605
  msgstr "Erreur : impossible d’écrire dans le fichier de configuration %s"
3606
 
3607
+ #: lib/logs.php:36 ninjafirewall.php:808
3608
  msgid "Logs"
3609
  msgstr "Journaux"
3610
 
3778
  msgid "Inclusion and exclusion filters (REQUEST_URI)"
3779
  msgstr "Filtres d'inclusion et d'exclusion (REQUEST_URI)"
3780
 
3781
+ #: lib/logs_live_log.php:160 lib/monitoring_file_check.php:398
3782
  msgid "None"
3783
  msgstr "Aucune"
3784
 
3790
  msgid "Must not include"
3791
  msgstr "Ne doit pas inclure"
3792
 
3793
+ #: lib/logs_live_log.php:164 lib/monitoring_file_check.php:156
3794
  #: lib/monitoring_file_guard.php:89
3795
  msgid "e.g.,"
3796
  msgstr "par ex."
3837
  msgid "Error: please enter the custom log format."
3838
  msgstr "Erreur : veuillez entrer le format d'affichage."
3839
 
3840
+ #: lib/monitoring.php:43 ninjafirewall.php:782
3841
  msgid "Monitoring"
3842
  msgstr "Monitoring"
3843
 
3853
  msgid "You must create a snapshot first."
3854
  msgstr "Vous devez d'abord créer un instantané."
3855
 
3856
+ #: lib/monitoring_file_check.php:96 lib/monitoring_file_check.php:766
3857
  msgid "NinjaFirewall detected that changes were made to your files."
3858
  msgstr "NinjaFirewall a détecté des changements dans vos fichiers."
3859
 
3861
  msgid "No changes detected."
3862
  msgstr "Aucun changement n'a été détecté."
3863
 
3864
+ #: lib/monitoring_file_check.php:135
3865
  msgid ""
3866
  "File Check lets you perform file integrity monitoring upon request or on a "
3867
  "specific interval. To start, create a snapshot of your files by clicking the "
3870
  "File Check vous permet d'effectuer une analyse de l'intégrité de vos "
3871
  "fichiers sur demande ou à un intervalle spécifique défini."
3872
 
3873
+ #: lib/monitoring_file_check.php:142
3874
  msgid "Create a snapshot of all files stored in that directory"
3875
  msgstr ""
3876
  "Créer un instantané de tous les fichiers se trouvant dans ce répertoire"
3877
 
3878
+ #: lib/monitoring_file_check.php:150
3879
  #, php-format
3880
  msgid "Default: %s"
3881
  msgstr "Défaut : %s"
3882
 
3883
+ #: lib/monitoring_file_check.php:155 lib/monitoring_file_guard.php:88
3884
  msgid "Exclude the following files/folders (optional)"
3885
  msgstr "Exclure les fichiers / dossiers suivants (optionnel)"
3886
 
3887
+ #: lib/monitoring_file_check.php:156
3888
  msgid ""
3889
  "Full or partial case-sensitive string(s). Multiple values must be comma-"
3890
  "separated"
3892
  "Chaîne de caractères complète ou partielle, sensible à la casse. Plusieurs "
3893
  "valeurs doivent être séparées par des virgules"
3894
 
3895
+ #: lib/monitoring_file_check.php:162
3896
  msgid "Do not follow symbolic links (default)"
3897
  msgstr "Ne pas suivre les liens symboliques (défaut)"
3898
 
3899
+ #: lib/monitoring_file_check.php:168
3900
  msgid "Create Snapshot"
3901
  msgstr "Créer un Instantané"
3902
 
3903
+ #: lib/monitoring_file_check.php:234
3904
  msgid "Last snapshot"
3905
  msgstr "Dernier instantané"
3906
 
3907
+ #: lib/monitoring_file_check.php:236
3908
  #, php-format
3909
  msgid "Created on: %s"
3910
  msgstr "Créé le : %s"
3911
 
3912
+ #: lib/monitoring_file_check.php:237
3913
  #, php-format
3914
  msgid "Total files: %s "
3915
  msgstr "Nombre de fichiers : %s "
3916
 
3917
+ #: lib/monitoring_file_check.php:239
3918
  msgid "Directory:"
3919
  msgstr "Répertoire&nbsp;:"
3920
 
3921
+ #: lib/monitoring_file_check.php:243
3922
  msgid "Exclusion:"
3923
  msgstr "Exclusion&nbsp;:"
3924
 
3925
+ #: lib/monitoring_file_check.php:249
3926
  msgid "Symlinks:"
3927
  msgstr "Lien symboliques :"
3928
 
3929
+ #: lib/monitoring_file_check.php:251
3930
  msgid "follow"
3931
  msgstr "suivre"
3932
 
3933
+ #: lib/monitoring_file_check.php:253
3934
  msgid "do not follow"
3935
  msgstr "ne pas suivre"
3936
 
3937
+ #: lib/monitoring_file_check.php:257
3938
  #, php-format
3939
  msgid "Processing time: %s seconds"
3940
  msgstr "Temps de traitement : %s secondes"
3941
 
3942
+ #: lib/monitoring_file_check.php:262
3943
  msgid "Download Snapshot"
3944
  msgstr "Télécharger l'instantané"
3945
 
3946
+ #: lib/monitoring_file_check.php:262
3947
  msgid "Delete Snapshot"
3948
  msgstr "Supprimer l'instantané"
3949
 
3950
+ #: lib/monitoring_file_check.php:268
3951
  msgid "Last changes"
3952
  msgstr "Dernières modifications"
3953
 
3954
+ #: lib/monitoring_file_check.php:275 lib/monitoring_file_check.php:774
3955
  #, php-format
3956
  msgid "New files: %s"
3957
  msgstr "Nouveaux fichiers : %s"
3958
 
3959
+ #: lib/monitoring_file_check.php:276 lib/monitoring_file_check.php:776
3960
  #, php-format
3961
  msgid "Deleted files: %s"
3962
  msgstr "Fichiers supprimés : %s"
3963
 
3964
+ #: lib/monitoring_file_check.php:277 lib/monitoring_file_check.php:775
3965
  #, php-format
3966
  msgid "Modified files: %s"
3967
  msgstr "Fichiers modifiés : %s"
3968
 
3969
+ #: lib/monitoring_file_check.php:281
3970
  msgid "View Changes"
3971
  msgstr "Voir les Modifications"
3972
 
3973
+ #: lib/monitoring_file_check.php:285
3974
  msgid "Download Changes"
3975
  msgstr "Télécharger les Modifications"
3976
 
3977
+ #: lib/monitoring_file_check.php:297
3978
  msgid "Click a file to get more info about it."
3979
  msgstr "Cliquez sur un fichier pour obtenir plus d'informations à son sujet."
3980
 
3981
+ #: lib/monitoring_file_check.php:300
3982
  msgid "New files:"
3983
  msgstr "Nouveaux fichiers :"
3984
 
3985
+ #: lib/monitoring_file_check.php:309 lib/monitoring_file_check.php:362
3986
  msgid "Size"
3987
  msgstr "Taille"
3988
 
3989
+ #: lib/monitoring_file_check.php:313 lib/monitoring_file_check.php:367
3990
  msgid "Access"
3991
  msgstr "Accès"
3992
 
3993
+ #: lib/monitoring_file_check.php:317 lib/monitoring_file_check.php:372
3994
  msgid "Uid / Gid"
3995
  msgstr "Uid / Gid"
3996
 
3997
+ #: lib/monitoring_file_check.php:321 lib/monitoring_file_check.php:377
3998
  msgid "Modify"
3999
  msgstr "Modification"
4000
 
4001
+ #: lib/monitoring_file_check.php:325 lib/monitoring_file_check.php:382
4002
  msgid "Change"
4003
  msgstr "Changement"
4004
 
4005
+ #: lib/monitoring_file_check.php:335
4006
  msgid "Deleted files:"
4007
  msgstr "Fichiers supprimés :"
4008
 
4009
+ #: lib/monitoring_file_check.php:348
4010
  msgid "Modified files:"
4011
  msgstr "Fichiers modifiés :"
4012
 
4013
+ #: lib/monitoring_file_check.php:358
4014
  msgid "Old"
4015
  msgstr "Ancien"
4016
 
4017
+ #: lib/monitoring_file_check.php:359
4018
  msgid "New"
4019
  msgstr "Nouveau"
4020
 
4021
+ #: lib/monitoring_file_check.php:408
4022
  msgid "Scan System For File Changes"
4023
  msgstr "Lancer l'analyse des fichiers"
4024
 
4025
+ #: lib/monitoring_file_check.php:426
4026
  msgid "Options"
4027
  msgstr "Options"
4028
 
4029
+ #: lib/monitoring_file_check.php:433
4030
  #, php-format
4031
  msgid ""
4032
  "It seems that %s is set. Ensure you have another way to run WP-Cron, "
4035
  "Il semble que %s est activé. Assurez vous de pouvoir exécuter WP-Cron, sinon "
4036
  "File Check ne pourra pas se lancer automatiquement."
4037
 
4038
+ #: lib/monitoring_file_check.php:439
4039
  msgid "Enable scheduled scans"
4040
  msgstr "Lancer File Check automatiquement"
4041
 
4042
+ #: lib/monitoring_file_check.php:441
4043
  msgid "No (default)"
4044
  msgstr "Non (défaut)"
4045
 
4046
+ #: lib/monitoring_file_check.php:442 lib/security_rules_update.php:153
4047
  msgid "Hourly"
4048
  msgstr "Une fois par heure"
4049
 
4050
+ #: lib/monitoring_file_check.php:443 lib/security_rules_update.php:154
4051
  msgid "Twicedaily"
4052
  msgstr "Deux fois par jour"
4053
 
4054
+ #: lib/monitoring_file_check.php:444 lib/security_rules_update.php:155
4055
  msgid "Daily"
4056
  msgstr "Tous les jours"
4057
 
4058
+ #: lib/monitoring_file_check.php:451
4059
  #, php-format
4060
  msgid ""
4061
  "Next scan will start in approximately %s day(s), %s hour(s), %s minute(s) "
4064
  "La prochaine analyse commencera dans %s jour(s), %s heure(s), %s minute(s) "
4065
  "et %s seconde(s)."
4066
 
4067
+ #: lib/monitoring_file_check.php:458
4068
  msgid ""
4069
  "The next scheduled scan date is in the past! WordPress wp-cron may not be "
4070
  "working or may have been disabled."
4072
  "La date de la prochaine analyse est dans le passé&nbsp;! Essayez de "
4073
  "recharger cette page, sinon vérifiez que WP-Cron n'a pas été désactivé."
4074
 
4075
+ #: lib/monitoring_file_check.php:466
4076
  msgid "Scheduled scan report"
4077
  msgstr "Rapport d'analyse"
4078
 
4079
+ #: lib/monitoring_file_check.php:468
4080
  msgid "Send me a report by email only if changes are detected (default)"
4081
  msgstr ""
4082
  "Envoyez-moi un rapport uniquement si des changements ont été détectés "
4083
  "(défaut)"
4084
 
4085
+ #: lib/monitoring_file_check.php:469
4086
  msgid "Always send me a report by email after a scheduled scan"
4087
  msgstr "Envoyez-moi toujours un rapport après une analyse automatique"
4088
 
4089
+ #: lib/monitoring_file_check.php:474
4090
  msgid "Save Scan Options"
4091
  msgstr "Sauvegarder les options"
4092
 
4093
+ #: lib/monitoring_file_check.php:486
4094
  msgid "Enter the full path to the directory to be scanned."
4095
  msgstr "Entrez le chemin complet vers le répertoire à scanner."
4096
 
4097
+ #: lib/monitoring_file_check.php:493
4098
  #, php-format
4099
  msgid "The directory %s does not exist."
4100
  msgstr "Le répertoire %s n'existe pas."
4101
 
4102
+ #: lib/monitoring_file_check.php:496
4103
  #, php-format
4104
  msgid "The directory %s is not readable."
4105
  msgstr "Le répertoire %s n'est pas lisible."
4106
 
4107
+ #: lib/monitoring_file_check.php:537
4108
  #, php-format
4109
  msgid "Cannot write to %s."
4110
  msgstr "Impossible d'écrire dans %s."
4111
 
4112
+ #: lib/monitoring_file_check.php:567
4113
  #, php-format
4114
  msgid "Error : cannot open %s directory."
4115
  msgstr "Erreur : impossible d'ouvrir le répertoire %s."
4116
 
4117
+ #: lib/monitoring_file_check.php:570
4118
  #, php-format
4119
  msgid "Error : %s directory is not readable."
4120
  msgstr "Erreur : le répertoire %s n'est pas lisible."
4121
 
4122
+ #: lib/monitoring_file_check.php:585
4123
  #, php-format
4124
  msgid "Missing options line %s, please try again."
4125
  msgstr "Option manquante (ligne %s). Veuillez essayer à nouveau."
4126
 
4127
+ #: lib/monitoring_file_check.php:595
4128
  #, php-format
4129
  msgid "Cannot create %s."
4130
  msgstr "Impossible de créer %s."
4131
 
4132
+ #: lib/monitoring_file_check.php:612
4133
  msgid "Error reading old snapshot file."
4134
  msgstr "Erreur lors de la lecture du fichier de l'ancien instantané."
4135
 
4136
+ #: lib/monitoring_file_check.php:623
4137
  msgid "Error reading new snapshot file."
4138
  msgstr "Erreur lors de la lecture du fichier du nouvel instantané."
4139
 
4140
+ #: lib/monitoring_file_check.php:739 ninjafirewall.php:433
4141
  msgid "New file"
4142
  msgstr "Nouveau fichier"
4143
 
4144
+ #: lib/monitoring_file_check.php:740 ninjafirewall.php:434
4145
  msgid "Modified file"
4146
  msgstr "Fichier modifié"
4147
 
4148
+ #: lib/monitoring_file_check.php:741 ninjafirewall.php:435
4149
  msgid "Deleted file"
4150
  msgstr "Fichier supprimé"
4151
 
4152
+ #: lib/monitoring_file_check.php:765
4153
  msgid "[NinjaFirewall] Alert: File Check detection"
4154
  msgstr "[NinjaFirewall] Alerte: Détection File Check"
4155
 
4156
+ #: lib/monitoring_file_check.php:768 lib/monitoring_file_check.php:770
4157
+ #: lib/monitoring_file_check.php:795 lib/monitoring_file_check.php:797
4158
  #: lib/security_rules_update.php:568 lib/security_rules_update.php:570
4159
+ #: lib/utils.php:221 lib/utils.php:341 lib/utils.php:926 lib/utils.php:1102
4160
+ #: lib/utils.php:1386
4161
  msgid "Blog:"
4162
  msgstr "Blog :"
4163
 
4164
+ #: lib/monitoring_file_check.php:772 lib/monitoring_file_check.php:799
4165
  #: lib/security_rules_update.php:573
4166
  #, php-format
4167
  msgid "Date: %s"
4168
  msgstr "Date : %s"
4169
 
4170
+ #: lib/monitoring_file_check.php:778
4171
  msgid "See attached file for details."
4172
  msgstr "Voir le fichier joint pour plus de détails."
4173
 
4174
+ #: lib/monitoring_file_check.php:792
4175
  msgid "[NinjaFirewall] File Check report"
4176
  msgstr "[NinjaFirewall] Rapport de File Check"
4177
 
4178
+ #: lib/monitoring_file_check.php:793
4179
  msgid "NinjaFirewall did not detect changes in your files."
4180
  msgstr "NinjaFirewall n'a pas détecté de changements dans vos fichiers."
4181
 
4183
  #, php-format
4184
  msgid ""
4185
  "You are running NinjaFirewall in <i>WordPress WAF</i> mode. The %s feature "
4186
+ "will be limited to WordPress files only (e.g., index.php, wp-login.php, "
4187
+ "xmlrpc.php, admin-ajax.php, wp-load.php etc). If you want it to apply to any "
4188
+ "PHP script, please <a href=\"%s\">go to the Dashboard page</a> and enable "
4189
+ "NinjaFirewall's Full WAF mode."
4190
  msgstr ""
4191
  "NinjaFirewall fonctionne en mode <i>WordPress WAF</i>. L'option %s sera "
4192
+ "limitée à certains fichiers de WordPress uniquement (par ex. index.php, wp-"
4193
  "login.php, xmlrpc.php, admin-ajax.php, wp-load.php etc). Si vous voulez que "
4194
+ "cette option s'applique à tous les fichiers PHP, allez dans le <a href=\"%s"
4195
+ "\">Tableau de Bord</a> et activez son mode Full WAF."
4196
 
4197
  #: lib/monitoring_file_guard.php:37
4198
  #, php-format
4232
  msgid "Save File Guard options"
4233
  msgstr "Sauvegarder les options"
4234
 
4235
+ #: lib/network.php:24 ninjafirewall.php:1069 ninjafirewall.php:1073
4236
  #, php-format
4237
  msgid "You are not allowed to perform this task (%s)."
4238
  msgstr "Vous n'êtes pas autorisé à effectuer cette tâche (%s)."
4258
  msgstr "Sauvegarder les options"
4259
 
4260
  #: lib/security_rules.php:44 lib/security_rules_update.php:574
4261
+ #: ninjafirewall.php:812
4262
  msgid "Security Rules"
4263
  msgstr "Règles de Sécurité"
4264
 
4531
  "Cette notification peut être désactivée depuis la page \"%s\" de "
4532
  "NinjaFirewall."
4533
 
 
 
 
 
4534
  #: lib/thickbox.php:47
4535
  msgid ""
4536
  "In <strong>Full WAF</strong> mode, all scripts located inside the blog "
4656
  msgid "Finish"
4657
  msgstr "Finaliser"
4658
 
4659
+ #: lib/utils.php:178 lib/utils.php:186
4660
  msgid "N/A"
4661
  msgstr "N/A"
4662
 
4663
+ #: lib/utils.php:192
4664
  #, php-format
4665
  msgid "Attempt to create a new %s"
4666
  msgstr "Tentative de création de %s"
4667
 
4668
+ #: lib/utils.php:196
4669
  #, php-format
4670
  msgid "Attempt to edit a published %s (ID: %s)"
4671
  msgstr "Tentative de modification de %s (ID: %s)"
4672
 
4673
+ #: lib/utils.php:202
4674
+ msgid "Unauthenticated user"
4675
+ msgstr "Utilisateur non authentifié"
4676
+
4677
+ #: lib/utils.php:207
4678
  msgid "Blocked post/page edition attempt"
4679
  msgstr "Tentative d'édition de page/article bloquée"
4680
 
4681
+ #: lib/utils.php:220
4682
  msgid ""
4683
  "NinjaFirewall has blocked an attempt to edit/create a post by a user who "
4684
  "doesn't have the right capabilities:"
4686
  "NinjaFirewall a bloqué une tentative de modification/création d'une page ou "
4687
  "d'un article par un utilisateur qui n'avait pas les capacités nécessaires :"
4688
 
4689
+ #: lib/utils.php:222 lib/utils.php:342 lib/utils.php:1106
4690
  msgid "Username:"
4691
  msgstr "Utilisateur :"
4692
 
4693
+ #: lib/utils.php:223
4694
  msgid "Action:"
4695
  msgstr "Action :"
4696
 
4697
+ #: lib/utils.php:226 lib/utils.php:343 lib/utils.php:1110 lib/utils.php:1387
4698
  msgid "User IP:"
4699
  msgstr "IP utilisateur :"
4700
 
4701
+ #: lib/utils.php:238 lib/utils.php:355 lib/utils.php:1122 lib/utils.php:1382
4702
  msgid "A PHP backtrace has been attached to this message for your convenience."
4703
  msgstr ""
4704
  "La pile d'exécution de PHP est jointe à ce message pour votre commodité."
4705
 
4706
+ #: lib/utils.php:240 lib/utils.php:1125 lib/utils.php:1392
4707
  msgid ""
4708
  "This protection (and notification) can be turned off from NinjaFirewall "
4709
  "\"Firewall Policies\" page."
4711
  "Cette protection (et notification) peut être désactivée à partir de la page "
4712
  "\"Politiques du Pare-feu\" de NinjaFirewall."
4713
 
4714
+ #: lib/utils.php:259 lib/utils.php:260 lib/utils.php:378 lib/utils.php:379
4715
+ #: lib/utils.php:1146 lib/utils.php:1147
4716
  msgid "You are not allowed to perform this task."
4717
  msgstr "Vous n'êtes pas autorisé à effectuer cette tâche."
4718
 
4719
+ #: lib/utils.php:327
4720
  msgid "Blocked user account creation"
4721
  msgstr "Création de compte d'utilisateur bloquée"
4722
 
4723
+ #: lib/utils.php:339
4724
  msgid "NinjaFirewall has blocked an attempt to create a user account:"
4725
  msgstr ""
4726
  "NinjaFirewall a bloqué une tentative de création d'un compte d'utilisateur :"
4727
 
4728
+ #: lib/utils.php:652 lib/utils.php:656
4729
  msgid "NinjaFirewall error"
4730
  msgstr "NinjaFirewall Erreur"
4731
 
4732
+ #: lib/utils.php:653
4733
  #, php-format
4734
  msgid ""
4735
  "%s directory cannot be created. Please review your installation and ensure "
4738
  "Le répertoire %s ne peut pas être créé. Vérifiez votre installation et "
4739
  "assurez vous que %s n'est pas en lecture seule."
4740
 
4741
+ #: lib/utils.php:657
4742
  #, php-format
4743
  msgid ""
4744
  "%s directory is read-only. Please review your installation and ensure that "
4747
  "Le répertoire %s est en lecture seule. Vérifiez votre installation et les "
4748
  "permissions de %s."
4749
 
4750
+ #: lib/utils.php:672
4751
  msgid "unknown error"
4752
  msgstr "erreur inconnue"
4753
 
4754
+ #: lib/utils.php:674
4755
  msgid "NinjaFirewall fatal error:"
4756
  msgstr "NinjaFirewall erreur fatale :"
4757
 
4758
+ #: lib/utils.php:675
4759
  msgid "Review your installation, your site is not protected."
4760
  msgstr "Vérifiez votre installation, votre site n'est pas protégé."
4761
 
4762
+ #: lib/utils.php:700
4763
  msgid "Alert: WordPress console login"
4764
  msgstr "Alerte : Connexion à WordPress"
4765
 
4766
+ #: lib/utils.php:706
4767
  msgid "Someone just logged in to your WordPress admin console:"
4768
  msgstr "Quelqu'un vient de se connecter à votre Tableau de bord de WordPress:"
4769
 
4770
+ #: lib/utils.php:712
4771
  msgid "Support forum"
4772
  msgstr "Forum"
4773
 
4774
+ #: lib/utils.php:792 lib/utils.php:819
4775
  msgid "Forbidden access"
4776
  msgstr "Accès interdit"
4777
 
4778
+ #: lib/utils.php:838
4779
  #, php-format
4780
  msgid ""
4781
  "<strong>ERROR</strong>: Invalid username or password.<br /><a href=\"%s"
4784
  "<strong>ERREUR</strong>: Identifiant ou mot de passe invalide.<br /><a href="
4785
  "\"%s\">Mot de passe perdu</a> ?"
4786
 
4787
+ #: lib/utils.php:922
4788
  msgid "[NinjaFirewall] Alert: Database changes detected"
4789
  msgstr "[NinjaFirewall] Alerte: Modification dans la base de données"
4790
 
4791
+ #: lib/utils.php:923
4792
  msgid ""
4793
  "NinjaFirewall has detected that one or more administrator accounts were "
4794
  "modified in the database:"
4796
  "NinjaFirewall a détecté que un ou plusieurs comptes d'administrateur ont été "
4797
  "modifiés dans la base de données:"
4798
 
4799
+ #: lib/utils.php:928
4800
  #, php-format
4801
  msgid "Total administrators : %s"
4802
  msgstr "Nombre d'administrateurs : %s"
4803
 
4804
+ #: lib/utils.php:937
4805
  msgid ""
4806
  "If you cannot see any modifications in the above fields, it is possible that "
4807
  "the administrator password was changed."
4809
  "Si vous ne voyez pas de modifications dans les données ci-dessus, il est "
4810
  "possible que le mot de passe administrateur ait été changé."
4811
 
4812
+ #: lib/utils.php:1087
4813
  msgid "Blocked privilege escalation attempt"
4814
  msgstr "Tentatives d'élévation des privilèges"
4815
 
4816
+ #: lib/utils.php:1100
4817
  msgid ""
4818
  "NinjaFirewall has blocked an attempt to modify a user capability by someone "
4819
  "who does not have administrative privileges:"
4821
  "NinjaFirewall a bloqué une tentative de modification de certaines Capacités "
4822
  "par un utilisateur ne disposant pas de privilèges administratifs :"
4823
 
4824
+ #: lib/utils.php:1158
4825
  msgid ""
4826
  "NinjaFirewall brute-force protection is enabled and you are temporarily "
4827
  "whitelisted."
4829
  "La protection de NinjaFirewall contre les attaques par force brute est "
4830
  "activée. Vous êtes temporairement dans la liste blanche."
4831
 
4832
+ #: lib/utils.php:1173
4833
  #, php-format
4834
  msgid ""
4835
  "Hey, it seems that you've been using NinjaFirewall for some time. If you "
4842
  "a>. Il a fallu des milliers d'heures pour le développer, mais il suffit "
4843
  "seulement de quelques minutes pour le noter. Merci !"
4844
 
4845
+ #: lib/utils.php:1354
4846
  msgid ""
4847
  "The attempt was blocked and the option was reversed to its original value."
4848
  msgstr ""
4849
  "La tentative a été bloquée et l'option a été remise à sa valeur d'origine."
4850
 
4851
+ #: lib/utils.php:1359
4852
  msgid "Attempt to modify WordPress settings"
4853
  msgstr "Tentative de modification des paramètres de WordPress"
4854
 
4855
+ #: lib/utils.php:1360
4856
  msgid ""
4857
  "NinjaFirewall has blocked an attempt to modify some important WordPress "
4858
  "settings by a user that does not have administrative privileges:"
4861
  "importants de WordPress par un utilisateur ne disposant pas de privilèges "
4862
  "administratifs :"
4863
 
4864
+ #: lib/utils.php:1361 lib/utils.php:1370
4865
  #, php-format
4866
  msgid "Option: %s"
4867
  msgstr "Option: %s"
4868
 
4869
+ #: lib/utils.php:1362
4870
  #, php-format
4871
  msgid "Original value: %s"
4872
  msgstr "Valeur originale : %s"
4873
 
4874
+ #: lib/utils.php:1363
4875
  #, php-format
4876
  msgid "Modified value: %s"
4877
  msgstr "Valeur modifiée : %s"
4878
 
4879
+ #: lib/utils.php:1364 lib/utils.php:1372
4880
  #, php-format
4881
  msgid "Action taken: %s"
4882
  msgstr "Action prise : %s"
4883
 
4884
+ #: lib/utils.php:1368
4885
  msgid "Code injection attempt in WordPress options table"
4886
  msgstr "Tentative d'injection de code dans la table des options de WordPress"
4887
 
4888
+ #: lib/utils.php:1369
4889
  msgid ""
4890
  "NinjaFirewall has blocked an attempt to inject code in the WordPress options "
4891
  "table by a user that does not have administrative privileges:"
4894
  "options de WordPress par un utilisateur ne disposant pas de privilèges "
4895
  "administratifs :"
4896
 
4897
+ #: lib/utils.php:1371
4898
  #, php-format
4899
  msgid "Code: %s"
4900
  msgstr "Code : %s"
4901
 
4902
+ #: lib/utils.php:1427
4903
  #, php-format
4904
  msgid "Error, cannot create the %s folder."
4905
  msgstr "Erreur, impossible de créer le répertoire %s."
4906
 
4907
+ #: lib/utils.php:1427 lib/utils.php:1435 lib/utils.php:1443
4908
  msgid "Check your server permissions and try again."
4909
  msgstr "Vérifiez les autorisations de votre serveur et réessayez."
4910
 
4911
+ #: lib/utils.php:1435
4912
  #, php-format
4913
  msgid "Error, the %s folder is not writable."
4914
  msgstr "Erreur, le répertoire %s est en lecture seule."
4915
 
4916
+ #: lib/utils.php:1443
4917
  #, php-format
4918
  msgid "Error, cannot write %s."
4919
  msgstr "Erreur, impossible d'écrire dans %s."
4942
  msgid "View firewall log"
4943
  msgstr "Voir le journal du pare-feu"
4944
 
4945
+ #: lib/widget.php:133
4946
  msgid "Latest Security News"
4947
  msgstr "Dernières Articles sur la Sécurité"
4948
 
4949
+ #: lib/widget.php:137
4950
  msgid "M jS, Y"
4951
  msgstr "M jS, Y"
4952
 
4953
+ #: lib/widget.php:148
4954
  msgid "More Security News"
4955
  msgstr "Autres Articles sur la Sécurité"
4956
 
4957
+ #: lib/widget.php:148
4958
  msgid "(opens in a new tab)"
4959
  msgstr ""
4960
 
4961
+ #: lib/widget.php:148
4962
  msgid "NinjaFirewall's Home"
4963
  msgstr "Site de NinjaFirewall"
4964
 
5201
 
5202
  #: lib/wpplus.php:190
5203
  msgid ""
5204
+ "You can allow uploads while rejecting potentially dangerous files, "
5205
+ "<strong>even if they are compressed inside a ZIP archive</strong>: scripts "
5206
  "(PHP, CGI, Ruby, Python, bash/shell), C/C++ source code, binaries (MZ/PE/NE "
5207
  "and ELF formats), system files (.htaccess, .htpasswd and PHP INI) and SVG "
5208
  "files containing Javascript/XML events. You can easily limit the size of "
5209
  "each uploaded file too, without having to modify your PHP configuration."
5210
  msgstr ""
5211
  "Vous pouvez autoriser ou interdire tout téléchargement de fichier vers votre "
5212
+ "site, ou bien bloquer uniquement les fichiers potentiellement dangereux, "
5213
+ "même s'ils sont compresses dans un fichier ZIP : scripts (PHP, CGI, Ruby, "
5214
+ "Python, bash/shell), code source C/C++, fichiers exécutables (MZ/PE/NE et "
5215
+ "ELF), certains fichiers systèmes (.htaccess, .htpasswd et PHP INI) et les "
5216
+ "fichiers SVG contenant du JavaScript ou des Événements XML. Vous pouvez "
5217
+ "aussi sélectionner la taille maximale d'un fichier téléchargé, sans avoir à "
5218
+ "modifier la configuration de PHP."
5219
 
5220
  #: lib/wpplus.php:208
5221
  msgid ""
5585
  msgid "Error: The HTTP server returned the following error code:"
5586
  msgstr "Erreur : Le serveur HTTP a retourné le code d'erreur suivant :"
5587
 
5588
+ #: ninjafirewall.php:597 ninjafirewall.php:708
5589
  msgid "Error: Security nonces do not match. Reload the page and try again."
5590
  msgstr ""
5591
  "Erreur : Les nonces de sécurité ne correspondent pas. Veuillez recharger "
5592
  "cette page."
5593
 
5594
+ #: ninjafirewall.php:603
5595
  msgid "Error: NinjaFirewall is disabled"
5596
  msgstr "Erreur : NinjaFirewall est désactivé"
5597
 
5598
+ #: ninjafirewall.php:608
5599
  #, php-format
5600
  msgid "Error: missing parameter (%s)."
5601
  msgstr "Erreur : Paramètre manquant (%s)."
5602
 
5603
+ #: ninjafirewall.php:770
5604
  msgid "NinjaFirewall: Dashboard"
5605
  msgstr "NinjaFirewall : Tableau de Bord"
5606
 
5607
+ #: ninjafirewall.php:774
5608
  msgid "NinjaFirewall: Firewall Options"
5609
  msgstr "NinjaFirewall : Options du Pare-feu"
5610
 
5611
+ #: ninjafirewall.php:778
5612
  msgid "NinjaFirewall: Firewall Policies"
5613
  msgstr "NinjaFirewall : Politiques du Pare-feu"
5614
 
5615
+ #: ninjafirewall.php:782
5616
  msgid "NinjaFirewall: Monitoring"
5617
  msgstr "NinjaFirewall : Monitoring"
5618
 
5619
+ #: ninjafirewall.php:792
5620
  msgid "NinjaFirewall: Anti-Malware"
5621
  msgstr "NinjaFirewall : Anti-Malware"
5622
 
5623
+ #: ninjafirewall.php:796
5624
  msgid "NinjaFirewall: Network"
5625
  msgstr "NinjaFirewall : Réseau"
5626
 
5627
+ #: ninjafirewall.php:800
5628
  msgid "NinjaFirewall: Event Notifications"
5629
  msgstr "NinjaFirewall : Notifications d’Événement"
5630
 
5631
+ #: ninjafirewall.php:804
5632
  msgid "NinjaFirewall: Log-in Protection"
5633
  msgstr "NinjaFirewall : Page de Connexion"
5634
 
5635
+ #: ninjafirewall.php:808
5636
  msgid "NinjaFirewall: Logs"
5637
  msgstr "NinjaFirewall : Journaux"
5638
 
5639
+ #: ninjafirewall.php:812
5640
  msgid "NinjaFirewall: Security Rules"
5641
  msgstr "NinjaFirewall : Règles de Sécurité"
5642
 
5643
+ #: ninjafirewall.php:856
5644
  msgid "NinjaFirewall Settings"
5645
  msgstr "Réglages de NinjaFirewall"
5646
 
5647
+ #: ninjafirewall.php:864
5648
  msgid "NinjaFirewall is enabled"
5649
  msgstr "NinjaFirewall est activé"
5650
 
5651
+ #: ninjafirewall.php:1004
5652
  msgid "Access Restricted"
5653
  msgstr "Accès limité"
5654
 
5655
+ #: ninjafirewall.php:1010
5656
  msgid "Settings"
5657
  msgstr "Réglages"
5658
 
5659
+ #: ninjafirewall.php:1011
5660
  msgid "Upgrade to Premium"
5661
  msgstr "Passez Premium !"
5662
 
5663
+ #: ninjafirewall.php:1012
5664
  msgid "Rate it!"
5665
  msgstr "Notez-le !"
5666
 
5667
+ #~ msgid ""
5668
+ #~ "For better protection, <a %s>click here</a> to enable its Full WAF mode."
5669
+ #~ msgstr ""
5670
+ #~ "Pour une meilleure protection, <a %s>cliquez ici</a> pour activer son "
5671
+ #~ "mode Full WAF."
5672
+
5673
+ #~ msgid "Click to install NinjaFirewall in Full WAF mode."
5674
+ #~ msgstr "Cliquez pour installer NinjaFirewall en mode Full WAF."
5675
+
5676
+ #~ msgid "Upgrade to Full WAF mode"
5677
+ #~ msgstr "Passer en mode Full WAF"
5678
+
5679
+ #~ msgid ""
5680
+ #~ "This feature is only available when NinjaFirewall is running in %s mode."
5681
+ #~ msgstr ""
5682
+ #~ "Cette option ne peut être activée que lorsque NinjaFirewall fonctionne en "
5683
+ #~ "mode %s."
5684
+
5685
+ #~ msgid ""
5686
+ #~ "You are running NinjaFirewall in <i>WordPress WAF</i> mode. The %s "
5687
+ #~ "feature will be limited to a few WordPress files only (e.g., index.php, "
5688
+ #~ "wp-login.php, xmlrpc.php, admin-ajax.php, wp-load.php etc). If you want "
5689
+ #~ "it to apply to any PHP script, you will need to run NinjaFirewall in %s "
5690
+ #~ "mode."
5691
+ #~ msgstr ""
5692
+ #~ "NinjaFirewall fonctionne en mode <i>WordPress WAF</i>. L'option %s sera "
5693
+ #~ "limitée à quelques fichiers de WordPress uniquement (par ex. index.php, "
5694
+ #~ "wp-login.php, xmlrpc.php, admin-ajax.php, wp-load.php etc). Si vous "
5695
+ #~ "voulez que cette option s'applique à tous les fichiers PHP, vous devez "
5696
+ #~ "installer NinjaFirewall en mode %s."
5697
+
5698
+ #~ msgid ""
5699
+ #~ "You can allow uploads while rejecting potentially dangerous files: "
5700
+ #~ "scripts (PHP, CGI, Ruby, Python, bash/shell), C/C++ source code, binaries "
5701
+ #~ "(MZ/PE/NE and ELF formats), system files (.htaccess, .htpasswd and PHP "
5702
+ #~ "INI) and SVG files containing Javascript/XML events. You can easily limit "
5703
+ #~ "the size of each uploaded file too, without having to modify your PHP "
5704
+ #~ "configuration."
5705
+ #~ msgstr ""
5706
+ #~ "Vous pouvez autoriser ou interdire tout téléchargement de fichier vers "
5707
+ #~ "votre site, ou bien bloquer uniquement les fichiers potentiellement "
5708
+ #~ "dangereux : scripts (PHP, CGI, Ruby, Python, bash/shell), code source C/C+"
5709
+ #~ "+, fichiers exécutables (MZ/PE/NE et ELF), certains fichiers systèmes (."
5710
+ #~ "htaccess, .htpasswd et PHP INI) et les fichiers SVG contenant du "
5711
+ #~ "JavaScript ou des Événements XML. Vous pouvez aussi sélectionner la "
5712
+ #~ "taille maximale d'un fichier téléchargé, sans avoir à modifier la "
5713
+ #~ "configuration de PHP."
5714
+
5715
  #~ msgid ""
5716
  #~ "The protection will be triggered when too many login attempts are "
5717
  #~ "detected, regardless of the offending IP. It blocks the attack instantly "
languages/ninjafirewall.pot CHANGED
@@ -2,7 +2,7 @@
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Stable (latest release)\n"
5
- "POT-Creation-Date: 2020-05-05 19:20+0700\n"
6
  "PO-Revision-Date: 2018-04-05 22:52+0700\n"
7
  "Last-Translator: NinTechNet <contact@nintechnet.com>\n"
8
  "Language-Team: \n"
@@ -18,7 +18,7 @@ msgstr ""
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPathExcluded-0: /languages\n"
20
 
21
- #: lib/anti_malware.php:24 ninjafirewall.php:786
22
  msgid "Anti-Malware"
23
  msgstr ""
24
 
@@ -76,7 +76,7 @@ msgstr ""
76
  msgid "NinjaFirewall (WP Edition)"
77
  msgstr ""
78
 
79
- #: lib/dashboard.php:120 ninjafirewall.php:764
80
  msgid "Dashboard"
81
  msgstr ""
82
 
@@ -142,7 +142,7 @@ msgstr ""
142
  msgid "Firewall"
143
  msgstr ""
144
 
145
- #: lib/dashboard.php:187 lib/dashboard.php:323 lib/firewall_options.php:64
146
  #: lib/login_protection.php:203 lib/logs_live_log.php:101
147
  #: lib/monitoring_file_guard.php:70 lib/security_rules_update.php:138
148
  msgid "Enabled"
@@ -152,82 +152,83 @@ msgstr ""
152
  msgid "Mode"
153
  msgstr ""
154
 
155
- #: lib/dashboard.php:199 lib/dashboard.php:205
156
  #, php-format
157
- msgid "NinjaFirewall is running in %s mode."
 
 
158
  msgstr ""
159
 
160
- #: lib/dashboard.php:199
161
  msgid "WordPress WAF"
162
  msgstr ""
163
 
164
- #: lib/dashboard.php:201
165
- #, php-format
166
- msgid ""
167
- "For better protection, <a %s>click here</a> to enable its Full WAF mode."
168
  msgstr ""
169
 
170
- #: lib/dashboard.php:201
171
- msgid "Click to install NinjaFirewall in Full WAF mode."
 
172
  msgstr ""
173
 
174
- #: lib/dashboard.php:205
175
  msgid "Full WAF"
176
  msgstr ""
177
 
178
- #: lib/dashboard.php:218 lib/firewall_options.php:76 lib/help.php:77
179
  msgid "Debugging mode"
180
  msgstr ""
181
 
182
- #: lib/dashboard.php:219
183
  msgid "Enabled."
184
  msgstr ""
185
 
186
- #: lib/dashboard.php:219
187
  msgid "Click here to turn Debugging Mode off"
188
  msgstr ""
189
 
190
- #: lib/dashboard.php:225
191
  msgid "Edition"
192
  msgstr ""
193
 
194
- #: lib/dashboard.php:226
195
  msgid ""
196
  "Need more security? Explore our supercharged premium version: NinjaFirewall "
197
  "(WP+ Edition)"
198
  msgstr ""
199
 
200
- #: lib/dashboard.php:229
201
  msgid "Version"
202
  msgstr ""
203
 
204
- #: lib/dashboard.php:230
205
  msgid "Security rules:"
206
  msgstr ""
207
 
208
- #: lib/dashboard.php:234
209
  msgid "PHP SAPI"
210
  msgstr ""
211
 
212
- #: lib/dashboard.php:252
213
  msgid "Updates"
214
  msgstr ""
215
 
216
- #: lib/dashboard.php:253
217
  msgid "Security rules updates are disabled."
218
  msgstr ""
219
 
220
- #: lib/dashboard.php:253
221
  msgid ""
222
  "If you want your blog to be protected against the latest threats, enable "
223
  "automatic security rules updates."
224
  msgstr ""
225
 
226
- #: lib/dashboard.php:261 lib/dashboard.php:269
227
  msgid "Admin user"
228
  msgstr ""
229
 
230
- #: lib/dashboard.php:262
231
  #, php-format
232
  msgid ""
233
  "You are not whitelisted. Ensure that the \"Do not block WordPress "
@@ -236,71 +237,71 @@ msgid ""
236
  "your administration dashboard."
237
  msgstr ""
238
 
239
- #: lib/dashboard.php:270
240
  msgid "You are whitelisted by the firewall."
241
  msgstr ""
242
 
243
- #: lib/dashboard.php:277
244
  msgid "Restrictions"
245
  msgstr ""
246
 
247
- #: lib/dashboard.php:278
248
  msgid "Access to NinjaFirewall is restricted to specific users."
249
  msgstr ""
250
 
251
- #: lib/dashboard.php:289
252
  msgid "User session"
253
  msgstr ""
254
 
255
- #: lib/dashboard.php:290
256
  msgid ""
257
  "It seems that the user session set by NinjaFirewall was not found by the "
258
  "firewall script."
259
  msgstr ""
260
 
261
- #: lib/dashboard.php:298
262
  #, php-format
263
  msgid ""
264
  "the public key is invalid. Please <a href=\"%s\">check your configuration</"
265
  "a>."
266
  msgstr ""
267
 
268
- #: lib/dashboard.php:302
269
  msgid "No IP address restriction."
270
  msgstr ""
271
 
272
- #: lib/dashboard.php:305
273
  #, php-format
274
  msgid "IP address %s is allowed to access NinjaFirewall's log on this server."
275
  msgstr ""
276
 
277
- #: lib/dashboard.php:308
278
  #, php-format
279
  msgid ""
280
  "the whitelisted IP is not valid. Please <a href=\"%s\">check your "
281
  "configuration</a>."
282
  msgstr ""
283
 
284
- #: lib/dashboard.php:313 lib/help.php:462 lib/logs_firewall_log.php:194
285
  #: lib/wpplus.php:170
286
  msgid "Centralized Logging"
287
  msgstr ""
288
 
289
- #: lib/dashboard.php:317 lib/security_rules_update.php:430
290
  #, php-format
291
  msgid "Error: %s"
292
  msgstr ""
293
 
294
- #: lib/dashboard.php:332
295
  msgid "Source IP"
296
  msgstr ""
297
 
298
- #: lib/dashboard.php:333
299
  #, php-format
300
  msgid "You have a private IP : %s"
301
  msgstr ""
302
 
303
- #: lib/dashboard.php:333
304
  #, php-format
305
  msgid ""
306
  "If your site is behind a reverse proxy or a load balancer, ensure that you "
@@ -308,11 +309,11 @@ msgid ""
308
  "otherwise use the NinjaFirewall %s configuration file."
309
  msgstr ""
310
 
311
- #: lib/dashboard.php:341 lib/dashboard.php:351
312
  msgid "CDN detection"
313
  msgstr ""
314
 
315
- #: lib/dashboard.php:342
316
  #, php-format
317
  msgid ""
318
  "%s detected: you seem to be using Cloudflare CDN services. Ensure that you "
@@ -320,7 +321,7 @@ msgid ""
320
  "otherwise use the NinjaFirewall %s configuration file."
321
  msgstr ""
322
 
323
- #: lib/dashboard.php:352
324
  #, php-format
325
  msgid ""
326
  "%s detected: you seem to be using Incapsula CDN services. Ensure that you "
@@ -328,28 +329,28 @@ msgid ""
328
  "otherwise use the NinjaFirewall %s configuration file."
329
  msgstr ""
330
 
331
- #: lib/dashboard.php:361 lib/dashboard.php:370
332
  msgid "Log dir"
333
  msgstr ""
334
 
335
- #: lib/dashboard.php:362 lib/dashboard.php:371
336
  #, php-format
337
  msgid "%s directory is not writable! Please chmod it to 0777 or equivalent."
338
  msgstr ""
339
 
340
- #: lib/dashboard.php:379
341
  msgid "Optional configuration file"
342
  msgstr ""
343
 
344
- #: lib/dashboard.php:386
345
  msgid "MySQLi link identifier"
346
  msgstr ""
347
 
348
- #: lib/dashboard.php:387
349
  msgid "A MySQLi link identifier was detected in your <code>.htninja</code>."
350
  msgstr ""
351
 
352
- #: lib/dashboard.php:393
353
  msgid "Help &amp; configuration"
354
  msgstr ""
355
 
@@ -433,7 +434,7 @@ msgstr ""
433
  msgid "Select monthly stats to view..."
434
  msgstr ""
435
 
436
- #: lib/event_notifications.php:34 lib/help.php:372 ninjafirewall.php:794
437
  msgid "Event Notifications"
438
  msgstr ""
439
 
@@ -675,23 +676,23 @@ msgstr ""
675
  msgid "Blocked brute-force attacks:"
676
  msgstr ""
677
 
678
- #: lib/event_notifications.php:497 lib/event_updates.php:222 lib/utils.php:927
679
  msgid ""
680
  "This notification can be turned off from NinjaFirewall \"Event Notifications"
681
  "\" page."
682
  msgstr ""
683
 
684
  #: lib/event_notifications.php:501 lib/event_updates.php:224 lib/events.php:225
685
- #: lib/firewall_options.php:573 lib/monitoring_file_check.php:777
686
- #: lib/monitoring_file_check.php:798 lib/security_rules_update.php:576
687
  msgid "Support forum:"
688
  msgstr ""
689
 
690
  #: lib/event_notifications.php:504 lib/event_updates.php:227 lib/events.php:228
691
- #: lib/firewall_options.php:576 lib/monitoring_file_check.php:780
692
- #: lib/monitoring_file_check.php:801 lib/security_rules_update.php:579
693
- #: lib/utils.php:235 lib/utils.php:355 lib/utils.php:704 lib/utils.php:932
694
- #: lib/utils.php:1119 lib/utils.php:1386
695
  #, php-format
696
  msgid ""
697
  "Need more security? Check out our supercharged NinjaFirewall (WP+ Edition): "
@@ -708,8 +709,8 @@ msgid ""
708
  "your website:"
709
  msgstr ""
710
 
711
- #: lib/event_updates.php:160 lib/utils.php:222 lib/utils.php:339
712
- #: lib/utils.php:916 lib/utils.php:1102 lib/utils.php:1379
713
  msgid "Date:"
714
  msgstr ""
715
 
@@ -806,7 +807,7 @@ msgstr ""
806
  msgid "[NinjaFirewall] Alert: %s"
807
  msgstr ""
808
 
809
- #: lib/events.php:213 lib/events.php:215 lib/utils.php:691
810
  msgid "-Blog:"
811
  msgstr ""
812
 
@@ -814,19 +815,19 @@ msgstr ""
814
  msgid "NinjaFirewall has detected the following activity on your account:"
815
  msgstr ""
816
 
817
- #: lib/events.php:220 lib/utils.php:696
818
  msgid "-User:"
819
  msgstr ""
820
 
821
- #: lib/events.php:221 lib/utils.php:697
822
  msgid "-IP:"
823
  msgstr ""
824
 
825
- #: lib/events.php:222 lib/utils.php:698
826
  msgid "-Date:"
827
  msgstr ""
828
 
829
- #: lib/firewall_options.php:29 ninjafirewall.php:768
830
  msgid "Firewall Options"
831
  msgstr ""
832
 
@@ -1015,10 +1016,11 @@ msgstr ""
1015
  #: lib/firewall_policies.php:29
1016
  #, php-format
1017
  msgid ""
1018
- "This feature is only available when NinjaFirewall is running in %s mode."
 
1019
  msgstr ""
1020
 
1021
- #: lib/firewall_policies.php:62 ninjafirewall.php:772
1022
  msgid "Firewall Policies"
1023
  msgstr ""
1024
 
@@ -2284,7 +2286,7 @@ msgid ""
2284
  "package (third-party software, shell script, backdoor etc)."
2285
  msgstr ""
2286
 
2287
- #: lib/help.php:355 lib/network.php:32 ninjafirewall.php:790
2288
  msgid "Network"
2289
  msgstr ""
2290
 
@@ -2320,7 +2322,7 @@ msgid ""
2320
  "theme in order to take full control of your website."
2321
  msgstr ""
2322
 
2323
- #: lib/help.php:384 lib/login_protection.php:21 ninjafirewall.php:798
2324
  msgid "Login Protection"
2325
  msgstr ""
2326
 
@@ -2702,7 +2704,7 @@ msgid ""
2702
  "Error: Your .htaccess file is not writable, please change its permissions: %s"
2703
  msgstr ""
2704
 
2705
- #: lib/install.php:97 ninjafirewall.php:606 ninjafirewall.php:610
2706
  #, php-format
2707
  msgid "Error: wrong parameter value (%s)."
2708
  msgstr ""
@@ -2741,19 +2743,19 @@ msgstr ""
2741
  msgid "File is not writable"
2742
  msgstr ""
2743
 
2744
- #: lib/install_default.php:170
2745
  msgid ""
2746
  "Error: The installer cannot download the security rules from wordpress.org "
2747
  "website."
2748
  msgstr ""
2749
 
2750
- #: lib/install_default.php:171
2751
  msgid ""
2752
  "The server may be temporarily down or you may have network connectivity "
2753
  "problems? Please try again in a few minutes."
2754
  msgstr ""
2755
 
2756
- #: lib/install_default.php:172
2757
  msgid ""
2758
  "NinjaFirewall downloads its rules over an HTTPS secure connection. Maybe "
2759
  "your server does not support SSL? You can force NinjaFirewall to use a non-"
@@ -2761,7 +2763,7 @@ msgid ""
2761
  "config.php</strong> file:"
2762
  msgstr ""
2763
 
2764
- #: lib/install_default.php:250
2765
  #, php-format
2766
  msgid ""
2767
  "NinjaFirewall cannot create its <code>nfwlog/</code>log and cache folder; "
@@ -2940,7 +2942,7 @@ msgstr ""
2940
  msgid "Error: unable to write to the %s configuration file"
2941
  msgstr ""
2942
 
2943
- #: lib/logs.php:36 ninjafirewall.php:802
2944
  msgid "Logs"
2945
  msgstr ""
2946
 
@@ -3095,7 +3097,7 @@ msgstr ""
3095
  msgid "Inclusion and exclusion filters (REQUEST_URI)"
3096
  msgstr ""
3097
 
3098
- #: lib/logs_live_log.php:160 lib/monitoring_file_check.php:395
3099
  msgid "None"
3100
  msgstr ""
3101
 
@@ -3107,7 +3109,7 @@ msgstr ""
3107
  msgid "Must not include"
3108
  msgstr ""
3109
 
3110
- #: lib/logs_live_log.php:164 lib/monitoring_file_check.php:153
3111
  #: lib/monitoring_file_guard.php:89
3112
  msgid "e.g.,"
3113
  msgstr ""
@@ -3150,7 +3152,7 @@ msgstr ""
3150
  msgid "Error: please enter the custom log format."
3151
  msgstr ""
3152
 
3153
- #: lib/monitoring.php:43 ninjafirewall.php:776
3154
  msgid "Monitoring"
3155
  msgstr ""
3156
 
@@ -3166,7 +3168,7 @@ msgstr ""
3166
  msgid "You must create a snapshot first."
3167
  msgstr ""
3168
 
3169
- #: lib/monitoring_file_check.php:96 lib/monitoring_file_check.php:763
3170
  msgid "NinjaFirewall detected that changes were made to your files."
3171
  msgstr ""
3172
 
@@ -3174,308 +3176,308 @@ msgstr ""
3174
  msgid "No changes detected."
3175
  msgstr ""
3176
 
3177
- #: lib/monitoring_file_check.php:132
3178
  msgid ""
3179
  "File Check lets you perform file integrity monitoring upon request or on a "
3180
  "specific interval. To start, create a snapshot of your files by clicking the "
3181
  "button below."
3182
  msgstr ""
3183
 
3184
- #: lib/monitoring_file_check.php:139
3185
  msgid "Create a snapshot of all files stored in that directory"
3186
  msgstr ""
3187
 
3188
- #: lib/monitoring_file_check.php:147
3189
  #, php-format
3190
  msgid "Default: %s"
3191
  msgstr ""
3192
 
3193
- #: lib/monitoring_file_check.php:152 lib/monitoring_file_guard.php:88
3194
  msgid "Exclude the following files/folders (optional)"
3195
  msgstr ""
3196
 
3197
- #: lib/monitoring_file_check.php:153
3198
  msgid ""
3199
  "Full or partial case-sensitive string(s). Multiple values must be comma-"
3200
  "separated"
3201
  msgstr ""
3202
 
3203
- #: lib/monitoring_file_check.php:159
3204
  msgid "Do not follow symbolic links (default)"
3205
  msgstr ""
3206
 
3207
- #: lib/monitoring_file_check.php:165
3208
  msgid "Create Snapshot"
3209
  msgstr ""
3210
 
3211
- #: lib/monitoring_file_check.php:231
3212
  msgid "Last snapshot"
3213
  msgstr ""
3214
 
3215
- #: lib/monitoring_file_check.php:233
3216
  #, php-format
3217
  msgid "Created on: %s"
3218
  msgstr ""
3219
 
3220
- #: lib/monitoring_file_check.php:234
3221
  #, php-format
3222
  msgid "Total files: %s "
3223
  msgstr ""
3224
 
3225
- #: lib/monitoring_file_check.php:236
3226
  msgid "Directory:"
3227
  msgstr ""
3228
 
3229
- #: lib/monitoring_file_check.php:240
3230
  msgid "Exclusion:"
3231
  msgstr ""
3232
 
3233
- #: lib/monitoring_file_check.php:246
3234
  msgid "Symlinks:"
3235
  msgstr ""
3236
 
3237
- #: lib/monitoring_file_check.php:248
3238
  msgid "follow"
3239
  msgstr ""
3240
 
3241
- #: lib/monitoring_file_check.php:250
3242
  msgid "do not follow"
3243
  msgstr ""
3244
 
3245
- #: lib/monitoring_file_check.php:254
3246
  #, php-format
3247
  msgid "Processing time: %s seconds"
3248
  msgstr ""
3249
 
3250
- #: lib/monitoring_file_check.php:259
3251
  msgid "Download Snapshot"
3252
  msgstr ""
3253
 
3254
- #: lib/monitoring_file_check.php:259
3255
  msgid "Delete Snapshot"
3256
  msgstr ""
3257
 
3258
- #: lib/monitoring_file_check.php:265
3259
  msgid "Last changes"
3260
  msgstr ""
3261
 
3262
- #: lib/monitoring_file_check.php:272 lib/monitoring_file_check.php:771
3263
  #, php-format
3264
  msgid "New files: %s"
3265
  msgstr ""
3266
 
3267
- #: lib/monitoring_file_check.php:273 lib/monitoring_file_check.php:773
3268
  #, php-format
3269
  msgid "Deleted files: %s"
3270
  msgstr ""
3271
 
3272
- #: lib/monitoring_file_check.php:274 lib/monitoring_file_check.php:772
3273
  #, php-format
3274
  msgid "Modified files: %s"
3275
  msgstr ""
3276
 
3277
- #: lib/monitoring_file_check.php:278
3278
  msgid "View Changes"
3279
  msgstr ""
3280
 
3281
- #: lib/monitoring_file_check.php:282
3282
  msgid "Download Changes"
3283
  msgstr ""
3284
 
3285
- #: lib/monitoring_file_check.php:294
3286
  msgid "Click a file to get more info about it."
3287
  msgstr ""
3288
 
3289
- #: lib/monitoring_file_check.php:297
3290
  msgid "New files:"
3291
  msgstr ""
3292
 
3293
- #: lib/monitoring_file_check.php:306 lib/monitoring_file_check.php:359
3294
  msgid "Size"
3295
  msgstr ""
3296
 
3297
- #: lib/monitoring_file_check.php:310 lib/monitoring_file_check.php:364
3298
  msgid "Access"
3299
  msgstr ""
3300
 
3301
- #: lib/monitoring_file_check.php:314 lib/monitoring_file_check.php:369
3302
  msgid "Uid / Gid"
3303
  msgstr ""
3304
 
3305
- #: lib/monitoring_file_check.php:318 lib/monitoring_file_check.php:374
3306
  msgid "Modify"
3307
  msgstr ""
3308
 
3309
- #: lib/monitoring_file_check.php:322 lib/monitoring_file_check.php:379
3310
  msgid "Change"
3311
  msgstr ""
3312
 
3313
- #: lib/monitoring_file_check.php:332
3314
  msgid "Deleted files:"
3315
  msgstr ""
3316
 
3317
- #: lib/monitoring_file_check.php:345
3318
  msgid "Modified files:"
3319
  msgstr ""
3320
 
3321
- #: lib/monitoring_file_check.php:355
3322
  msgid "Old"
3323
  msgstr ""
3324
 
3325
- #: lib/monitoring_file_check.php:356
3326
  msgid "New"
3327
  msgstr ""
3328
 
3329
- #: lib/monitoring_file_check.php:405
3330
  msgid "Scan System For File Changes"
3331
  msgstr ""
3332
 
3333
- #: lib/monitoring_file_check.php:423
3334
  msgid "Options"
3335
  msgstr ""
3336
 
3337
- #: lib/monitoring_file_check.php:430
3338
  #, php-format
3339
  msgid ""
3340
  "It seems that %s is set. Ensure you have another way to run WP-Cron, "
3341
  "otherwise NinjaFirewall scheduled scans will not work."
3342
  msgstr ""
3343
 
3344
- #: lib/monitoring_file_check.php:436
3345
  msgid "Enable scheduled scans"
3346
  msgstr ""
3347
 
3348
- #: lib/monitoring_file_check.php:438
3349
  msgid "No (default)"
3350
  msgstr ""
3351
 
3352
- #: lib/monitoring_file_check.php:439 lib/security_rules_update.php:153
3353
  msgid "Hourly"
3354
  msgstr ""
3355
 
3356
- #: lib/monitoring_file_check.php:440 lib/security_rules_update.php:154
3357
  msgid "Twicedaily"
3358
  msgstr ""
3359
 
3360
- #: lib/monitoring_file_check.php:441 lib/security_rules_update.php:155
3361
  msgid "Daily"
3362
  msgstr ""
3363
 
3364
- #: lib/monitoring_file_check.php:448
3365
  #, php-format
3366
  msgid ""
3367
  "Next scan will start in approximately %s day(s), %s hour(s), %s minute(s) "
3368
  "and %s second(s)."
3369
  msgstr ""
3370
 
3371
- #: lib/monitoring_file_check.php:455
3372
  msgid ""
3373
  "The next scheduled scan date is in the past! WordPress wp-cron may not be "
3374
  "working or may have been disabled."
3375
  msgstr ""
3376
 
3377
- #: lib/monitoring_file_check.php:463
3378
  msgid "Scheduled scan report"
3379
  msgstr ""
3380
 
3381
- #: lib/monitoring_file_check.php:465
3382
  msgid "Send me a report by email only if changes are detected (default)"
3383
  msgstr ""
3384
 
3385
- #: lib/monitoring_file_check.php:466
3386
  msgid "Always send me a report by email after a scheduled scan"
3387
  msgstr ""
3388
 
3389
- #: lib/monitoring_file_check.php:471
3390
  msgid "Save Scan Options"
3391
  msgstr ""
3392
 
3393
- #: lib/monitoring_file_check.php:483
3394
  msgid "Enter the full path to the directory to be scanned."
3395
  msgstr ""
3396
 
3397
- #: lib/monitoring_file_check.php:490
3398
  #, php-format
3399
  msgid "The directory %s does not exist."
3400
  msgstr ""
3401
 
3402
- #: lib/monitoring_file_check.php:493
3403
  #, php-format
3404
  msgid "The directory %s is not readable."
3405
  msgstr ""
3406
 
3407
- #: lib/monitoring_file_check.php:534
3408
  #, php-format
3409
  msgid "Cannot write to %s."
3410
  msgstr ""
3411
 
3412
- #: lib/monitoring_file_check.php:564
3413
  #, php-format
3414
  msgid "Error : cannot open %s directory."
3415
  msgstr ""
3416
 
3417
- #: lib/monitoring_file_check.php:567
3418
  #, php-format
3419
  msgid "Error : %s directory is not readable."
3420
  msgstr ""
3421
 
3422
- #: lib/monitoring_file_check.php:582
3423
  #, php-format
3424
  msgid "Missing options line %s, please try again."
3425
  msgstr ""
3426
 
3427
- #: lib/monitoring_file_check.php:592
3428
  #, php-format
3429
  msgid "Cannot create %s."
3430
  msgstr ""
3431
 
3432
- #: lib/monitoring_file_check.php:609
3433
  msgid "Error reading old snapshot file."
3434
  msgstr ""
3435
 
3436
- #: lib/monitoring_file_check.php:620
3437
  msgid "Error reading new snapshot file."
3438
  msgstr ""
3439
 
3440
- #: lib/monitoring_file_check.php:736 ninjafirewall.php:433
3441
  msgid "New file"
3442
  msgstr ""
3443
 
3444
- #: lib/monitoring_file_check.php:737 ninjafirewall.php:434
3445
  msgid "Modified file"
3446
  msgstr ""
3447
 
3448
- #: lib/monitoring_file_check.php:738 ninjafirewall.php:435
3449
  msgid "Deleted file"
3450
  msgstr ""
3451
 
3452
- #: lib/monitoring_file_check.php:762
3453
  msgid "[NinjaFirewall] Alert: File Check detection"
3454
  msgstr ""
3455
 
3456
- #: lib/monitoring_file_check.php:765 lib/monitoring_file_check.php:767
3457
- #: lib/monitoring_file_check.php:792 lib/monitoring_file_check.php:794
3458
  #: lib/security_rules_update.php:568 lib/security_rules_update.php:570
3459
- #: lib/utils.php:214 lib/utils.php:334 lib/utils.php:915 lib/utils.php:1091
3460
- #: lib/utils.php:1375
3461
  msgid "Blog:"
3462
  msgstr ""
3463
 
3464
- #: lib/monitoring_file_check.php:769 lib/monitoring_file_check.php:796
3465
  #: lib/security_rules_update.php:573
3466
  #, php-format
3467
  msgid "Date: %s"
3468
  msgstr ""
3469
 
3470
- #: lib/monitoring_file_check.php:775
3471
  msgid "See attached file for details."
3472
  msgstr ""
3473
 
3474
- #: lib/monitoring_file_check.php:789
3475
  msgid "[NinjaFirewall] File Check report"
3476
  msgstr ""
3477
 
3478
- #: lib/monitoring_file_check.php:790
3479
  msgid "NinjaFirewall did not detect changes in your files."
3480
  msgstr ""
3481
 
@@ -3483,9 +3485,10 @@ msgstr ""
3483
  #, php-format
3484
  msgid ""
3485
  "You are running NinjaFirewall in <i>WordPress WAF</i> mode. The %s feature "
3486
- "will be limited to a few WordPress files only (e.g., index.php, wp-login."
3487
- "php, xmlrpc.php, admin-ajax.php, wp-load.php etc). If you want it to apply "
3488
- "to any PHP script, you will need to run NinjaFirewall in %s mode."
 
3489
  msgstr ""
3490
 
3491
  #: lib/monitoring_file_guard.php:37
@@ -3520,7 +3523,7 @@ msgstr ""
3520
  msgid "Save File Guard options"
3521
  msgstr ""
3522
 
3523
- #: lib/network.php:24 ninjafirewall.php:1063 ninjafirewall.php:1067
3524
  #, php-format
3525
  msgid "You are not allowed to perform this task (%s)."
3526
  msgstr ""
@@ -3544,7 +3547,7 @@ msgid "Save Network options"
3544
  msgstr ""
3545
 
3546
  #: lib/security_rules.php:44 lib/security_rules_update.php:574
3547
- #: ninjafirewall.php:806
3548
  msgid "Security Rules"
3549
  msgstr ""
3550
 
@@ -3788,10 +3791,6 @@ msgstr ""
3788
  msgid "This notification can be turned off from NinjaFirewall \"%s\" page."
3789
  msgstr ""
3790
 
3791
- #: lib/thickbox.php:42
3792
- msgid "Upgrade to Full WAF mode"
3793
- msgstr ""
3794
-
3795
  #: lib/thickbox.php:47
3796
  msgid ""
3797
  "In <strong>Full WAF</strong> mode, all scripts located inside the blog "
@@ -3886,156 +3885,160 @@ msgstr ""
3886
  msgid "Finish"
3887
  msgstr ""
3888
 
3889
- #: lib/utils.php:173 lib/utils.php:181
3890
  msgid "N/A"
3891
  msgstr ""
3892
 
3893
- #: lib/utils.php:187
3894
  #, php-format
3895
  msgid "Attempt to create a new %s"
3896
  msgstr ""
3897
 
3898
- #: lib/utils.php:191
3899
  #, php-format
3900
  msgid "Attempt to edit a published %s (ID: %s)"
3901
  msgstr ""
3902
 
3903
- #: lib/utils.php:200
 
 
 
 
3904
  msgid "Blocked post/page edition attempt"
3905
  msgstr ""
3906
 
3907
- #: lib/utils.php:213
3908
  msgid ""
3909
  "NinjaFirewall has blocked an attempt to edit/create a post by a user who "
3910
  "doesn't have the right capabilities:"
3911
  msgstr ""
3912
 
3913
- #: lib/utils.php:215 lib/utils.php:335 lib/utils.php:1095
3914
  msgid "Username:"
3915
  msgstr ""
3916
 
3917
- #: lib/utils.php:216
3918
  msgid "Action:"
3919
  msgstr ""
3920
 
3921
- #: lib/utils.php:219 lib/utils.php:336 lib/utils.php:1099 lib/utils.php:1376
3922
  msgid "User IP:"
3923
  msgstr ""
3924
 
3925
- #: lib/utils.php:231 lib/utils.php:348 lib/utils.php:1111 lib/utils.php:1371
3926
  msgid "A PHP backtrace has been attached to this message for your convenience."
3927
  msgstr ""
3928
 
3929
- #: lib/utils.php:233 lib/utils.php:1114 lib/utils.php:1381
3930
  msgid ""
3931
  "This protection (and notification) can be turned off from NinjaFirewall "
3932
  "\"Firewall Policies\" page."
3933
  msgstr ""
3934
 
3935
- #: lib/utils.php:252 lib/utils.php:253 lib/utils.php:371 lib/utils.php:372
3936
- #: lib/utils.php:1135 lib/utils.php:1136
3937
  msgid "You are not allowed to perform this task."
3938
  msgstr ""
3939
 
3940
- #: lib/utils.php:320
3941
  msgid "Blocked user account creation"
3942
  msgstr ""
3943
 
3944
- #: lib/utils.php:332
3945
  msgid "NinjaFirewall has blocked an attempt to create a user account:"
3946
  msgstr ""
3947
 
3948
- #: lib/utils.php:645 lib/utils.php:649
3949
  msgid "NinjaFirewall error"
3950
  msgstr ""
3951
 
3952
- #: lib/utils.php:646
3953
  #, php-format
3954
  msgid ""
3955
  "%s directory cannot be created. Please review your installation and ensure "
3956
  "that %s is writable."
3957
  msgstr ""
3958
 
3959
- #: lib/utils.php:650
3960
  #, php-format
3961
  msgid ""
3962
  "%s directory is read-only. Please review your installation and ensure that "
3963
  "%s is writable."
3964
  msgstr ""
3965
 
3966
- #: lib/utils.php:669
3967
  msgid "unknown error"
3968
  msgstr ""
3969
 
3970
- #: lib/utils.php:671
3971
  msgid "NinjaFirewall fatal error:"
3972
  msgstr ""
3973
 
3974
- #: lib/utils.php:672
3975
  msgid "Review your installation, your site is not protected."
3976
  msgstr ""
3977
 
3978
- #: lib/utils.php:689
3979
  msgid "Alert: WordPress console login"
3980
  msgstr ""
3981
 
3982
- #: lib/utils.php:695
3983
  msgid "Someone just logged in to your WordPress admin console:"
3984
  msgstr ""
3985
 
3986
- #: lib/utils.php:701
3987
  msgid "Support forum"
3988
  msgstr ""
3989
 
3990
- #: lib/utils.php:781 lib/utils.php:808
3991
  msgid "Forbidden access"
3992
  msgstr ""
3993
 
3994
- #: lib/utils.php:827
3995
  #, php-format
3996
  msgid ""
3997
  "<strong>ERROR</strong>: Invalid username or password.<br /><a href=\"%s"
3998
  "\">Lost your password</a>?"
3999
  msgstr ""
4000
 
4001
- #: lib/utils.php:911
4002
  msgid "[NinjaFirewall] Alert: Database changes detected"
4003
  msgstr ""
4004
 
4005
- #: lib/utils.php:912
4006
  msgid ""
4007
  "NinjaFirewall has detected that one or more administrator accounts were "
4008
  "modified in the database:"
4009
  msgstr ""
4010
 
4011
- #: lib/utils.php:917
4012
  #, php-format
4013
  msgid "Total administrators : %s"
4014
  msgstr ""
4015
 
4016
- #: lib/utils.php:926
4017
  msgid ""
4018
  "If you cannot see any modifications in the above fields, it is possible that "
4019
  "the administrator password was changed."
4020
  msgstr ""
4021
 
4022
- #: lib/utils.php:1076
4023
  msgid "Blocked privilege escalation attempt"
4024
  msgstr ""
4025
 
4026
- #: lib/utils.php:1089
4027
  msgid ""
4028
  "NinjaFirewall has blocked an attempt to modify a user capability by someone "
4029
  "who does not have administrative privileges:"
4030
  msgstr ""
4031
 
4032
- #: lib/utils.php:1147
4033
  msgid ""
4034
  "NinjaFirewall brute-force protection is enabled and you are temporarily "
4035
  "whitelisted."
4036
  msgstr ""
4037
 
4038
- #: lib/utils.php:1162
4039
  #, php-format
4040
  msgid ""
4041
  "Hey, it seems that you've been using NinjaFirewall for some time. If you "
@@ -4044,71 +4047,71 @@ msgid ""
4044
  "rate it. Thank you!"
4045
  msgstr ""
4046
 
4047
- #: lib/utils.php:1343
4048
  msgid ""
4049
  "The attempt was blocked and the option was reversed to its original value."
4050
  msgstr ""
4051
 
4052
- #: lib/utils.php:1348
4053
  msgid "Attempt to modify WordPress settings"
4054
  msgstr ""
4055
 
4056
- #: lib/utils.php:1349
4057
  msgid ""
4058
  "NinjaFirewall has blocked an attempt to modify some important WordPress "
4059
  "settings by a user that does not have administrative privileges:"
4060
  msgstr ""
4061
 
4062
- #: lib/utils.php:1350 lib/utils.php:1359
4063
  #, php-format
4064
  msgid "Option: %s"
4065
  msgstr ""
4066
 
4067
- #: lib/utils.php:1351
4068
  #, php-format
4069
  msgid "Original value: %s"
4070
  msgstr ""
4071
 
4072
- #: lib/utils.php:1352
4073
  #, php-format
4074
  msgid "Modified value: %s"
4075
  msgstr ""
4076
 
4077
- #: lib/utils.php:1353 lib/utils.php:1361
4078
  #, php-format
4079
  msgid "Action taken: %s"
4080
  msgstr ""
4081
 
4082
- #: lib/utils.php:1357
4083
  msgid "Code injection attempt in WordPress options table"
4084
  msgstr ""
4085
 
4086
- #: lib/utils.php:1358
4087
  msgid ""
4088
  "NinjaFirewall has blocked an attempt to inject code in the WordPress options "
4089
  "table by a user that does not have administrative privileges:"
4090
  msgstr ""
4091
 
4092
- #: lib/utils.php:1360
4093
  #, php-format
4094
  msgid "Code: %s"
4095
  msgstr ""
4096
 
4097
- #: lib/utils.php:1416
4098
  #, php-format
4099
  msgid "Error, cannot create the %s folder."
4100
  msgstr ""
4101
 
4102
- #: lib/utils.php:1416 lib/utils.php:1424 lib/utils.php:1432
4103
  msgid "Check your server permissions and try again."
4104
  msgstr ""
4105
 
4106
- #: lib/utils.php:1424
4107
  #, php-format
4108
  msgid "Error, the %s folder is not writable."
4109
  msgstr ""
4110
 
4111
- #: lib/utils.php:1432
4112
  #, php-format
4113
  msgid "Error, cannot write %s."
4114
  msgstr ""
@@ -4137,23 +4140,23 @@ msgstr ""
4137
  msgid "View firewall log"
4138
  msgstr ""
4139
 
4140
- #: lib/widget.php:123
4141
  msgid "Latest Security News"
4142
  msgstr ""
4143
 
4144
- #: lib/widget.php:127
4145
  msgid "M jS, Y"
4146
  msgstr ""
4147
 
4148
- #: lib/widget.php:138
4149
  msgid "More Security News"
4150
  msgstr ""
4151
 
4152
- #: lib/widget.php:138
4153
  msgid "(opens in a new tab)"
4154
  msgstr ""
4155
 
4156
- #: lib/widget.php:138
4157
  msgid "NinjaFirewall's Home"
4158
  msgstr ""
4159
 
@@ -4334,7 +4337,8 @@ msgstr ""
4334
 
4335
  #: lib/wpplus.php:190
4336
  msgid ""
4337
- "You can allow uploads while rejecting potentially dangerous files: scripts "
 
4338
  "(PHP, CGI, Ruby, Python, bash/shell), C/C++ source code, binaries (MZ/PE/NE "
4339
  "and ELF formats), system files (.htaccess, .htpasswd and PHP INI) and SVG "
4340
  "files containing Javascript/XML events. You can easily limit the size of "
@@ -4626,79 +4630,79 @@ msgstr ""
4626
  msgid "Error: The HTTP server returned the following error code:"
4627
  msgstr ""
4628
 
4629
- #: ninjafirewall.php:591 ninjafirewall.php:702
4630
  msgid "Error: Security nonces do not match. Reload the page and try again."
4631
  msgstr ""
4632
 
4633
- #: ninjafirewall.php:597
4634
  msgid "Error: NinjaFirewall is disabled"
4635
  msgstr ""
4636
 
4637
- #: ninjafirewall.php:602
4638
  #, php-format
4639
  msgid "Error: missing parameter (%s)."
4640
  msgstr ""
4641
 
4642
- #: ninjafirewall.php:764
4643
  msgid "NinjaFirewall: Dashboard"
4644
  msgstr ""
4645
 
4646
- #: ninjafirewall.php:768
4647
  msgid "NinjaFirewall: Firewall Options"
4648
  msgstr ""
4649
 
4650
- #: ninjafirewall.php:772
4651
  msgid "NinjaFirewall: Firewall Policies"
4652
  msgstr ""
4653
 
4654
- #: ninjafirewall.php:776
4655
  msgid "NinjaFirewall: Monitoring"
4656
  msgstr ""
4657
 
4658
- #: ninjafirewall.php:786
4659
  msgid "NinjaFirewall: Anti-Malware"
4660
  msgstr ""
4661
 
4662
- #: ninjafirewall.php:790
4663
  msgid "NinjaFirewall: Network"
4664
  msgstr ""
4665
 
4666
- #: ninjafirewall.php:794
4667
  msgid "NinjaFirewall: Event Notifications"
4668
  msgstr ""
4669
 
4670
- #: ninjafirewall.php:798
4671
  msgid "NinjaFirewall: Log-in Protection"
4672
  msgstr ""
4673
 
4674
- #: ninjafirewall.php:802
4675
  msgid "NinjaFirewall: Logs"
4676
  msgstr ""
4677
 
4678
- #: ninjafirewall.php:806
4679
  msgid "NinjaFirewall: Security Rules"
4680
  msgstr ""
4681
 
4682
- #: ninjafirewall.php:850
4683
  msgid "NinjaFirewall Settings"
4684
  msgstr ""
4685
 
4686
- #: ninjafirewall.php:858
4687
  msgid "NinjaFirewall is enabled"
4688
  msgstr ""
4689
 
4690
- #: ninjafirewall.php:998
4691
  msgid "Access Restricted"
4692
  msgstr ""
4693
 
4694
- #: ninjafirewall.php:1004
4695
  msgid "Settings"
4696
  msgstr ""
4697
 
4698
- #: ninjafirewall.php:1005
4699
  msgid "Upgrade to Premium"
4700
  msgstr ""
4701
 
4702
- #: ninjafirewall.php:1006
4703
  msgid "Rate it!"
4704
  msgstr ""
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Stable (latest release)\n"
5
+ "POT-Creation-Date: 2020-06-04 02:09+0700\n"
6
  "PO-Revision-Date: 2018-04-05 22:52+0700\n"
7
  "Last-Translator: NinTechNet <contact@nintechnet.com>\n"
8
  "Language-Team: \n"
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPathExcluded-0: /languages\n"
20
 
21
+ #: lib/anti_malware.php:24 ninjafirewall.php:792
22
  msgid "Anti-Malware"
23
  msgstr ""
24
 
76
  msgid "NinjaFirewall (WP Edition)"
77
  msgstr ""
78
 
79
+ #: lib/dashboard.php:120 ninjafirewall.php:770
80
  msgid "Dashboard"
81
  msgstr ""
82
 
142
  msgid "Firewall"
143
  msgstr ""
144
 
145
+ #: lib/dashboard.php:187 lib/dashboard.php:322 lib/firewall_options.php:64
146
  #: lib/login_protection.php:203 lib/logs_live_log.php:101
147
  #: lib/monitoring_file_guard.php:70 lib/security_rules_update.php:138
148
  msgid "Enabled"
152
  msgid "Mode"
153
  msgstr ""
154
 
155
+ #: lib/dashboard.php:198
156
  #, php-format
157
+ msgid ""
158
+ "NinjaFirewall is running in %s mode. For better protection, activate its "
159
+ "Full WAF mode:"
160
  msgstr ""
161
 
162
+ #: lib/dashboard.php:198
163
  msgid "WordPress WAF"
164
  msgstr ""
165
 
166
+ #: lib/dashboard.php:200 lib/thickbox.php:42
167
+ msgid "Activate Full WAF mode"
 
 
168
  msgstr ""
169
 
170
+ #: lib/dashboard.php:204
171
+ #, php-format
172
+ msgid "NinjaFirewall is running in %s mode."
173
  msgstr ""
174
 
175
+ #: lib/dashboard.php:204
176
  msgid "Full WAF"
177
  msgstr ""
178
 
179
+ #: lib/dashboard.php:217 lib/firewall_options.php:76 lib/help.php:77
180
  msgid "Debugging mode"
181
  msgstr ""
182
 
183
+ #: lib/dashboard.php:218
184
  msgid "Enabled."
185
  msgstr ""
186
 
187
+ #: lib/dashboard.php:218
188
  msgid "Click here to turn Debugging Mode off"
189
  msgstr ""
190
 
191
+ #: lib/dashboard.php:224
192
  msgid "Edition"
193
  msgstr ""
194
 
195
+ #: lib/dashboard.php:225
196
  msgid ""
197
  "Need more security? Explore our supercharged premium version: NinjaFirewall "
198
  "(WP+ Edition)"
199
  msgstr ""
200
 
201
+ #: lib/dashboard.php:228
202
  msgid "Version"
203
  msgstr ""
204
 
205
+ #: lib/dashboard.php:229
206
  msgid "Security rules:"
207
  msgstr ""
208
 
209
+ #: lib/dashboard.php:233
210
  msgid "PHP SAPI"
211
  msgstr ""
212
 
213
+ #: lib/dashboard.php:251
214
  msgid "Updates"
215
  msgstr ""
216
 
217
+ #: lib/dashboard.php:252
218
  msgid "Security rules updates are disabled."
219
  msgstr ""
220
 
221
+ #: lib/dashboard.php:252
222
  msgid ""
223
  "If you want your blog to be protected against the latest threats, enable "
224
  "automatic security rules updates."
225
  msgstr ""
226
 
227
+ #: lib/dashboard.php:260 lib/dashboard.php:268
228
  msgid "Admin user"
229
  msgstr ""
230
 
231
+ #: lib/dashboard.php:261
232
  #, php-format
233
  msgid ""
234
  "You are not whitelisted. Ensure that the \"Do not block WordPress "
237
  "your administration dashboard."
238
  msgstr ""
239
 
240
+ #: lib/dashboard.php:269
241
  msgid "You are whitelisted by the firewall."
242
  msgstr ""
243
 
244
+ #: lib/dashboard.php:276
245
  msgid "Restrictions"
246
  msgstr ""
247
 
248
+ #: lib/dashboard.php:277
249
  msgid "Access to NinjaFirewall is restricted to specific users."
250
  msgstr ""
251
 
252
+ #: lib/dashboard.php:288
253
  msgid "User session"
254
  msgstr ""
255
 
256
+ #: lib/dashboard.php:289
257
  msgid ""
258
  "It seems that the user session set by NinjaFirewall was not found by the "
259
  "firewall script."
260
  msgstr ""
261
 
262
+ #: lib/dashboard.php:297
263
  #, php-format
264
  msgid ""
265
  "the public key is invalid. Please <a href=\"%s\">check your configuration</"
266
  "a>."
267
  msgstr ""
268
 
269
+ #: lib/dashboard.php:301
270
  msgid "No IP address restriction."
271
  msgstr ""
272
 
273
+ #: lib/dashboard.php:304
274
  #, php-format
275
  msgid "IP address %s is allowed to access NinjaFirewall's log on this server."
276
  msgstr ""
277
 
278
+ #: lib/dashboard.php:307
279
  #, php-format
280
  msgid ""
281
  "the whitelisted IP is not valid. Please <a href=\"%s\">check your "
282
  "configuration</a>."
283
  msgstr ""
284
 
285
+ #: lib/dashboard.php:312 lib/help.php:462 lib/logs_firewall_log.php:194
286
  #: lib/wpplus.php:170
287
  msgid "Centralized Logging"
288
  msgstr ""
289
 
290
+ #: lib/dashboard.php:316 lib/security_rules_update.php:430
291
  #, php-format
292
  msgid "Error: %s"
293
  msgstr ""
294
 
295
+ #: lib/dashboard.php:331
296
  msgid "Source IP"
297
  msgstr ""
298
 
299
+ #: lib/dashboard.php:332
300
  #, php-format
301
  msgid "You have a private IP : %s"
302
  msgstr ""
303
 
304
+ #: lib/dashboard.php:332
305
  #, php-format
306
  msgid ""
307
  "If your site is behind a reverse proxy or a load balancer, ensure that you "
309
  "otherwise use the NinjaFirewall %s configuration file."
310
  msgstr ""
311
 
312
+ #: lib/dashboard.php:340 lib/dashboard.php:350
313
  msgid "CDN detection"
314
  msgstr ""
315
 
316
+ #: lib/dashboard.php:341
317
  #, php-format
318
  msgid ""
319
  "%s detected: you seem to be using Cloudflare CDN services. Ensure that you "
321
  "otherwise use the NinjaFirewall %s configuration file."
322
  msgstr ""
323
 
324
+ #: lib/dashboard.php:351
325
  #, php-format
326
  msgid ""
327
  "%s detected: you seem to be using Incapsula CDN services. Ensure that you "
329
  "otherwise use the NinjaFirewall %s configuration file."
330
  msgstr ""
331
 
332
+ #: lib/dashboard.php:360 lib/dashboard.php:369
333
  msgid "Log dir"
334
  msgstr ""
335
 
336
+ #: lib/dashboard.php:361 lib/dashboard.php:370
337
  #, php-format
338
  msgid "%s directory is not writable! Please chmod it to 0777 or equivalent."
339
  msgstr ""
340
 
341
+ #: lib/dashboard.php:378
342
  msgid "Optional configuration file"
343
  msgstr ""
344
 
345
+ #: lib/dashboard.php:385
346
  msgid "MySQLi link identifier"
347
  msgstr ""
348
 
349
+ #: lib/dashboard.php:386
350
  msgid "A MySQLi link identifier was detected in your <code>.htninja</code>."
351
  msgstr ""
352
 
353
+ #: lib/dashboard.php:392
354
  msgid "Help &amp; configuration"
355
  msgstr ""
356
 
434
  msgid "Select monthly stats to view..."
435
  msgstr ""
436
 
437
+ #: lib/event_notifications.php:34 lib/help.php:372 ninjafirewall.php:800
438
  msgid "Event Notifications"
439
  msgstr ""
440
 
676
  msgid "Blocked brute-force attacks:"
677
  msgstr ""
678
 
679
+ #: lib/event_notifications.php:497 lib/event_updates.php:222 lib/utils.php:938
680
  msgid ""
681
  "This notification can be turned off from NinjaFirewall \"Event Notifications"
682
  "\" page."
683
  msgstr ""
684
 
685
  #: lib/event_notifications.php:501 lib/event_updates.php:224 lib/events.php:225
686
+ #: lib/firewall_options.php:573 lib/monitoring_file_check.php:780
687
+ #: lib/monitoring_file_check.php:801 lib/security_rules_update.php:576
688
  msgid "Support forum:"
689
  msgstr ""
690
 
691
  #: lib/event_notifications.php:504 lib/event_updates.php:227 lib/events.php:228
692
+ #: lib/firewall_options.php:576 lib/monitoring_file_check.php:783
693
+ #: lib/monitoring_file_check.php:804 lib/security_rules_update.php:579
694
+ #: lib/utils.php:242 lib/utils.php:362 lib/utils.php:715 lib/utils.php:943
695
+ #: lib/utils.php:1130 lib/utils.php:1397
696
  #, php-format
697
  msgid ""
698
  "Need more security? Check out our supercharged NinjaFirewall (WP+ Edition): "
709
  "your website:"
710
  msgstr ""
711
 
712
+ #: lib/event_updates.php:160 lib/utils.php:229 lib/utils.php:346
713
+ #: lib/utils.php:927 lib/utils.php:1113 lib/utils.php:1390
714
  msgid "Date:"
715
  msgstr ""
716
 
807
  msgid "[NinjaFirewall] Alert: %s"
808
  msgstr ""
809
 
810
+ #: lib/events.php:213 lib/events.php:215 lib/utils.php:702
811
  msgid "-Blog:"
812
  msgstr ""
813
 
815
  msgid "NinjaFirewall has detected the following activity on your account:"
816
  msgstr ""
817
 
818
+ #: lib/events.php:220 lib/utils.php:707
819
  msgid "-User:"
820
  msgstr ""
821
 
822
+ #: lib/events.php:221 lib/utils.php:708
823
  msgid "-IP:"
824
  msgstr ""
825
 
826
+ #: lib/events.php:222 lib/utils.php:709
827
  msgid "-Date:"
828
  msgstr ""
829
 
830
+ #: lib/firewall_options.php:29 ninjafirewall.php:774
831
  msgid "Firewall Options"
832
  msgstr ""
833
 
1016
  #: lib/firewall_policies.php:29
1017
  #, php-format
1018
  msgid ""
1019
+ "To use this feature, please <a href=\"%s\">go to the Dashboard page</a> and "
1020
+ "enable NinjaFirewall's Full WAF mode."
1021
  msgstr ""
1022
 
1023
+ #: lib/firewall_policies.php:62 ninjafirewall.php:778
1024
  msgid "Firewall Policies"
1025
  msgstr ""
1026
 
2286
  "package (third-party software, shell script, backdoor etc)."
2287
  msgstr ""
2288
 
2289
+ #: lib/help.php:355 lib/network.php:32 ninjafirewall.php:796
2290
  msgid "Network"
2291
  msgstr ""
2292
 
2322
  "theme in order to take full control of your website."
2323
  msgstr ""
2324
 
2325
+ #: lib/help.php:384 lib/login_protection.php:21 ninjafirewall.php:804
2326
  msgid "Login Protection"
2327
  msgstr ""
2328
 
2704
  "Error: Your .htaccess file is not writable, please change its permissions: %s"
2705
  msgstr ""
2706
 
2707
+ #: lib/install.php:97 ninjafirewall.php:612 ninjafirewall.php:616
2708
  #, php-format
2709
  msgid "Error: wrong parameter value (%s)."
2710
  msgstr ""
2743
  msgid "File is not writable"
2744
  msgstr ""
2745
 
2746
+ #: lib/install_default.php:172
2747
  msgid ""
2748
  "Error: The installer cannot download the security rules from wordpress.org "
2749
  "website."
2750
  msgstr ""
2751
 
2752
+ #: lib/install_default.php:173
2753
  msgid ""
2754
  "The server may be temporarily down or you may have network connectivity "
2755
  "problems? Please try again in a few minutes."
2756
  msgstr ""
2757
 
2758
+ #: lib/install_default.php:174
2759
  msgid ""
2760
  "NinjaFirewall downloads its rules over an HTTPS secure connection. Maybe "
2761
  "your server does not support SSL? You can force NinjaFirewall to use a non-"
2763
  "config.php</strong> file:"
2764
  msgstr ""
2765
 
2766
+ #: lib/install_default.php:252
2767
  #, php-format
2768
  msgid ""
2769
  "NinjaFirewall cannot create its <code>nfwlog/</code>log and cache folder; "
2942
  msgid "Error: unable to write to the %s configuration file"
2943
  msgstr ""
2944
 
2945
+ #: lib/logs.php:36 ninjafirewall.php:808
2946
  msgid "Logs"
2947
  msgstr ""
2948
 
3097
  msgid "Inclusion and exclusion filters (REQUEST_URI)"
3098
  msgstr ""
3099
 
3100
+ #: lib/logs_live_log.php:160 lib/monitoring_file_check.php:398
3101
  msgid "None"
3102
  msgstr ""
3103
 
3109
  msgid "Must not include"
3110
  msgstr ""
3111
 
3112
+ #: lib/logs_live_log.php:164 lib/monitoring_file_check.php:156
3113
  #: lib/monitoring_file_guard.php:89
3114
  msgid "e.g.,"
3115
  msgstr ""
3152
  msgid "Error: please enter the custom log format."
3153
  msgstr ""
3154
 
3155
+ #: lib/monitoring.php:43 ninjafirewall.php:782
3156
  msgid "Monitoring"
3157
  msgstr ""
3158
 
3168
  msgid "You must create a snapshot first."
3169
  msgstr ""
3170
 
3171
+ #: lib/monitoring_file_check.php:96 lib/monitoring_file_check.php:766
3172
  msgid "NinjaFirewall detected that changes were made to your files."
3173
  msgstr ""
3174
 
3176
  msgid "No changes detected."
3177
  msgstr ""
3178
 
3179
+ #: lib/monitoring_file_check.php:135
3180
  msgid ""
3181
  "File Check lets you perform file integrity monitoring upon request or on a "
3182
  "specific interval. To start, create a snapshot of your files by clicking the "
3183
  "button below."
3184
  msgstr ""
3185
 
3186
+ #: lib/monitoring_file_check.php:142
3187
  msgid "Create a snapshot of all files stored in that directory"
3188
  msgstr ""
3189
 
3190
+ #: lib/monitoring_file_check.php:150
3191
  #, php-format
3192
  msgid "Default: %s"
3193
  msgstr ""
3194
 
3195
+ #: lib/monitoring_file_check.php:155 lib/monitoring_file_guard.php:88
3196
  msgid "Exclude the following files/folders (optional)"
3197
  msgstr ""
3198
 
3199
+ #: lib/monitoring_file_check.php:156
3200
  msgid ""
3201
  "Full or partial case-sensitive string(s). Multiple values must be comma-"
3202
  "separated"
3203
  msgstr ""
3204
 
3205
+ #: lib/monitoring_file_check.php:162
3206
  msgid "Do not follow symbolic links (default)"
3207
  msgstr ""
3208
 
3209
+ #: lib/monitoring_file_check.php:168
3210
  msgid "Create Snapshot"
3211
  msgstr ""
3212
 
3213
+ #: lib/monitoring_file_check.php:234
3214
  msgid "Last snapshot"
3215
  msgstr ""
3216
 
3217
+ #: lib/monitoring_file_check.php:236
3218
  #, php-format
3219
  msgid "Created on: %s"
3220
  msgstr ""
3221
 
3222
+ #: lib/monitoring_file_check.php:237
3223
  #, php-format
3224
  msgid "Total files: %s "
3225
  msgstr ""
3226
 
3227
+ #: lib/monitoring_file_check.php:239
3228
  msgid "Directory:"
3229
  msgstr ""
3230
 
3231
+ #: lib/monitoring_file_check.php:243
3232
  msgid "Exclusion:"
3233
  msgstr ""
3234
 
3235
+ #: lib/monitoring_file_check.php:249
3236
  msgid "Symlinks:"
3237
  msgstr ""
3238
 
3239
+ #: lib/monitoring_file_check.php:251
3240
  msgid "follow"
3241
  msgstr ""
3242
 
3243
+ #: lib/monitoring_file_check.php:253
3244
  msgid "do not follow"
3245
  msgstr ""
3246
 
3247
+ #: lib/monitoring_file_check.php:257
3248
  #, php-format
3249
  msgid "Processing time: %s seconds"
3250
  msgstr ""
3251
 
3252
+ #: lib/monitoring_file_check.php:262
3253
  msgid "Download Snapshot"
3254
  msgstr ""
3255
 
3256
+ #: lib/monitoring_file_check.php:262
3257
  msgid "Delete Snapshot"
3258
  msgstr ""
3259
 
3260
+ #: lib/monitoring_file_check.php:268
3261
  msgid "Last changes"
3262
  msgstr ""
3263
 
3264
+ #: lib/monitoring_file_check.php:275 lib/monitoring_file_check.php:774
3265
  #, php-format
3266
  msgid "New files: %s"
3267
  msgstr ""
3268
 
3269
+ #: lib/monitoring_file_check.php:276 lib/monitoring_file_check.php:776
3270
  #, php-format
3271
  msgid "Deleted files: %s"
3272
  msgstr ""
3273
 
3274
+ #: lib/monitoring_file_check.php:277 lib/monitoring_file_check.php:775
3275
  #, php-format
3276
  msgid "Modified files: %s"
3277
  msgstr ""
3278
 
3279
+ #: lib/monitoring_file_check.php:281
3280
  msgid "View Changes"
3281
  msgstr ""
3282
 
3283
+ #: lib/monitoring_file_check.php:285
3284
  msgid "Download Changes"
3285
  msgstr ""
3286
 
3287
+ #: lib/monitoring_file_check.php:297
3288
  msgid "Click a file to get more info about it."
3289
  msgstr ""
3290
 
3291
+ #: lib/monitoring_file_check.php:300
3292
  msgid "New files:"
3293
  msgstr ""
3294
 
3295
+ #: lib/monitoring_file_check.php:309 lib/monitoring_file_check.php:362
3296
  msgid "Size"
3297
  msgstr ""
3298
 
3299
+ #: lib/monitoring_file_check.php:313 lib/monitoring_file_check.php:367
3300
  msgid "Access"
3301
  msgstr ""
3302
 
3303
+ #: lib/monitoring_file_check.php:317 lib/monitoring_file_check.php:372
3304
  msgid "Uid / Gid"
3305
  msgstr ""
3306
 
3307
+ #: lib/monitoring_file_check.php:321 lib/monitoring_file_check.php:377
3308
  msgid "Modify"
3309
  msgstr ""
3310
 
3311
+ #: lib/monitoring_file_check.php:325 lib/monitoring_file_check.php:382
3312
  msgid "Change"
3313
  msgstr ""
3314
 
3315
+ #: lib/monitoring_file_check.php:335
3316
  msgid "Deleted files:"
3317
  msgstr ""
3318
 
3319
+ #: lib/monitoring_file_check.php:348
3320
  msgid "Modified files:"
3321
  msgstr ""
3322
 
3323
+ #: lib/monitoring_file_check.php:358
3324
  msgid "Old"
3325
  msgstr ""
3326
 
3327
+ #: lib/monitoring_file_check.php:359
3328
  msgid "New"
3329
  msgstr ""
3330
 
3331
+ #: lib/monitoring_file_check.php:408
3332
  msgid "Scan System For File Changes"
3333
  msgstr ""
3334
 
3335
+ #: lib/monitoring_file_check.php:426
3336
  msgid "Options"
3337
  msgstr ""
3338
 
3339
+ #: lib/monitoring_file_check.php:433
3340
  #, php-format
3341
  msgid ""
3342
  "It seems that %s is set. Ensure you have another way to run WP-Cron, "
3343
  "otherwise NinjaFirewall scheduled scans will not work."
3344
  msgstr ""
3345
 
3346
+ #: lib/monitoring_file_check.php:439
3347
  msgid "Enable scheduled scans"
3348
  msgstr ""
3349
 
3350
+ #: lib/monitoring_file_check.php:441
3351
  msgid "No (default)"
3352
  msgstr ""
3353
 
3354
+ #: lib/monitoring_file_check.php:442 lib/security_rules_update.php:153
3355
  msgid "Hourly"
3356
  msgstr ""
3357
 
3358
+ #: lib/monitoring_file_check.php:443 lib/security_rules_update.php:154
3359
  msgid "Twicedaily"
3360
  msgstr ""
3361
 
3362
+ #: lib/monitoring_file_check.php:444 lib/security_rules_update.php:155
3363
  msgid "Daily"
3364
  msgstr ""
3365
 
3366
+ #: lib/monitoring_file_check.php:451
3367
  #, php-format
3368
  msgid ""
3369
  "Next scan will start in approximately %s day(s), %s hour(s), %s minute(s) "
3370
  "and %s second(s)."
3371
  msgstr ""
3372
 
3373
+ #: lib/monitoring_file_check.php:458
3374
  msgid ""
3375
  "The next scheduled scan date is in the past! WordPress wp-cron may not be "
3376
  "working or may have been disabled."
3377
  msgstr ""
3378
 
3379
+ #: lib/monitoring_file_check.php:466
3380
  msgid "Scheduled scan report"
3381
  msgstr ""
3382
 
3383
+ #: lib/monitoring_file_check.php:468
3384
  msgid "Send me a report by email only if changes are detected (default)"
3385
  msgstr ""
3386
 
3387
+ #: lib/monitoring_file_check.php:469
3388
  msgid "Always send me a report by email after a scheduled scan"
3389
  msgstr ""
3390
 
3391
+ #: lib/monitoring_file_check.php:474
3392
  msgid "Save Scan Options"
3393
  msgstr ""
3394
 
3395
+ #: lib/monitoring_file_check.php:486
3396
  msgid "Enter the full path to the directory to be scanned."
3397
  msgstr ""
3398
 
3399
+ #: lib/monitoring_file_check.php:493
3400
  #, php-format
3401
  msgid "The directory %s does not exist."
3402
  msgstr ""
3403
 
3404
+ #: lib/monitoring_file_check.php:496
3405
  #, php-format
3406
  msgid "The directory %s is not readable."
3407
  msgstr ""
3408
 
3409
+ #: lib/monitoring_file_check.php:537
3410
  #, php-format
3411
  msgid "Cannot write to %s."
3412
  msgstr ""
3413
 
3414
+ #: lib/monitoring_file_check.php:567
3415
  #, php-format
3416
  msgid "Error : cannot open %s directory."
3417
  msgstr ""
3418
 
3419
+ #: lib/monitoring_file_check.php:570
3420
  #, php-format
3421
  msgid "Error : %s directory is not readable."
3422
  msgstr ""
3423
 
3424
+ #: lib/monitoring_file_check.php:585
3425
  #, php-format
3426
  msgid "Missing options line %s, please try again."
3427
  msgstr ""
3428
 
3429
+ #: lib/monitoring_file_check.php:595
3430
  #, php-format
3431
  msgid "Cannot create %s."
3432
  msgstr ""
3433
 
3434
+ #: lib/monitoring_file_check.php:612
3435
  msgid "Error reading old snapshot file."
3436
  msgstr ""
3437
 
3438
+ #: lib/monitoring_file_check.php:623
3439
  msgid "Error reading new snapshot file."
3440
  msgstr ""
3441
 
3442
+ #: lib/monitoring_file_check.php:739 ninjafirewall.php:433
3443
  msgid "New file"
3444
  msgstr ""
3445
 
3446
+ #: lib/monitoring_file_check.php:740 ninjafirewall.php:434
3447
  msgid "Modified file"
3448
  msgstr ""
3449
 
3450
+ #: lib/monitoring_file_check.php:741 ninjafirewall.php:435
3451
  msgid "Deleted file"
3452
  msgstr ""
3453
 
3454
+ #: lib/monitoring_file_check.php:765
3455
  msgid "[NinjaFirewall] Alert: File Check detection"
3456
  msgstr ""
3457
 
3458
+ #: lib/monitoring_file_check.php:768 lib/monitoring_file_check.php:770
3459
+ #: lib/monitoring_file_check.php:795 lib/monitoring_file_check.php:797
3460
  #: lib/security_rules_update.php:568 lib/security_rules_update.php:570
3461
+ #: lib/utils.php:221 lib/utils.php:341 lib/utils.php:926 lib/utils.php:1102
3462
+ #: lib/utils.php:1386
3463
  msgid "Blog:"
3464
  msgstr ""
3465
 
3466
+ #: lib/monitoring_file_check.php:772 lib/monitoring_file_check.php:799
3467
  #: lib/security_rules_update.php:573
3468
  #, php-format
3469
  msgid "Date: %s"
3470
  msgstr ""
3471
 
3472
+ #: lib/monitoring_file_check.php:778
3473
  msgid "See attached file for details."
3474
  msgstr ""
3475
 
3476
+ #: lib/monitoring_file_check.php:792
3477
  msgid "[NinjaFirewall] File Check report"
3478
  msgstr ""
3479
 
3480
+ #: lib/monitoring_file_check.php:793
3481
  msgid "NinjaFirewall did not detect changes in your files."
3482
  msgstr ""
3483
 
3485
  #, php-format
3486
  msgid ""
3487
  "You are running NinjaFirewall in <i>WordPress WAF</i> mode. The %s feature "
3488
+ "will be limited to WordPress files only (e.g., index.php, wp-login.php, "
3489
+ "xmlrpc.php, admin-ajax.php, wp-load.php etc). If you want it to apply to any "
3490
+ "PHP script, please <a href=\"%s\">go to the Dashboard page</a> and enable "
3491
+ "NinjaFirewall's Full WAF mode."
3492
  msgstr ""
3493
 
3494
  #: lib/monitoring_file_guard.php:37
3523
  msgid "Save File Guard options"
3524
  msgstr ""
3525
 
3526
+ #: lib/network.php:24 ninjafirewall.php:1069 ninjafirewall.php:1073
3527
  #, php-format
3528
  msgid "You are not allowed to perform this task (%s)."
3529
  msgstr ""
3547
  msgstr ""
3548
 
3549
  #: lib/security_rules.php:44 lib/security_rules_update.php:574
3550
+ #: ninjafirewall.php:812
3551
  msgid "Security Rules"
3552
  msgstr ""
3553
 
3791
  msgid "This notification can be turned off from NinjaFirewall \"%s\" page."
3792
  msgstr ""
3793
 
 
 
 
 
3794
  #: lib/thickbox.php:47
3795
  msgid ""
3796
  "In <strong>Full WAF</strong> mode, all scripts located inside the blog "
3885
  msgid "Finish"
3886
  msgstr ""
3887
 
3888
+ #: lib/utils.php:178 lib/utils.php:186
3889
  msgid "N/A"
3890
  msgstr ""
3891
 
3892
+ #: lib/utils.php:192
3893
  #, php-format
3894
  msgid "Attempt to create a new %s"
3895
  msgstr ""
3896
 
3897
+ #: lib/utils.php:196
3898
  #, php-format
3899
  msgid "Attempt to edit a published %s (ID: %s)"
3900
  msgstr ""
3901
 
3902
+ #: lib/utils.php:202
3903
+ msgid "Unauthenticated user"
3904
+ msgstr ""
3905
+
3906
+ #: lib/utils.php:207
3907
  msgid "Blocked post/page edition attempt"
3908
  msgstr ""
3909
 
3910
+ #: lib/utils.php:220
3911
  msgid ""
3912
  "NinjaFirewall has blocked an attempt to edit/create a post by a user who "
3913
  "doesn't have the right capabilities:"
3914
  msgstr ""
3915
 
3916
+ #: lib/utils.php:222 lib/utils.php:342 lib/utils.php:1106
3917
  msgid "Username:"
3918
  msgstr ""
3919
 
3920
+ #: lib/utils.php:223
3921
  msgid "Action:"
3922
  msgstr ""
3923
 
3924
+ #: lib/utils.php:226 lib/utils.php:343 lib/utils.php:1110 lib/utils.php:1387
3925
  msgid "User IP:"
3926
  msgstr ""
3927
 
3928
+ #: lib/utils.php:238 lib/utils.php:355 lib/utils.php:1122 lib/utils.php:1382
3929
  msgid "A PHP backtrace has been attached to this message for your convenience."
3930
  msgstr ""
3931
 
3932
+ #: lib/utils.php:240 lib/utils.php:1125 lib/utils.php:1392
3933
  msgid ""
3934
  "This protection (and notification) can be turned off from NinjaFirewall "
3935
  "\"Firewall Policies\" page."
3936
  msgstr ""
3937
 
3938
+ #: lib/utils.php:259 lib/utils.php:260 lib/utils.php:378 lib/utils.php:379
3939
+ #: lib/utils.php:1146 lib/utils.php:1147
3940
  msgid "You are not allowed to perform this task."
3941
  msgstr ""
3942
 
3943
+ #: lib/utils.php:327
3944
  msgid "Blocked user account creation"
3945
  msgstr ""
3946
 
3947
+ #: lib/utils.php:339
3948
  msgid "NinjaFirewall has blocked an attempt to create a user account:"
3949
  msgstr ""
3950
 
3951
+ #: lib/utils.php:652 lib/utils.php:656
3952
  msgid "NinjaFirewall error"
3953
  msgstr ""
3954
 
3955
+ #: lib/utils.php:653
3956
  #, php-format
3957
  msgid ""
3958
  "%s directory cannot be created. Please review your installation and ensure "
3959
  "that %s is writable."
3960
  msgstr ""
3961
 
3962
+ #: lib/utils.php:657
3963
  #, php-format
3964
  msgid ""
3965
  "%s directory is read-only. Please review your installation and ensure that "
3966
  "%s is writable."
3967
  msgstr ""
3968
 
3969
+ #: lib/utils.php:672
3970
  msgid "unknown error"
3971
  msgstr ""
3972
 
3973
+ #: lib/utils.php:674
3974
  msgid "NinjaFirewall fatal error:"
3975
  msgstr ""
3976
 
3977
+ #: lib/utils.php:675
3978
  msgid "Review your installation, your site is not protected."
3979
  msgstr ""
3980
 
3981
+ #: lib/utils.php:700
3982
  msgid "Alert: WordPress console login"
3983
  msgstr ""
3984
 
3985
+ #: lib/utils.php:706
3986
  msgid "Someone just logged in to your WordPress admin console:"
3987
  msgstr ""
3988
 
3989
+ #: lib/utils.php:712
3990
  msgid "Support forum"
3991
  msgstr ""
3992
 
3993
+ #: lib/utils.php:792 lib/utils.php:819
3994
  msgid "Forbidden access"
3995
  msgstr ""
3996
 
3997
+ #: lib/utils.php:838
3998
  #, php-format
3999
  msgid ""
4000
  "<strong>ERROR</strong>: Invalid username or password.<br /><a href=\"%s"
4001
  "\">Lost your password</a>?"
4002
  msgstr ""
4003
 
4004
+ #: lib/utils.php:922
4005
  msgid "[NinjaFirewall] Alert: Database changes detected"
4006
  msgstr ""
4007
 
4008
+ #: lib/utils.php:923
4009
  msgid ""
4010
  "NinjaFirewall has detected that one or more administrator accounts were "
4011
  "modified in the database:"
4012
  msgstr ""
4013
 
4014
+ #: lib/utils.php:928
4015
  #, php-format
4016
  msgid "Total administrators : %s"
4017
  msgstr ""
4018
 
4019
+ #: lib/utils.php:937
4020
  msgid ""
4021
  "If you cannot see any modifications in the above fields, it is possible that "
4022
  "the administrator password was changed."
4023
  msgstr ""
4024
 
4025
+ #: lib/utils.php:1087
4026
  msgid "Blocked privilege escalation attempt"
4027
  msgstr ""
4028
 
4029
+ #: lib/utils.php:1100
4030
  msgid ""
4031
  "NinjaFirewall has blocked an attempt to modify a user capability by someone "
4032
  "who does not have administrative privileges:"
4033
  msgstr ""
4034
 
4035
+ #: lib/utils.php:1158
4036
  msgid ""
4037
  "NinjaFirewall brute-force protection is enabled and you are temporarily "
4038
  "whitelisted."
4039
  msgstr ""
4040
 
4041
+ #: lib/utils.php:1173
4042
  #, php-format
4043
  msgid ""
4044
  "Hey, it seems that you've been using NinjaFirewall for some time. If you "
4047
  "rate it. Thank you!"
4048
  msgstr ""
4049
 
4050
+ #: lib/utils.php:1354
4051
  msgid ""
4052
  "The attempt was blocked and the option was reversed to its original value."
4053
  msgstr ""
4054
 
4055
+ #: lib/utils.php:1359
4056
  msgid "Attempt to modify WordPress settings"
4057
  msgstr ""
4058
 
4059
+ #: lib/utils.php:1360
4060
  msgid ""
4061
  "NinjaFirewall has blocked an attempt to modify some important WordPress "
4062
  "settings by a user that does not have administrative privileges:"
4063
  msgstr ""
4064
 
4065
+ #: lib/utils.php:1361 lib/utils.php:1370
4066
  #, php-format
4067
  msgid "Option: %s"
4068
  msgstr ""
4069
 
4070
+ #: lib/utils.php:1362
4071
  #, php-format
4072
  msgid "Original value: %s"
4073
  msgstr ""
4074
 
4075
+ #: lib/utils.php:1363
4076
  #, php-format
4077
  msgid "Modified value: %s"
4078
  msgstr ""
4079
 
4080
+ #: lib/utils.php:1364 lib/utils.php:1372
4081
  #, php-format
4082
  msgid "Action taken: %s"
4083
  msgstr ""
4084
 
4085
+ #: lib/utils.php:1368
4086
  msgid "Code injection attempt in WordPress options table"
4087
  msgstr ""
4088
 
4089
+ #: lib/utils.php:1369
4090
  msgid ""
4091
  "NinjaFirewall has blocked an attempt to inject code in the WordPress options "
4092
  "table by a user that does not have administrative privileges:"
4093
  msgstr ""
4094
 
4095
+ #: lib/utils.php:1371
4096
  #, php-format
4097
  msgid "Code: %s"
4098
  msgstr ""
4099
 
4100
+ #: lib/utils.php:1427
4101
  #, php-format
4102
  msgid "Error, cannot create the %s folder."
4103
  msgstr ""
4104
 
4105
+ #: lib/utils.php:1427 lib/utils.php:1435 lib/utils.php:1443
4106
  msgid "Check your server permissions and try again."
4107
  msgstr ""
4108
 
4109
+ #: lib/utils.php:1435
4110
  #, php-format
4111
  msgid "Error, the %s folder is not writable."
4112
  msgstr ""
4113
 
4114
+ #: lib/utils.php:1443
4115
  #, php-format
4116
  msgid "Error, cannot write %s."
4117
  msgstr ""
4140
  msgid "View firewall log"
4141
  msgstr ""
4142
 
4143
+ #: lib/widget.php:133
4144
  msgid "Latest Security News"
4145
  msgstr ""
4146
 
4147
+ #: lib/widget.php:137
4148
  msgid "M jS, Y"
4149
  msgstr ""
4150
 
4151
+ #: lib/widget.php:148
4152
  msgid "More Security News"
4153
  msgstr ""
4154
 
4155
+ #: lib/widget.php:148
4156
  msgid "(opens in a new tab)"
4157
  msgstr ""
4158
 
4159
+ #: lib/widget.php:148
4160
  msgid "NinjaFirewall's Home"
4161
  msgstr ""
4162
 
4337
 
4338
  #: lib/wpplus.php:190
4339
  msgid ""
4340
+ "You can allow uploads while rejecting potentially dangerous files, "
4341
+ "<strong>even if they are compressed inside a ZIP archive</strong>: scripts "
4342
  "(PHP, CGI, Ruby, Python, bash/shell), C/C++ source code, binaries (MZ/PE/NE "
4343
  "and ELF formats), system files (.htaccess, .htpasswd and PHP INI) and SVG "
4344
  "files containing Javascript/XML events. You can easily limit the size of "
4630
  msgid "Error: The HTTP server returned the following error code:"
4631
  msgstr ""
4632
 
4633
+ #: ninjafirewall.php:597 ninjafirewall.php:708
4634
  msgid "Error: Security nonces do not match. Reload the page and try again."
4635
  msgstr ""
4636
 
4637
+ #: ninjafirewall.php:603
4638
  msgid "Error: NinjaFirewall is disabled"
4639
  msgstr ""
4640
 
4641
+ #: ninjafirewall.php:608
4642
  #, php-format
4643
  msgid "Error: missing parameter (%s)."
4644
  msgstr ""
4645
 
4646
+ #: ninjafirewall.php:770
4647
  msgid "NinjaFirewall: Dashboard"
4648
  msgstr ""
4649
 
4650
+ #: ninjafirewall.php:774
4651
  msgid "NinjaFirewall: Firewall Options"
4652
  msgstr ""
4653
 
4654
+ #: ninjafirewall.php:778
4655
  msgid "NinjaFirewall: Firewall Policies"
4656
  msgstr ""
4657
 
4658
+ #: ninjafirewall.php:782
4659
  msgid "NinjaFirewall: Monitoring"
4660
  msgstr ""
4661
 
4662
+ #: ninjafirewall.php:792
4663
  msgid "NinjaFirewall: Anti-Malware"
4664
  msgstr ""
4665
 
4666
+ #: ninjafirewall.php:796
4667
  msgid "NinjaFirewall: Network"
4668
  msgstr ""
4669
 
4670
+ #: ninjafirewall.php:800
4671
  msgid "NinjaFirewall: Event Notifications"
4672
  msgstr ""
4673
 
4674
+ #: ninjafirewall.php:804
4675
  msgid "NinjaFirewall: Log-in Protection"
4676
  msgstr ""
4677
 
4678
+ #: ninjafirewall.php:808
4679
  msgid "NinjaFirewall: Logs"
4680
  msgstr ""
4681
 
4682
+ #: ninjafirewall.php:812
4683
  msgid "NinjaFirewall: Security Rules"
4684
  msgstr ""
4685
 
4686
+ #: ninjafirewall.php:856
4687
  msgid "NinjaFirewall Settings"
4688
  msgstr ""
4689
 
4690
+ #: ninjafirewall.php:864
4691
  msgid "NinjaFirewall is enabled"
4692
  msgstr ""
4693
 
4694
+ #: ninjafirewall.php:1004
4695
  msgid "Access Restricted"
4696
  msgstr ""
4697
 
4698
+ #: ninjafirewall.php:1010
4699
  msgid "Settings"
4700
  msgstr ""
4701
 
4702
+ #: ninjafirewall.php:1011
4703
  msgid "Upgrade to Premium"
4704
  msgstr ""
4705
 
4706
+ #: ninjafirewall.php:1012
4707
  msgid "Rate it!"
4708
  msgstr ""
lib/dashboard.php CHANGED
@@ -195,10 +195,9 @@ if ( $res !== false ) {
195
  <td>
196
  <?php
197
  if ( defined( 'NFW_WPWAF' ) ) {
 
198
  ?>
199
- <?php printf( __('NinjaFirewall is running in %s mode.', 'ninjafirewall'), '<a href="https://blog.nintechnet.com/full_waf-vs-wordpress_waf/">'. __('WordPress WAF', 'ninjafirewall') .'</a>'); ?>
200
- <br />
201
- <?php printf( __('For better protection, <a %s>click here</a> to enable its Full WAF mode.', 'ninjafirewall'), 'id="nfw-thickbox" style="cursor:pointer;text-decoration:underline" title="'. __('Click to install NinjaFirewall in Full WAF mode.', 'ninjafirewall') .'"') ?>
202
  <?php
203
  } else {
204
  if (! NF_DISABLED ) {
195
  <td>
196
  <?php
197
  if ( defined( 'NFW_WPWAF' ) ) {
198
+ printf( __('NinjaFirewall is running in %s mode. For better protection, activate its Full WAF mode:', 'ninjafirewall'), '<a href="https://blog.nintechnet.com/full_waf-vs-wordpress_waf/">'. __('WordPress WAF', 'ninjafirewall') .'</a>');
199
  ?>
200
+ <p><input type="button" id="nfw-thickbox" value="<?php _e('Activate Full WAF mode', 'ninjafirewall') ?>" class="button-secondary"></p>
 
 
201
  <?php
202
  } else {
203
  if (! NF_DISABLED ) {
lib/dashboard_statistics.php CHANGED
@@ -36,6 +36,7 @@ $stat_file = NFW_LOG_DIR . "/nfwlog/stats_{$statx}.php";
36
  // Parse it:
37
  if ( file_exists( $stat_file ) ) {
38
  $nfw_stat = file_get_contents( $stat_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
 
39
  } else {
40
  $nfw_stat = '0:0:0:0:0:0:0:0:0:0';
41
  goto NO_STATS;
36
  // Parse it:
37
  if ( file_exists( $stat_file ) ) {
38
  $nfw_stat = file_get_contents( $stat_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
39
+ $nfw_stat = str_replace( '<?php exit; ?>', '', $nfw_stat );
40
  } else {
41
  $nfw_stat = '0:0:0:0:0:0:0:0:0:0';
42
  goto NO_STATS;
lib/event_notifications.php CHANGED
@@ -413,16 +413,22 @@ function nf_daily_report() {
413
  return;
414
  }
415
 
416
- if ( ( is_multisite() ) && ( @$nfw_options['alert_sa_only'] == 2 ) ) {
417
- $recipient = get_option('admin_email');
418
- } else {
419
- $recipient = $nfw_options['alert_email'];
420
- }
 
 
 
 
 
421
 
422
- $logstats = array();
423
- $logstats = nf_daily_report_log();
424
 
425
- nf_daily_report_email($recipient, $logstats);
 
426
 
427
  }
428
  // ---------------------------------------------------------------------
413
  return;
414
  }
415
 
416
+ // Make sure we didn't send it already (if WP-Cron is ran twice by mistake)
417
+ $nf_transient = get_transient( 'nfw_dailyreport' );
418
+ if ( $nf_transient == false || $nf_transient < time() ) {
419
+ set_transient( 'nfw_dailyreport', time() + 300, 300 );
420
+
421
+ if ( ( is_multisite() ) && ( @$nfw_options['alert_sa_only'] == 2 ) ) {
422
+ $recipient = get_option('admin_email');
423
+ } else {
424
+ $recipient = $nfw_options['alert_email'];
425
+ }
426
 
427
+ $logstats = array();
428
+ $logstats = nf_daily_report_log();
429
 
430
+ nf_daily_report_email($recipient, $logstats);
431
+ }
432
 
433
  }
434
  // ---------------------------------------------------------------------
lib/event_updates.php CHANGED
@@ -248,7 +248,7 @@ function nfw_fetch_security_updates( $url ) {
248
  )
249
  );
250
  if ( is_wp_error( $res ) ) {
251
- nfw_log_error( sprintf( "nfw_fetch_security_updates: connection error: %s"), $result->get_error_message() );
252
  return false;
253
  }
254
 
248
  )
249
  );
250
  if ( is_wp_error( $res ) ) {
251
+ nfw_log_error( sprintf( "nfw_fetch_security_updates: connection error: %s"), $res->get_error_message() );
252
  return false;
253
  }
254
 
lib/firewall.php CHANGED
@@ -348,7 +348,7 @@ function nfw_connect() {
348
  } elseif ( preg_match('/^\s*define\s*\(\s*[\'"]DB_USER[\'"]\s*,\s*[\'"](.+?)[\'"]/', $nfw_['line'], $nfw_['match']) ) {
349
  $nfw_['DB_USER'] = $nfw_['match'][1];
350
  } elseif ( preg_match('/^\s*define\s*\(\s*[\'"]DB_PASSWORD[\'"]\s*,\s*([\'"])(.+?)\1\s*\);/', $nfw_['line'], $nfw_['match']) ) {
351
- $nfw_['DB_PASSWORD'] = stripcslashes( $nfw_['match'][2] );
352
  } elseif ( preg_match('/^\s*define\s*\(\s*[\'"]DB_HOST[\'"]\s*,\s*[\'"](.+?)[\'"]/', $nfw_['line'], $nfw_['match']) ) {
353
  $nfw_['DB_HOST'] = $nfw_['match'][1];
354
  } elseif ( preg_match('/^\s*\$table_prefix\s*=\s*[\'"](.+?)[\'"]/', $nfw_['line'], $nfw_['match']) ) {
@@ -1404,7 +1404,12 @@ function nfw_log($loginfo, $logdata, $loglevel, $ruleid) {
1404
  }
1405
  }
1406
 
1407
- if (strlen($logdata) > 200) { $logdata = mb_substr($logdata, 0, 200, 'utf-8') . '...'; }
 
 
 
 
 
1408
  $res = '';
1409
  $string = str_split($logdata);
1410
  foreach ( $string as $char ) {
@@ -1426,13 +1431,14 @@ function nfw_log($loginfo, $logdata, $loglevel, $ruleid) {
1426
 
1427
  if ( file_exists( $stat_file ) ) {
1428
  $nfw_stat = file_get_contents( $stat_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
 
1429
  } else {
1430
  $nfw_stat = '0:0:0:0:0:0:0:0:0:0';
1431
  }
1432
  $nfw_stat_arr = explode(':', $nfw_stat . ':');
1433
  ++$nfw_stat_arr[$loglevel];
1434
 
1435
- @file_put_contents( $stat_file, $nfw_stat_arr[0] . ':' . $nfw_stat_arr[1] . ':' .
1436
  $nfw_stat_arr[2] . ':' . $nfw_stat_arr[3] . ':' . $nfw_stat_arr[4] . ':' .
1437
  $nfw_stat_arr[5] . ':' . $nfw_stat_arr[6] . ':' . $nfw_stat_arr[7] . ':' .
1438
  $nfw_stat_arr[8] . ':' . $nfw_stat_arr[9], LOCK_EX );
@@ -1640,6 +1646,12 @@ function nfw_check_auth( $auth_name, $auth_pass, $auth_msgtxt, $bf_rand, $b64, $
1640
 
1641
  if ( defined('NFW_STATUS') ) { return; }
1642
 
 
 
 
 
 
 
1643
  nfw_check_session();
1644
 
1645
  global $nfw_;
@@ -1888,18 +1900,32 @@ function nfw_response_headers() {
1888
  }
1889
 
1890
  if ($NFW_RESHEADERS[4] == 1) {
 
1891
  $max_age = 'max-age=2628000';
1892
  } elseif ($NFW_RESHEADERS[4] == 2) {
 
1893
  $max_age = 'max-age=15768000';
1894
  } elseif ($NFW_RESHEADERS[4] == 3) {
 
1895
  $max_age = 'max-age=31536000';
1896
  } elseif ($NFW_RESHEADERS[4] == 4) {
 
 
1897
  $max_age = 'max-age=0';
 
 
 
1898
  }
1899
  if (! empty( $NFW_RESHEADERS[5] ) ) {
1900
- $max_age .= '; includeSubDomains';
 
 
 
 
 
 
1901
  }
1902
- header("Strict-Transport-Security: $max_age");
1903
  }
1904
 
1905
  // =====================================================================
348
  } elseif ( preg_match('/^\s*define\s*\(\s*[\'"]DB_USER[\'"]\s*,\s*[\'"](.+?)[\'"]/', $nfw_['line'], $nfw_['match']) ) {
349
  $nfw_['DB_USER'] = $nfw_['match'][1];
350
  } elseif ( preg_match('/^\s*define\s*\(\s*[\'"]DB_PASSWORD[\'"]\s*,\s*([\'"])(.+?)\1\s*\);/', $nfw_['line'], $nfw_['match']) ) {
351
+ $nfw_['DB_PASSWORD'] = str_replace( '\\'.$nfw_['match'][1], $nfw_['match'][1], $nfw_['match'][2] );
352
  } elseif ( preg_match('/^\s*define\s*\(\s*[\'"]DB_HOST[\'"]\s*,\s*[\'"](.+?)[\'"]/', $nfw_['line'], $nfw_['match']) ) {
353
  $nfw_['DB_HOST'] = $nfw_['match'][1];
354
  } elseif ( preg_match('/^\s*\$table_prefix\s*=\s*[\'"](.+?)[\'"]/', $nfw_['line'], $nfw_['match']) ) {
1404
  }
1405
  }
1406
 
1407
+ if ( defined('NFW_MAXPAYLOAD') ) {
1408
+ $NFW_MAXPAYLOAD = (int) NFW_MAXPAYLOAD;
1409
+ } else {
1410
+ $NFW_MAXPAYLOAD = 200;
1411
+ }
1412
+ if (strlen($logdata) > $NFW_MAXPAYLOAD ) { $logdata = mb_substr($logdata, 0, $NFW_MAXPAYLOAD , 'utf-8') . '...'; }
1413
  $res = '';
1414
  $string = str_split($logdata);
1415
  foreach ( $string as $char ) {
1431
 
1432
  if ( file_exists( $stat_file ) ) {
1433
  $nfw_stat = file_get_contents( $stat_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
1434
+ $nfw_stat = str_replace( '<?php exit; ?>', '', $nfw_stat );
1435
  } else {
1436
  $nfw_stat = '0:0:0:0:0:0:0:0:0:0';
1437
  }
1438
  $nfw_stat_arr = explode(':', $nfw_stat . ':');
1439
  ++$nfw_stat_arr[$loglevel];
1440
 
1441
+ @file_put_contents( $stat_file, '<?php exit; ?>' . $nfw_stat_arr[0] . ':' . $nfw_stat_arr[1] . ':' .
1442
  $nfw_stat_arr[2] . ':' . $nfw_stat_arr[3] . ':' . $nfw_stat_arr[4] . ':' .
1443
  $nfw_stat_arr[5] . ':' . $nfw_stat_arr[6] . ':' . $nfw_stat_arr[7] . ':' .
1444
  $nfw_stat_arr[8] . ':' . $nfw_stat_arr[9], LOCK_EX );
1646
 
1647
  if ( defined('NFW_STATUS') ) { return; }
1648
 
1649
+ // Prevent favicon.ico 302 redirection to the login page
1650
+ // due to plugins that do not handle well the login page access:
1651
+ if ( isset( $_GET['redirect_to'] ) && strpos( $_GET['redirect_to'], 'favicon.ico' ) !== FALSE ) {
1652
+ exit;
1653
+ }
1654
+
1655
  nfw_check_session();
1656
 
1657
  global $nfw_;
1900
  }
1901
 
1902
  if ($NFW_RESHEADERS[4] == 1) {
1903
+ // 1 month
1904
  $max_age = 'max-age=2628000';
1905
  } elseif ($NFW_RESHEADERS[4] == 2) {
1906
+ // 6 months
1907
  $max_age = 'max-age=15768000';
1908
  } elseif ($NFW_RESHEADERS[4] == 3) {
1909
+ // 12 months
1910
  $max_age = 'max-age=31536000';
1911
  } elseif ($NFW_RESHEADERS[4] == 4) {
1912
+ // Send an empty max-age to signal the UA to
1913
+ // cease regarding the host as a known HSTS Host
1914
  $max_age = 'max-age=0';
1915
+ } else {
1916
+ // 24 months
1917
+ $max_age = 'max-age=63072000';
1918
  }
1919
  if (! empty( $NFW_RESHEADERS[5] ) ) {
1920
+ if ( $NFW_RESHEADERS[5] == 1 ) {
1921
+ $max_age .= '; includeSubDomains';
1922
+ } elseif ( $NFW_RESHEADERS[5] == 2 ) {
1923
+ $max_age .= '; preload';
1924
+ } else {
1925
+ $max_age .= '; includeSubDomains; preload';
1926
+ }
1927
  }
1928
+ header('Strict-Transport-Security: '. $max_age);
1929
  }
1930
 
1931
  // =====================================================================
lib/firewall_options.php CHANGED
@@ -373,6 +373,7 @@ function nf_sub_options_import( $file ) {
373
  if (! $data) {
374
  return sprintf($err_msg, 1);
375
  }
 
376
  @list ($nfw_options, $rules, $bf) = @explode("\n:-:\n", $data . "\n:-:\n");
377
 
378
  // Detect and remove potential Unicode BOM:
373
  if (! $data) {
374
  return sprintf($err_msg, 1);
375
  }
376
+ $data = str_replace( '<?php exit; ?>', '', $data );
377
  @list ($nfw_options, $rules, $bf) = @explode("\n:-:\n", $data . "\n:-:\n");
378
 
379
  // Detect and remove potential Unicode BOM:
lib/firewall_policies.php CHANGED
@@ -25,9 +25,9 @@ nf_not_allowed( 'block', __LINE__ );
25
  $yes = __('Yes', 'ninjafirewall');
26
  $no = __('No', 'ninjafirewall');
27
 
28
- $full_waf_msg = '<p class="description" style="color:red">' .
29
- sprintf( __('This feature is only available when NinjaFirewall is running in %s mode.', 'ninjafirewall'),
30
- '<a href="https://blog.nintechnet.com/full_waf-vs-wordpress_waf/">Full WAF</a>') . '</p>';
31
  if ( defined('NFW_WPWAF') ) {
32
  $option_disabled = 1;
33
  } else {
@@ -823,7 +823,7 @@ wp_nonce_field('policies_save', 'nfwnonce', 0);
823
  $hsts_msg = '';
824
  $hsts_err = 0;
825
  }
826
- if ( $err == 1 ) { $hsts_err = 1; }//$hsts_msg = '';
827
  ?>
828
  <tr>
829
  <th scope="row" class="row-med"><?php printf( __('Set %s (HSTS) to enforce secure connections to the server', 'ninjafirewall'), '<a href="https://blog.nintechnet.com/securing-wordpress-with-a-web-application-firewall-ninjafirewall/#advanced-policies" target="_blank">Strict-Transport-Security</a>') ?></th>
@@ -834,8 +834,21 @@ wp_nonce_field('policies_save', 'nfwnonce', 0);
834
  <option value="1"<?php selected( $nfw_options['response_headers'][4], 1 ) ?>><?php _e('1 month', 'ninjafirewall') ?></option>
835
  <option value="2"<?php selected( $nfw_options['response_headers'][4], 2 ) ?>><?php _e('6 months', 'ninjafirewall') ?></option>
836
  <option value="3"<?php selected( $nfw_options['response_headers'][4], 3 ) ?>><?php _e('1 year', 'ninjafirewall') ?></option>
 
837
  </select>
838
- <p><label><input type="checkbox" name="nfw_options[strict_transport_sub]" value="1"<?php checked( $nfw_options['response_headers'][5], 1 );disabled($hsts_err, 1) ?>>&nbsp;<?php _e('Apply to subdomains', 'ninjafirewall') ?></label></p>
 
 
 
 
 
 
 
 
 
 
 
 
839
  <?php
840
  if (! empty( $hsts_msg ) ) {
841
  echo '<i class="description" style="color:red">'. $hsts_msg .'</i>';
@@ -1197,12 +1210,19 @@ function nf_sub_policies_save() {
1197
  $nfw_options['response_headers'][9] = 2;
1198
  }
1199
 
1200
- if (! isset( $_POST['nfw_options']['strict_transport_sub']) ) {
1201
- $nfw_options['response_headers'][5] = 0;
1202
- } else {
1203
- $nfw_options['response_headers'][5] = 1;
 
 
1204
  }
1205
- if ( empty( $_POST['nfw_options']['strict_transport']) ) {
 
 
 
 
 
1206
  $nfw_options['response_headers'][4] = 0;
1207
  $nfw_options['response_headers'][5] = 0;
1208
  } elseif ( $_POST['nfw_options']['strict_transport'] == 1) {
@@ -1211,9 +1231,13 @@ function nf_sub_policies_save() {
1211
  $nfw_options['response_headers'][4] = 2;
1212
  } elseif ( $_POST['nfw_options']['strict_transport'] == 3) {
1213
  $nfw_options['response_headers'][4] = 3;
1214
- } else {
1215
  $nfw_options['response_headers'][4] = 4;
 
 
1216
  }
 
 
1217
  $nfw_options['csp_frontend_data'] = stripslashes( str_replace( array( '<', '>', "\x0a", "\x0d", '%', '$', '&') , '', $_POST['nfw_options']['csp_frontend_data'] ) );
1218
  if ( empty( $_POST['nfw_options']['csp_frontend']) || empty( $nfw_options['csp_frontend_data'] ) ) {
1219
  $nfw_options['response_headers'][6] = 0;
25
  $yes = __('Yes', 'ninjafirewall');
26
  $no = __('No', 'ninjafirewall');
27
 
28
+ $full_waf_msg = '<span class="dashicons dashicons-warning nfw-warning"></span> <em>'.
29
+ sprintf( __('To use this feature, please <a href="%s">go to the Dashboard page</a> and enable NinjaFirewall\'s Full WAF mode.', 'ninjafirewall'), '?page=NinjaFirewall' ) .'</em>';
30
+
31
  if ( defined('NFW_WPWAF') ) {
32
  $option_disabled = 1;
33
  } else {
823
  $hsts_msg = '';
824
  $hsts_err = 0;
825
  }
826
+ if ( $err == 1 ) { $hsts_err = 1; }
827
  ?>
828
  <tr>
829
  <th scope="row" class="row-med"><?php printf( __('Set %s (HSTS) to enforce secure connections to the server', 'ninjafirewall'), '<a href="https://blog.nintechnet.com/securing-wordpress-with-a-web-application-firewall-ninjafirewall/#advanced-policies" target="_blank">Strict-Transport-Security</a>') ?></th>
834
  <option value="1"<?php selected( $nfw_options['response_headers'][4], 1 ) ?>><?php _e('1 month', 'ninjafirewall') ?></option>
835
  <option value="2"<?php selected( $nfw_options['response_headers'][4], 2 ) ?>><?php _e('6 months', 'ninjafirewall') ?></option>
836
  <option value="3"<?php selected( $nfw_options['response_headers'][4], 3 ) ?>><?php _e('1 year', 'ninjafirewall') ?></option>
837
+ <option value="5"<?php selected( $nfw_options['response_headers'][4], 5 ) ?>><?php _e('2 years', 'ninjafirewall') ?></option>
838
  </select>
839
+ <?php
840
+ // includeSubDomains=1, preload=2, both=3
841
+ $preload = 0; $subdom = 0;
842
+ if ( $nfw_options['response_headers'][5] == 3 ) {
843
+ $preload = 1;
844
+ $subdom = 1;
845
+ } elseif ( $nfw_options['response_headers'][5] == 2 ) {
846
+ $preload = 1;
847
+ } elseif ( $nfw_options['response_headers'][5] == 1 ) {
848
+ $subdom = 1;
849
+ }
850
+ ?>
851
+ <p><label><input type="checkbox" name="nfw_options[strict_transport_sub]" value="1"<?php checked( $subdom, 1 );disabled($hsts_err, 1) ?>>&nbsp;<?php _e('Apply to subdomains', 'ninjafirewall') ?></label>&nbsp;&nbsp;<label><input type="checkbox" name="nfw_options[strict_transport_preload]" value="1"<?php checked( $preload, 1 );disabled($hsts_err, 1) ?>>&nbsp;<?php _e('Preload', 'ninjafirewall') ?></label></p>
852
  <?php
853
  if (! empty( $hsts_msg ) ) {
854
  echo '<i class="description" style="color:red">'. $hsts_msg .'</i>';
1210
  $nfw_options['response_headers'][9] = 2;
1211
  }
1212
 
1213
+ // Strict-Transport-Security
1214
+
1215
+ // includeSubDomains=1, preload=2, both=3
1216
+ $rs5 = 0;
1217
+ if ( isset( $_POST['nfw_options']['strict_transport_sub'] ) ) {
1218
+ $rs5 = 1;
1219
  }
1220
+ if ( isset( $_POST['nfw_options']['strict_transport_preload'] ) ) {
1221
+ $rs5 += 2;
1222
+ }
1223
+ $nfw_options['response_headers'][5] = $rs5;
1224
+
1225
+ if ( empty( $_POST['nfw_options']['strict_transport'] ) ) {
1226
  $nfw_options['response_headers'][4] = 0;
1227
  $nfw_options['response_headers'][5] = 0;
1228
  } elseif ( $_POST['nfw_options']['strict_transport'] == 1) {
1231
  $nfw_options['response_headers'][4] = 2;
1232
  } elseif ( $_POST['nfw_options']['strict_transport'] == 3) {
1233
  $nfw_options['response_headers'][4] = 3;
1234
+ } elseif ( $_POST['nfw_options']['strict_transport'] == 4) {
1235
  $nfw_options['response_headers'][4] = 4;
1236
+ } else {
1237
+ $nfw_options['response_headers'][4] = 5;
1238
  }
1239
+
1240
+
1241
  $nfw_options['csp_frontend_data'] = stripslashes( str_replace( array( '<', '>', "\x0a", "\x0d", '%', '$', '&') , '', $_POST['nfw_options']['csp_frontend_data'] ) );
1242
  if ( empty( $_POST['nfw_options']['csp_frontend']) || empty( $nfw_options['csp_frontend_data'] ) ) {
1243
  $nfw_options['response_headers'][6] = 0;
lib/fw_livelog.php CHANGED
@@ -33,8 +33,7 @@ function fw_livelog_show() {
33
  if ( file_exists($nfw_['livelog']) ) {
34
  // Check if we need to flush it :
35
  if ($_POST['livecls'] > 0) {
36
- $fh = fopen($nfw_['livelog'],'w');
37
- fclose($fh);
38
  }
39
  $count = 0;
40
  $buffer = '';
33
  if ( file_exists($nfw_['livelog']) ) {
34
  // Check if we need to flush it :
35
  if ($_POST['livecls'] > 0) {
36
+ @file_put_contents( $nfw_['livelog'], '<?php exit; ?>', LOCK_EX);
 
37
  }
38
  $count = 0;
39
  $buffer = '';
lib/install_default.php CHANGED
@@ -205,9 +205,6 @@ function nfw_load_default_conf() {
205
  }
206
  $nfw_rules[NFW_DOC_ROOT]['ena'] = 0;
207
 
208
- // Enable PHP object injection rules (since v3.5.3):
209
- $nfw_rules[NFW_OBJECTS]['ena'] = 1;
210
-
211
  // ------------------------------------------------------------------
212
  // Update DB options and rules **BEFORE** (re)enabling scheduled tasks
213
  // (the garbage collect should be ran/scheduled last):
205
  }
206
  $nfw_rules[NFW_DOC_ROOT]['ena'] = 0;
207
 
 
 
 
208
  // ------------------------------------------------------------------
209
  // Update DB options and rules **BEFORE** (re)enabling scheduled tasks
210
  // (the garbage collect should be ran/scheduled last):
lib/logs_firewall_log.php CHANGED
@@ -23,6 +23,7 @@ nf_not_allowed( 'block', __LINE__ );
23
 
24
  $nfw_options = nfw_get_option( 'nfw_options' );
25
 
 
26
  $log_dir = NFW_LOG_DIR . '/nfwlog/';
27
  $monthly_log = 'firewall_' . date( 'Y-m' ) . '.php';
28
 
@@ -105,8 +106,6 @@ echo '</select></center>';
105
 
106
  $levels = array( '', 'MEDIUM', 'HIGH', 'CRITICAL', 'ERROR', 'UPLOAD', 'INFO', 'DEBUG_ON' );
107
 
108
- nfw_get_blogtimezone();
109
-
110
  $logline = '';
111
  if ( isset( $data['log'] ) && is_array( $data['log'] ) ) {
112
  foreach ( $data['log'] as $line ) {
23
 
24
  $nfw_options = nfw_get_option( 'nfw_options' );
25
 
26
+ nfw_get_blogtimezone();
27
  $log_dir = NFW_LOG_DIR . '/nfwlog/';
28
  $monthly_log = 'firewall_' . date( 'Y-m' ) . '.php';
29
 
106
 
107
  $levels = array( '', 'MEDIUM', 'HIGH', 'CRITICAL', 'ERROR', 'UPLOAD', 'INFO', 'DEBUG_ON' );
108
 
 
 
109
  $logline = '';
110
  if ( isset( $data['log'] ) && is_array( $data['log'] ) ) {
111
  foreach ( $data['log'] as $line ) {
lib/logs_live_log.php CHANGED
@@ -44,11 +44,9 @@ if (! empty( $err_msg ) ) {
44
  }
45
 
46
  // Create an empty log et set the required session
47
- $fh = fopen( NFW_LOG_DIR .'/nfwlog/cache/livelog.php', 'w' );
48
- fclose( $fh );
49
  $_SESSION['nfw_livelog'] = 1;
50
 
51
-
52
  if (! isset($_COOKIE['nfwscroll']) || ! empty($_COOKIE['nfwscroll']) ) {
53
  // Default, if not set
54
  $nfwscroll = 1;
44
  }
45
 
46
  // Create an empty log et set the required session
47
+ @file_put_contents( NFW_LOG_DIR .'/nfwlog/cache/livelog.php', '<?php exit; ?>', LOCK_EX);
 
48
  $_SESSION['nfw_livelog'] = 1;
49
 
 
50
  if (! isset($_COOKIE['nfwscroll']) || ! empty($_COOKIE['nfwscroll']) ) {
51
  // Default, if not set
52
  $nfwscroll = 1;
lib/monitoring_file_check.php CHANGED
@@ -116,6 +116,9 @@ if ( empty($nfw_options['snapdir']) ) {
116
  }
117
  if (! isset($nfw_options['snapexclude']) ) {
118
  $nfw_options['snapexclude'] = '/'. basename(WP_CONTENT_DIR) .'/nfwlog/';
 
 
 
119
  }
120
 
121
 
116
  }
117
  if (! isset($nfw_options['snapexclude']) ) {
118
  $nfw_options['snapexclude'] = '/'. basename(WP_CONTENT_DIR) .'/nfwlog/';
119
+ if ( is_dir( WP_CONTENT_DIR .'/ninjascanner/' ) ) {
120
+ $nfw_options['snapexclude'] .= ',/'. basename(WP_CONTENT_DIR) .'/ninjascanner/';
121
+ }
122
  }
123
 
124
 
lib/monitoring_file_guard.php CHANGED
@@ -26,7 +26,7 @@ $nfw_options = nfw_get_option( 'nfw_options' );
26
  if ( defined('NFW_WPWAF') ) {
27
  ?>
28
  <div class="nfw-notice nfw-notice-orange">
29
- <p><?php printf( __('You are running NinjaFirewall in <i>WordPress WAF</i> mode. The %s feature will be limited to a few WordPress files only (e.g., index.php, wp-login.php, xmlrpc.php, admin-ajax.php, wp-load.php etc). If you want it to apply to any PHP script, you will need to run NinjaFirewall in %s mode.', 'ninjafirewall'), 'File Guard', '<a href="https://blog.nintechnet.com/full_waf-vs-wordpress_waf/">Full WAF</a>') ?></p>
30
  </div>
31
  <?php
32
  }
26
  if ( defined('NFW_WPWAF') ) {
27
  ?>
28
  <div class="nfw-notice nfw-notice-orange">
29
+ <p><?php printf( __('You are running NinjaFirewall in <i>WordPress WAF</i> mode. The %s feature will be limited to WordPress files only (e.g., index.php, wp-login.php, xmlrpc.php, admin-ajax.php, wp-load.php etc). If you want it to apply to any PHP script, please <a href="%s">go to the Dashboard page</a> and enable NinjaFirewall\'s Full WAF mode.', 'ninjafirewall'), 'File Guard', '?page=NinjaFirewall') ?></p>
30
  </div>
31
  <?php
32
  }
lib/nfw_log.php CHANGED
@@ -29,7 +29,13 @@ if (! empty($nfw_options['debug']) ) {
29
  $num_incident = mt_rand(1000000, 9000000);
30
  $http_ret_code = $nfw_options['ret_code'];
31
  }
32
- if (strlen($logdata) > 200) { $logdata = mb_substr($logdata, 0, 200, 'utf-8') . '...'; }
 
 
 
 
 
 
33
  $res = '';
34
  $string = str_split($logdata);
35
  foreach ( $string as $char ) {
@@ -47,12 +53,13 @@ $log_file = NFW_LOG_DIR . '/nfwlog/firewall_' . $cur_month . '.php';
47
 
48
  if ( file_exists( $stat_file ) ) {
49
  $nfw_stat = file_get_contents( $stat_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
 
50
  } else {
51
  $nfw_stat = '0:0:0:0:0:0:0:0:0:0';
52
  }
53
  $nfw_stat_arr = explode(':', $nfw_stat . ':');
54
  ++$nfw_stat_arr[$loglevel];
55
- @file_put_contents( $stat_file, $nfw_stat_arr[0] . ':' . $nfw_stat_arr[1] . ':' .
56
  $nfw_stat_arr[2] . ':' . $nfw_stat_arr[3] . ':' . $nfw_stat_arr[4] . ':' .
57
  $nfw_stat_arr[5] . ':' . $nfw_stat_arr[6] . ':' . $nfw_stat_arr[7] . ':' .
58
  $nfw_stat_arr[8] . ':' . $nfw_stat_arr[9], LOCK_EX );
29
  $num_incident = mt_rand(1000000, 9000000);
30
  $http_ret_code = $nfw_options['ret_code'];
31
  }
32
+
33
+ if ( defined('NFW_MAXPAYLOAD') ) {
34
+ $NFW_MAXPAYLOAD = (int) NFW_MAXPAYLOAD;
35
+ } else {
36
+ $NFW_MAXPAYLOAD = 200;
37
+ }
38
+ if (strlen($logdata) > $NFW_MAXPAYLOAD) { $logdata = mb_substr($logdata, 0, $NFW_MAXPAYLOAD, 'utf-8') . '...'; }
39
  $res = '';
40
  $string = str_split($logdata);
41
  foreach ( $string as $char ) {
53
 
54
  if ( file_exists( $stat_file ) ) {
55
  $nfw_stat = file_get_contents( $stat_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
56
+ $nfw_stat = str_replace( '<?php exit; ?>', '', $nfw_stat );
57
  } else {
58
  $nfw_stat = '0:0:0:0:0:0:0:0:0:0';
59
  }
60
  $nfw_stat_arr = explode(':', $nfw_stat . ':');
61
  ++$nfw_stat_arr[$loglevel];
62
+ @file_put_contents( $stat_file, '<?php exit; ?>' .$nfw_stat_arr[0] . ':' . $nfw_stat_arr[1] . ':' .
63
  $nfw_stat_arr[2] . ':' . $nfw_stat_arr[3] . ':' . $nfw_stat_arr[4] . ':' .
64
  $nfw_stat_arr[5] . ':' . $nfw_stat_arr[6] . ':' . $nfw_stat_arr[7] . ':' .
65
  $nfw_stat_arr[8] . ':' . $nfw_stat_arr[9], LOCK_EX );
lib/thickbox.php CHANGED
@@ -39,7 +39,7 @@ function nfw_upgrade_fullwaf() {
39
  ?>
40
  <div id="nfw-thickbox-content" style="display:none;">
41
 
42
- <h2><?php _e('Upgrade to Full WAF mode', 'ninjafirewall') ?></h2>
43
 
44
  <div id="nfwaf-step1">
45
  <p>
39
  ?>
40
  <div id="nfw-thickbox-content" style="display:none;">
41
 
42
+ <h2><?php _e('Activate Full WAF mode', 'ninjafirewall') ?></h2>
43
 
44
  <div id="nfwaf-step1">
45
  <p>
lib/utils.php CHANGED
@@ -166,6 +166,11 @@ function nf_wp_insert_post_empty_content( $maybe_empty, $postarr ) {
166
  return false;
167
  }
168
 
 
 
 
 
 
169
  // We must use meta capability (edit_post/edit_page), not capability (edit_postS/edit_pageS).
170
  $edit_post = "edit_{$postarr['post_type']}";
171
  if ( current_user_can( $edit_post, $id ) ) {
@@ -422,7 +427,9 @@ function nfw_garbage_collector() {
422
  while ( is_array( $glob ) && ! empty( $glob[0] ) ) {
423
  $content = array();
424
  $last_file = array_pop( $glob );
425
- $content = @explode("\n:-:\n", file_get_contents( $last_file ) . "\n:-:\n");
 
 
426
  $content[0] = json_decode( $content[0], true );
427
 
428
  if ( nfw_validate_option( $content[0] ) === true ) {
@@ -541,7 +548,7 @@ function nfw_garbage_collector() {
541
  }
542
  $data = json_encode( $nfw_options ) ."\n:-:\n". json_encode($nfw_rules) ."\n:-:\n". $bd_data;
543
  $file = uniqid( 'backup_'. time() .'_', true) . '.php';
544
- @file_put_contents( $path . $file, $data, LOCK_EX );
545
  array_unshift( $glob, $path . $file );
546
  }
547
  }
@@ -569,7 +576,7 @@ function nfw_garbage_collector() {
569
  }
570
  $data = json_encode( $nfw_options ) ."\n:-:\n". json_encode($nfw_rules) ."\n:-:\n". $bd_data;
571
  $file = uniqid( 'backup_'. time() .'_', true) . '.php';
572
- @file_put_contents( $path . $file, $data, LOCK_EX );
573
  }
574
 
575
  // ------------------------------------------------------------------
166
  return false;
167
  }
168
 
169
+ // Ignore empty post whose ID is 0, WordPress will handle them
170
+ if ( empty( $id ) && empty( $postarr['post_content'] ) && empty( $postarr['post_title'] ) ) {
171
+ return false;
172
+ }
173
+
174
  // We must use meta capability (edit_post/edit_page), not capability (edit_postS/edit_pageS).
175
  $edit_post = "edit_{$postarr['post_type']}";
176
  if ( current_user_can( $edit_post, $id ) ) {
427
  while ( is_array( $glob ) && ! empty( $glob[0] ) ) {
428
  $content = array();
429
  $last_file = array_pop( $glob );
430
+ $data = file_get_contents( $last_file );
431
+ $data = str_replace( '<?php exit; ?>', '', $data );
432
+ $content = @explode("\n:-:\n", $data . "\n:-:\n");
433
  $content[0] = json_decode( $content[0], true );
434
 
435
  if ( nfw_validate_option( $content[0] ) === true ) {
548
  }
549
  $data = json_encode( $nfw_options ) ."\n:-:\n". json_encode($nfw_rules) ."\n:-:\n". $bd_data;
550
  $file = uniqid( 'backup_'. time() .'_', true) . '.php';
551
+ @file_put_contents( $path . $file, '<?php exit; ?>' . $data, LOCK_EX );
552
  array_unshift( $glob, $path . $file );
553
  }
554
  }
576
  }
577
  $data = json_encode( $nfw_options ) ."\n:-:\n". json_encode($nfw_rules) ."\n:-:\n". $bd_data;
578
  $file = uniqid( 'backup_'. time() .'_', true) . '.php';
579
+ @file_put_contents( $path . $file, '<?php exit; ?>' . $data, LOCK_EX );
580
  }
581
 
582
  // ------------------------------------------------------------------
lib/widget.php CHANGED
@@ -45,6 +45,7 @@ function nfw_stats_widget() {
45
  $stat_file = NFW_LOG_DIR . '/nfwlog/stats_' . date( 'Y-m' ) . '.php';
46
  if ( file_exists( $stat_file ) ) {
47
  $nfw_stat = file_get_contents( $stat_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
 
48
  } else {
49
  $nfw_stat = '0:0:0:0:0:0:0:0:0:0';
50
  }
@@ -106,39 +107,48 @@ function nfw_stats_widget() {
106
  }
107
  // Fetch the last $maxnews posts (except changelog):
108
  $url = 'https://blog.nintechnet.com/wp-json/wp/v2/posts?per_page='. $maxnews .'&categories_exclude=37';
109
- global $wp_version;
110
 
111
- $res = wp_remote_get(
112
- $url,
113
- array(
114
- 'timeout' => 20,
115
- 'httpversion' => '1.1' ,
116
- 'user-agent' => 'Mozilla/5.0 (compatible; NinjaFirewall/'.
117
- NFW_ENGINE_VERSION .'; WordPress/'. $wp_version . ')',
118
- 'sslverify' => true
119
- )
120
- );
121
- if (! is_wp_error( $res ) && $res['response']['code'] == 200 ) {
122
- $news = json_decode( $res['body'] );
123
- echo '<br /><div><h3 style="font-weight:600;">'. __('Latest Security News', 'ninjafirewall' ) .'</h3></div>';
124
- echo '<div class="rss-widget"><ul>';
125
- $count = 0;
126
- foreach( $news as $k => $v ) {
127
- $date = date_i18n( __( 'M jS, Y' ), strtotime( $v->date_gmt ) );
128
- ++$count;
129
- echo '<li><a class="rsswidget" style="font-weight:400;" href="'. esc_url( $v->link ) .'" target="_blank">'. htmlentities( rtrim( $v->title->rendered, '.' ) ) .'</a><span class="rss-date"> | '. htmlentities( $date ) . '</span>';
130
- if ( $count == 1 ) {
131
- echo '<div class="rssSummary" style="border-bottom:1px solid #eee;padding:0 0 10px;">'. htmlentities( strip_tags( $v->excerpt->rendered ) ) .'</div>';
132
- }
133
- echo '</li>';
 
 
 
 
 
 
 
 
 
134
  }
135
- echo '</ul></div>';
136
- ?>
137
- <br /><p class="community-events-footer">
138
- <a href="https://blog.nintechnet.com/" target="_blank"><?php _e('More Security News', 'ninjafirewall' ) ?> <span class="screen-reader-text"><?php _e('(opens in a new tab)') ?></span><span aria-hidden="true" class="dashicons dashicons-external"></span></a> | <a href="https://nintechnet.com/" target="_blank"><?php _e('NinjaFirewall\'s Home', 'ninjafirewall' ) ?> <span class="screen-reader-text"><?php _e('(opens in a new tab)') ?></span><span aria-hidden="true" class="dashicons dashicons-external"></span></a> | <a href="https://twitter.com/nintechnet" target="_blank">Twitter <span class="screen-reader-text"><?php _e('(opens in a new tab)') ?></span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>
139
- </p>
140
- <?php
141
  }
 
 
 
 
 
 
142
  }
143
  }
144
  // =====================================================================
45
  $stat_file = NFW_LOG_DIR . '/nfwlog/stats_' . date( 'Y-m' ) . '.php';
46
  if ( file_exists( $stat_file ) ) {
47
  $nfw_stat = file_get_contents( $stat_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
48
+ $nfw_stat = str_replace( '<?php exit; ?>', '', $nfw_stat );
49
  } else {
50
  $nfw_stat = '0:0:0:0:0:0:0:0:0:0';
51
  }
107
  }
108
  // Fetch the last $maxnews posts (except changelog):
109
  $url = 'https://blog.nintechnet.com/wp-json/wp/v2/posts?per_page='. $maxnews .'&categories_exclude=37';
 
110
 
111
+ // Check it we have a cached copy
112
+ $res['body'] = get_transient( 'nfw_widgetnews' );
113
+
114
+ if ( empty( $res['body'] ) ) {
115
+ global $wp_version;
116
+ $res = wp_remote_get(
117
+ $url,
118
+ array(
119
+ 'timeout' => 20,
120
+ 'httpversion' => '1.1' ,
121
+ 'user-agent' => 'Mozilla/5.0 (compatible; NinjaFirewall/'.
122
+ NFW_ENGINE_VERSION .'; WordPress/'. $wp_version . ')',
123
+ 'sslverify' => true
124
+ )
125
+ );
126
+ if ( is_wp_error( $res ) || $res['response']['code'] != 200 ) {
127
+ return;
128
+ }
129
+ // Cache the data for 30 minutes
130
+ set_transient( 'nfw_widgetnews', $res['body'], 1800 );
131
+ }
132
+
133
+ $news = json_decode( $res['body'] );
134
+ echo '<br /><div><h3 style="font-weight:600;">'. __('Latest Security News', 'ninjafirewall' ) .'</h3></div>';
135
+ echo '<div class="rss-widget"><ul>';
136
+ $count = 0;
137
+ foreach( $news as $k => $v ) {
138
+ $date = date_i18n( __( 'M jS, Y' ), strtotime( $v->date_gmt ) );
139
+ ++$count;
140
+ echo '<li><a class="rsswidget" style="font-weight:400;" href="'. esc_url( $v->link ) .'" target="_blank">'. htmlentities( rtrim( $v->title->rendered, '.' ) ) .'</a><span class="rss-date"> | '. htmlentities( $date ) . '</span>';
141
+ if ( $count == 1 ) {
142
+ echo '<div class="rssSummary" style="border-bottom:1px solid #eee;padding:0 0 10px;">'. htmlentities( strip_tags( $v->excerpt->rendered ) ) .'</div>';
143
  }
144
+ echo '</li>';
 
 
 
 
 
145
  }
146
+ echo '</ul></div>';
147
+ ?>
148
+ <br /><p class="community-events-footer">
149
+ <a href="https://blog.nintechnet.com/" target="_blank"><?php _e('More Security News', 'ninjafirewall' ) ?> <span class="screen-reader-text"><?php _e('(opens in a new tab)') ?></span><span aria-hidden="true" class="dashicons dashicons-external"></span></a> | <a href="https://nintechnet.com/" target="_blank"><?php _e('NinjaFirewall\'s Home', 'ninjafirewall' ) ?> <span class="screen-reader-text"><?php _e('(opens in a new tab)') ?></span><span aria-hidden="true" class="dashicons dashicons-external"></span></a> | <a href="https://twitter.com/nintechnet" target="_blank">Twitter <span class="screen-reader-text"><?php _e('(opens in a new tab)') ?></span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>
150
+ </p>
151
+ <?php
152
  }
153
  }
154
  // =====================================================================
lib/wpplus.php CHANGED
@@ -187,7 +187,7 @@ nf_not_allowed( 'block', __LINE__ );
187
  <div class="feature-section is-wide has-2-columns">
188
  <div class="column">
189
  <h3><?php _e('File uploads', 'ninjafirewall') ?></h3>
190
- <p><?php _e('You can allow uploads while rejecting potentially dangerous files: scripts (PHP, CGI, Ruby, Python, bash/shell), C/C++ source code, binaries (MZ/PE/NE and ELF formats), system files (.htaccess, .htpasswd and PHP INI) and SVG files containing Javascript/XML events. You can easily limit the size of each uploaded file too, without having to modify your PHP configuration.', 'ninjafirewall') ?></p>
191
  </div>
192
  <div class="column is-vertically-aligned-center">
193
  <a href="<?php echo plugins_url() ?>/ninjafirewall/images/screenshots/file-uploads.png" class="thickbox"><img src="<?php echo plugins_url() ?>/ninjafirewall/images/screenshots/file-uploads.png" class="wpplus" title="<?php _e('Click to enlarge image.', 'ninjafirewall') ?>" /></a>
187
  <div class="feature-section is-wide has-2-columns">
188
  <div class="column">
189
  <h3><?php _e('File uploads', 'ninjafirewall') ?></h3>
190
+ <p><?php _e('You can allow uploads while rejecting potentially dangerous files, <strong>even if they are compressed inside a ZIP archive</strong>: scripts (PHP, CGI, Ruby, Python, bash/shell), C/C++ source code, binaries (MZ/PE/NE and ELF formats), system files (.htaccess, .htpasswd and PHP INI) and SVG files containing Javascript/XML events. You can easily limit the size of each uploaded file too, without having to modify your PHP configuration.', 'ninjafirewall') ?></p>
191
  </div>
192
  <div class="column is-vertically-aligned-center">
193
  <a href="<?php echo plugins_url() ?>/ninjafirewall/images/screenshots/file-uploads.png" class="thickbox"><img src="<?php echo plugins_url() ?>/ninjafirewall/images/screenshots/file-uploads.png" class="wpplus" title="<?php _e('Click to enlarge image.', 'ninjafirewall') ?>" /></a>
ninjafirewall.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: NinjaFirewall (WP Edition)
4
  Plugin URI: https://nintechnet.com/
5
  Description: A true Web Application Firewall to protect and secure WordPress.
6
- Version: 4.2.1
7
  Author: The Ninja Technologies Network
8
  Author URI: https://nintechnet.com/
9
  License: GPLv3 or later
@@ -19,7 +19,7 @@ Domain Path: /languages
19
  | (c) NinTechNet - https://nintechnet.com/ |
20
  +---------------------------------------------------------------------+
21
  */
22
- define( 'NFW_ENGINE_VERSION', '4.2.1' );
23
  /*
24
  +---------------------------------------------------------------------+
25
  | This program is free software: you can redistribute it and/or |
@@ -65,13 +65,13 @@ define('NFW_DOC_ROOT', 510);
65
  define('NFW_WRAPPERS', 520);
66
  define('NFW_OBJECTS', 525);
67
  define('NFW_LOOPBACK', 540);
68
- $message = '<br /><br /><br /><br /><center>' .
69
  sprintf( __('Sorry %s, your request cannot be processed.', 'ninjafirewall'), '<b>%%REM_ADDRESS%%</b>') .
70
  '<br />' . __('For security reasons, it was blocked and logged.', 'ninjafirewall') .
71
  '<br /><br />%%NINJA_LOGO%%<br /><br />' .
72
- __('If you believe this was an error please contact the<br />webmaster and enclose the following incident ID:', 'ninjafirewall') .
73
- '<br /><br />[ <b>#%%NUM_INCIDENT%%</b> ]</center>';
74
- define( 'NFW_DEFAULT_MSG', $message );
75
  $err_fw = array(
76
  1 => __('Cannot find WordPress configuration file', 'ninjafirewall'),
77
  2 => __('Cannot read WordPress configuration file', 'ninjafirewall'),
@@ -557,7 +557,13 @@ function nfw_login_hook( $user_login, $user ) {
557
  }
558
  }
559
 
560
- add_action( 'wp_login', 'nfw_login_hook', 999, 2 );
 
 
 
 
 
 
561
 
562
  /* ------------------------------------------------------------------ */
563
 
3
  Plugin Name: NinjaFirewall (WP Edition)
4
  Plugin URI: https://nintechnet.com/
5
  Description: A true Web Application Firewall to protect and secure WordPress.
6
+ Version: 4.2.2
7
  Author: The Ninja Technologies Network
8
  Author URI: https://nintechnet.com/
9
  License: GPLv3 or later
19
  | (c) NinTechNet - https://nintechnet.com/ |
20
  +---------------------------------------------------------------------+
21
  */
22
+ define( 'NFW_ENGINE_VERSION', '4.2.2' );
23
  /*
24
  +---------------------------------------------------------------------+
25
  | This program is free software: you can redistribute it and/or |
65
  define('NFW_WRAPPERS', 520);
66
  define('NFW_OBJECTS', 525);
67
  define('NFW_LOOPBACK', 540);
68
+ define( 'NFW_DEFAULT_MSG', '<br /><br /><br /><br /><center>' .
69
  sprintf( __('Sorry %s, your request cannot be processed.', 'ninjafirewall'), '<b>%%REM_ADDRESS%%</b>') .
70
  '<br />' . __('For security reasons, it was blocked and logged.', 'ninjafirewall') .
71
  '<br /><br />%%NINJA_LOGO%%<br /><br />' .
72
+ __('If you believe this was an error please contact the<br />webmaster and enclose the following incident ID:', 'ninjafirewall') .
73
+ '<br /><br />[ <b>#%%NUM_INCIDENT%%</b> ]</center>'
74
+ );
75
  $err_fw = array(
76
  1 => __('Cannot find WordPress configuration file', 'ninjafirewall'),
77
  2 => __('Cannot read WordPress configuration file', 'ninjafirewall'),
557
  }
558
  }
559
 
560
+ // Hook priority can be defined in the wp-config.php or .htninja
561
+ if ( defined('NFW_LOGINHOOK') ) {
562
+ $NFW_LOGINHOOK = (int) NFW_LOGINHOOK;
563
+ } else {
564
+ $NFW_LOGINHOOK = -999999999;
565
+ }
566
+ add_action( 'wp_login', 'nfw_login_hook', $NFW_LOGINHOOK, 2 );
567
 
568
  /* ------------------------------------------------------------------ */
569
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: nintechnet, bruandet
3
  Tags: security, firewall, malware, antispam, virus, scanner, hacked site, brute force, seguridad, seguranca, sicherheit, sicurezza, veiligheid, classicpress
4
  Requires at least: 3.7
5
  Tested up to: 5.4
6
- Stable tag: 4.2.1
7
  Requires PHP: 5.5
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -203,6 +203,21 @@ NinjaFirewall works on Unix-like servers only. There is no Microsoft Windows ver
203
 
204
  Need more security? Take the time to explore our supercharged Premium edition: [NinjaFirewall WP+ Edition](https://nintechnet.com/ninjafirewall/wp-edition/?comparison)
205
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  = 4.2.1 =
207
 
208
  * Fixed a bug introduced in version 4.2 where a user such as an editor could potentially be blocked while editing a post owned by another user.
3
  Tags: security, firewall, malware, antispam, virus, scanner, hacked site, brute force, seguridad, seguranca, sicherheit, sicurezza, veiligheid, classicpress
4
  Requires at least: 3.7
5
  Tested up to: 5.4
6
+ Stable tag: 4.2.2
7
  Requires PHP: 5.5
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
203
 
204
  Need more security? Take the time to explore our supercharged Premium edition: [NinjaFirewall WP+ Edition](https://nintechnet.com/ninjafirewall/wp-edition/?comparison)
205
 
206
+ = 4.2.2 =
207
+
208
+ * WP+ Edition (Premium): NinjaFirewall can now scan ZIP archives. If you have enabled the "Allow uploads, but block dangerous files" firewall policy, you can also enable the "Apply to ZIP archives file contents" option so that the firewall will extract and scan the files found in ZIP archives. See "Firewall Policies > Basic Policies > File Uploads > Apply to ZIP archives file contents".
209
+ * Added "preload" to the Strict-Transport-Security policy (HSTS) and the "max-age" value was increased up to 2 years (this is the recommended value for preload) in the "Firewall Policies > Advanced Policies > HTTP response headers" section.
210
+ * The daily report will try to prevent WP Cron to send it twice on blogs that may have an issue with the task scheduler.
211
+ * Fixed an issue with the captcha protection: some plugins are wrongly redirecting HTTP requests to get the favicon.ico file to the login page and thus trigger the firewall protection.
212
+ * Better handling of the backslash character in the database password field.
213
+ * Fixed potential "Call to a member function get_error_message on null" PHP error when checking security updates.
214
+ * You can change the length of the payload that NinjaFirewall writes to its log, by defining the `NFW_MAXPAYLOAD` constant in the .htninja file. By default, the firewall will write up to 200 characters to the log.
215
+ * The dashboard widget will cache the data for 30 minutes.
216
+ * The login notification hook has a higher priority so that it will always be triggered before two-factor authentication plugins. The priority can be changed in the wp-config.php or .htninja file by defining the `NFW_LOGINHOOK` constant (current value is "-999999999", previous one was "999").
217
+ * When creating a snapshot, File Check will exclude the Ninjascanner's cache folder if it is installed on the blog.
218
+ * Many additional small fixes and adjustments.
219
+ * WP+ Edition (Premium): Updated IPv4/IPv6/ASN GeoIP databases.
220
+
221
  = 4.2.1 =
222
 
223
  * Fixed a bug introduced in version 4.2 where a user such as an editor could potentially be blocked while editing a post owned by another user.
static/ninjafirewall.js CHANGED
@@ -593,18 +593,21 @@ function nfwjs_start_livelog() {
593
  return;
594
  } else {
595
  var line = response.substr(1);
596
- // Get number of lines
597
- var res = line.split(/\n/).length - 1;
598
- // Work around for old IE bug
599
- if (! res ) { res = 1; }
600
- if ( lines == 0 ) {
601
- document.liveform.txtlog.value = line;
602
- } else {
603
- document.liveform.txtlog.value += line;
604
- }
605
- lines += res;
606
- if ( scroll ) {
607
- document.getElementById('idtxtlog').scrollTop = document.getElementById('idtxtlog').scrollHeight;
 
 
 
608
  }
609
  }
610
  }
593
  return;
594
  } else {
595
  var line = response.substr(1);
596
+ line = line.replace( '<?php exit; ?>', '' );
597
+ if ( line != '' ) {
598
+ // Get number of lines
599
+ var res = line.split(/\n/).length - 1;
600
+ // Work around for old IE bug
601
+ if (! res ) { res = 1; }
602
+ if ( lines == 0 ) {
603
+ document.liveform.txtlog.value = line;
604
+ } else {
605
+ document.liveform.txtlog.value += line;
606
+ }
607
+ lines += res;
608
+ if ( scroll ) {
609
+ document.getElementById('idtxtlog').scrollTop = document.getElementById('idtxtlog').scrollHeight;
610
+ }
611
  }
612
  }
613
  }