NinjaFirewall (WP Edition) – Advanced Security Plugin and Firewall

Changelog

Need more security? Take the time to explore our supercharged Premium edition: NinjaFirewall WP+ Edition

4.8.5

  • Behind-the-scenes update: All the code dealing with exporting, importing and restoring the configuration was rewritten.
  • WP+ Edition (Premium): You can import/export the configuration from WP-CLI. See $ wp ninjafirewall help for usage.

4.8.4

  • Behind-the-scenes update: All the code dealing with the firewall log and IP address checks has been rewritten, bugs were resolved and several small fixes were added to make NinjaFirewall better.
  • WP+ Edition (Premium): Updated IP location databases.

4.8.3

  • When running in “Full WAF mode”, NinjaFirewall will automatically detect if the SQL database is listening on IPv6.
  • WP+ Edition (Premium): Updated IP location databases.
  • WP+ Edition (Premium): updated the whitelist of webhook IP addresses of payment processors.
  • Updated Chartjs library.
  • Small fixes and adjustments.

4.8.2

  • Fixed a “No such file or directory” PHP error due to a wrong path to the session folder (props @gosuccess).

4.8.1

  • All active installations will now use NinjaFirewall sessions instead of PHP’s.
  • Added compatibility with PHP 8.5, which will be released in a few weeks.

4.8

  • All new installations will now use NinjaFirewall sessions instead of PHP’s. Current installations will automatically migrate at a later time (next release or so).
  • Whitelisted reCAPTCHA response to prevent it from being blocked by the firewall.
  • WP+ Edition (Premium): Updated the IP location databases.
  • WP+ Edition (Premium): Added the PROPFIND method to the “Access Control > HTTP Methods” section. By default, it is not enabled.
  • Updated Charts.js library.
  • Added the “autofocus” attribute to the login protection form.
  • Fixed a potential database issue: since PHP 8.1 MySQLi extension throws an Exception on errors (props @m2e47).
  • Small fixes and adjustments.

4.7.5

  • Several small fixes and adjustments under the hood.
  • WP+ Edition (Premium): The firewall log can now be sorted in ascending (oldest entries first) or descending (newest entries first) order. See “NinjaFirewall > Logs > Log Options > Sorting”.
  • WP+ Edition (Premium): Added Square and Airwallex webhook IP addresses to the “Access Control > IP address > External Services” section.
  • WP+ Edition (Premium): When saving an IP address to the whitelist or blacklist in the “IP Access Control” settings page, NinjaFirewall will reject non-conform CIDR values and display a warning.
  • WP+ Edition (Premium): Updated geolocation database.

4.7.4

  • Fixed a bug where, in some cases, NinjaFirewall’s email notifications were not sent to all recipients but only to the first one in the list.
  • Updated Charts.js.
  • WP+ Edition (Premium): Updated geolocation databases.
  • Small fixes and adjustments.

4.7.3

  • Fixed the “[NinjaFirewall]” subject tag line that was missing in all email notifications.

4.7.2

  • The email notification system was fully rewritten. You can now customize the subject and body of each email sent by NinjaFirewall. See our blog for more info about that: https://nin.link/nfmail
  • Fixed a PHP “Uncaught Error: Undefined constant NF_PG_SIGNATURE” error.
  • Fixed a PHP “ctype_digit(): Argument of type int will be interpreted as string in the future” notice.
  • Fixed a PHP “Undefined array key REMOTE_ADDR” warning that could be returned by some command line cron jobs.
  • Fixed a critical error with the saved “Custom HTTP headers” field on servers that supports HTTP/3.
  • WP+ Edition (Premium): Added a check to the firewall so that if the plugin configuration is corrupted, the file size check will be skipped to prevent blocking uploads.
  • Fixed some typos.
  • Updated Charts.js.
  • WP+ Edition (Premium): Updated GeoIP databases.
  • Many small fixes and adjustments.

4.7

  • This new version introduces NinjaFirewall sessions, an alternative to PHP sessions. They are an hybrid of PHP sessions and object caching, without session blocking. If you want to switch between PHP sessions and NinjaFirewall sessions, go to “NinjaFirewall > Dashboard” and follow the instructions.
  • Fixed a “Undefined constant NFW_RULES” fatal error when migrating NinjaFirewall to another host.
  • We have a new API (updates, security rules etc): api.nintechnet.com. Make sure to whitelist this subdomain if you are filtering outgoing connections.
  • Updated Charts.js.
  • WP+ Edition (Premium): Updated GeoIP databases.

4.6.1

  • WP+ Edition (Premium): You can now enter your license key from WP CLI. Type “wp ninjafirewall license” and enter your license at the prompt.
  • Fixed an issue with bulk user deletion: when multiple users were deleted at once, only the first one was written to the firewall log.
  • Fixed an issue with the login protection: after disabling it and logging out, NinjaFirewall was still displaying a notice on the login page.
  • Fixed a potential PHP fatal error: Attempt to modify property “no_update” on bool.
  • Replaced all calls to the PHP glob() function with DirectoryIterator() to make file search compatible with remote files.
  • Fixed an issue where some scheduled tasks were executed too often on multisite installations.
  • WP+ Edition (Premium): Updated GeoIP databases.
  • Updated Charts.js.
  • Many additional small fixes and adjustments.

4.5.11

  • Updated Charts.js.
  • WP+ Edition (Premium): updated PayPal IPN and Automattic IP addresses.
  • WP+ Edition (Premium): Updated GeoIP databases.
  • Small fixes and adjustments.

4.5.10

  • Added compatibility with blogs that don’t have a database prefix.
  • In the “Custom HTTP headers” section, NinjaFirewall will automatically convert header names to lowercase.
  • Fixed a potential “Timezone ID is invalid” PHP notice when viewing the log.
  • Updated Charts.js library.
  • WP+ Edition (Premium): Updated GeoIP databases.
  • Small fixes and adjustments.

4.5.9

  • Added a new policy to protect against user accounts deletion. It can be found in the “Firewall Policies > WordPress > Permissions” section.
  • Fixed an issue with the firewall log where the time and date could be using the wrong timezone.
  • Fixed a PHP deprecated notice in the sodium_crypto_generichash function.
  • WP+ Edition (Premium): Fixed a bug in the firewall where some uploaded images could be wrongly blocked.
  • Updated Charts.js library.
  • Small fixes and adjustments.
  • WP+ Edition (Premium): Updated GeoIP databases.

4.5.8

  • Added a “Line wrapping” checkbox in the “Live Log” page: it can be used to wrap or unwrap the lines in the textarea field.
  • Updated Charts.js library.
  • Small fixes and adjustments.
  • WP+ Edition (Premium): Updated GeoIP databases.

4.5.7

  • You can now select to block access to the REST API only if the user is not authenticated. See “Firewall Policies > WordPress REST API > Allow logged-in users to access the API”.
  • Fixed an accessibility issue with the toggle switches used in NinjaFirewall’s settings. They were not compatible with screen readers.
  • Added a new constant that can be used to change the frequency used by the firewall to monitor the database: NFW_DBCHECK_INTERVAL. It can be added to the wp-config.php or .htninja script. For instance, a 300-second interval: define(‘NFW_DBCHECK_INTERVAL’, 300);. The lowest possible value, which is also the default, is 60 seconds.
  • Small fixes and adjustments.
  • WP+ Edition (Premium): Updated GeoIP databases.

4.5.6

  • WP+ Edition (Premium): Updated GeoIP databases.
  • Updated Charts.js library.
  • Small fixes and adjustments.

4.5.5

  • NinjaFirewall will always rely on the timezone that was set by WordPress and PHP, and will no longer attempt to set it.
  • Updated Charts.js library.
  • Small fixes and adjustments.
  • WP+ Edition (Premium): Updated GeoIP databases.

4.5.4

  • Fixed a potential “syntax error” on sites running PHP <=7.2.
  • Fixed a bug where quotes in “Custom HTTP headers” values were escaped with slashes.
  • Updated Charts.js library.
  • WP+ Edition (Premium): Updated GeoIP databases.
  • Small fixes and adjustments.

4.5.2

  • Fixed several deprecated messages on websites running PHP 8.1.
  • Updated Charts.js library.
  • Small fixes and adjustments.
  • WP+ Edition (Premium): Updated GeoIP databases.

4.5.1

  • Fixed a PHP “Cannot use object of type WP_Error as array” error.
  • Activating/deactivating NinjaFirewall from WP CLI doesn’t require the –user parameter anymore.
  • On websites running PHP 7.3 or above, NinjaFirewall will use the hrtime() function instead of microtime() for its metrics, because it is more reliable as it is not based on the internal system clock.
  • WP+ Edition (Premium): Fixed a bug with right-to-left (RTL) WordPress sites where the checkboxes below the log were all messed up.
  • The detection of base64-encoded injection has been slightly tweaked to lower the risk of false positives.
  • WP+ Edition (Premium): The Bot Access Control input now accepts the following 6 additional characters: ( ) , ; ‘ “.
  • The “Monthly Statistics” graph and tooltip colours were improved.
  • Updated Charts.js library.
  • Small fixes and adjustments.
  • WP+ Edition (Premium): Updated GeoIP databases.

4.5

  • Added the possibility to enter custom HTTP response headers. See “Firewall Policies > Advanced Policies > HTTP response headers > Custom HTTP headers”.
  • Added the possibility to view the server’s HTTP response headers. Click on the “Firewall Policies > Advanced Policies > HTTP response headers > HTTP headers test” button.
  • Added a warning if WordPress is running inside a Docker image and the user wants to upgrade NinjaFirewall to Full WAF mode.
  • Fixed a PHP “Undefined array key pluginzip” warning when reinstalling a plugin from a ZIP archive.
  • WP+ Edition (Premium): The Access Control URI whitelist and blacklist now support permalinks.
  • Fixed an issue where the daily report could be sent multiple times on some multisite installations.
  • Fixed deprecated readonly() function message on WordPress 5.9.
  • Fixed an issue where the firewall would wrongly send a WordPress update notification.
  • WP+ Edition (Premium): Updated Stripes webhook notifications IP addresses in the Access Control section.
  • Updated Charts.js library.
  • WP+ Edition (Premium): Updated GeoIP databases.
  • Many small fixes and adjustments.

Plugin Website
Visit website

Author
nintechnet
Version:
4.8.5
Last Updated
April 2, 2026
Active Installs
100000
Requires
WordPress 4.9
Tested Up To
WordPress 6.9.4
Requires PHP
7.1

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.