IniLerm
Forum Replies Created
-
Forum: Reviews
In reply to: [Advanced IP Blocker] The most important plugin for our wordpress sitesHi @anotherwebdev,
Thank you so much for this amazing 5-star review! Reading that Advanced IP Blocker has become an essential tool for every WordPress site you manage truly makes our day.
We completely understand what you mean about the learning curve—security can definitely be daunting at first, and almost locking yourself out is a rite of passage for all of us! We are constantly working on improving the interface to make all those powerful options as intuitive as possible.
Regarding your kind words about a donation: please, do not worry about that right now! Our primary goal has always been to provide enterprise-level security for everyone, regardless of their budget. Your support, your trust in using it on all your sites, and taking the time to write this wonderful review is already a massive contribution to the project.
Keep building great sites, and thank you for being a part of our community! ⚡
Best regards,The Advanced IP Blocker Team
Forum: Reviews
In reply to: [Advanced IP Blocker] Just AWESOME!Hi @nwjeff,
Thank you so much for the fantastic 5-star review and your incredibly kind words!
You hit the nail on the head: our main goal from day one has been to provide an “all-in-one” security solution that is robust, lightweight, and saves users from having to install multiple plugins that bloat their websites. Reading that you appreciate this approach and find the features useful is the best reward for the hard work we put into it.
We are completely committed to keeping the plugin free and accessible while continually improving it. In fact, we are currently finalizing some major new features for the upcoming updates that we think you are going to love.
Thank you for trusting Advanced IP Blocker to protect your website, and for taking the time to share your experience with the community. It means a lot to us!
Best regards, The Advanced IP Blocker Team
Forum: Plugins
In reply to: [Advanced IP Blocker] GeoBlocking vs. Geo-challengeHi Pat K,
Thank you so much for taking the time to share this incredibly detailed and accurate heads-up with the community! You’ve hit the nail right on the head, and your understanding of how the plugin interacts with the database is 100% correct.
You are absolutely right: when a country is added to the strict GeoBlocking tool with a “Permanent” block duration, every single IP from that country that hits your site gets permanently written into the database. Under heavy traffic or bot scans, this can cause the database table to bloat over time. While Advanced IP Blocker is highly optimized, a massive database table will inevitably slow down queries, especially on hosting environments with limited resources.
Your solution to switch to the Geo-Challenge is brilliant. The Geo-Challenge acts as a lightweight shield—it intercepts and challenges the traffic at the edge without needing to write a permanent database record for every single visitor. It consumes far fewer server resources while keeping your site perfectly safe.
Taking this a step further, we actually highly advise against using “Permanent” blocks in any of the plugin’s modules (Lockdowns, Threat Score, etc.) for this exact reason. The recommended best practice is to set your block durations to 1440 minutes (24 hours).
A 24-hour block is the sweet spot: it is long enough to stop an attacker or a botnet in its tracks, but it allows the plugin to naturally “self-clean” expired IPs from the database every day. This keeps your database lean, fast, and completely immune to bloat over time.
Regarding your cleanup task, you are doing it perfectly. Filtering by “Permanent” in the block list and bulk-deleting them is the way to go to restore your database to peak performance.
Thanks again for sharing your experience. Feedback like yours is what makes this community so great, and I’m sure it will help many other users optimize their setups!
https://wordpress.org/support/topic/country-blocking-geoblocking-or-geo-challenge/
Best regards,
Advanced IP Blocker Team- This reply was modified 1 month, 2 weeks ago by IniLerm.
Forum: Plugins
In reply to: [Advanced IP Blocker] Feature Request: Per-rule Analytics / Hit CountersHi Dmitry,
Thank you for sharing these incredibly detailed and insightful thoughts! You perfectly described the holy grail of modern Bot Management: stopping sophisticated, human-mimicking bots (SEO-ruiners, ad-clickers) that use clean residential IPs and valid headers.
While your approach to behavioral analysis (Time-on-page, Markov Chains, ML anomaly detection) is theoretically spot-on for enterprise-grade solutions like Cloudflare Bot Management or DataDome, implementing this locally within a WordPress PHP environment presents several insurmountable bottlenecks for a standard plugin:
1. Database Thrashing: To analyze navigation paths or session durations, we would need to log every single page view, timestamp, and session ID to the WordPress database in real-time. For high-traffic sites, this would immediately overwhelm the MySQL server and destroy site performance.
2. PHP Limitations: PHP is stateless and highly inefficient for continuous mathematical operations like standard deviations or Isolation Forests compared to Python. Running these calculations locally via WP-Cron on thousands of rows of aggregated logs would cause CPU timeouts on most standard hosting environments.
3. Privacy & Compliance (GDPR): Sending aggregated visitor logs (even tiny JSON digests with IPs and behavior patterns) to third-party AI APIs like OpenAI/DeepSeek introduces massive data privacy liabilities and strict GDPR compliance issues for website owners.
Regarding our Signature Engine and Automatic Challenge: Our engine does not use AI or ML. It relies on deterministic pattern matching and heuristic scoring (evaluating bad user agents, missing headers, rate-limiting, and known malicious payloads). If a request looks suspicious but isn’t overtly malicious, it issues an “Automatic Challenge” (like Turnstile or hCaptcha). The beauty of this is its minimal footprint: it requires almost zero DB interaction and executes in milliseconds, preserving server resources.
We love your visionary approach, but our roadmap for Advanced IP Blocker is strictly focused on remaining a lightweight, lightning-fast deterministic firewall that doesn’t bloat the WordPress database. For deep ML behavioral analysis, we will always recommend using our plugin in tandem with a specialized cloud proxy (like Cloudflare).
Thanks again for your continuous support and brilliant ideas!
- This reply was modified 1 month, 3 weeks ago by IniLerm.
Hi Pat (@blackcapdesign),
Thank you so much for reporting this issue and providing such clear details about your setup. Your information was incredibly helpful in tracking this down!
After investigating, we identified a conflict where Advanced IP Blocker was being a bit too aggressive when scanning
POSTrequests. It was inadvertently intercepting standard captcha response fields (like the ones used by Cloudflare Turnstile or hCaptcha) from third-party plugins during the login process, leading to the “Verification failed” error.I am pleased to inform you that we have completely resolved this bug in our latest release (version 8.11.10). We refined our Captcha Engine so that it now strictly requires an internal signature to validate a challenge, ensuring 100% compatibility with your existing Turnstile setup and other third-party captchas.
The new version (8.11.10) has just been deployed to the repository. It usually takes WordPress.org a little time to synchronize, so the update should become available in your WordPress dashboard within the next 6 hours.
Once you update, your clients will be able to log in normally without any verification errors. Please let us know if everything works smoothly for you after the update!
Best regards, Advanced IP Blocker Team
Forum: Plugins
In reply to: [Advanced IP Blocker] Feature Request: Per-rule Analytics / Hit CountersHi Dmitry (@wpbluefox),
Thank you for your excellent suggestion! We completely agree that having more granular visibility is crucial for managing security effectively.
I’m thrilled to let you know that we have implemented Per-rule Analytics and Hit Counters in our latest release (version 8.11.10).
You will now find dedicated metric cards in your Advanced IP Blocker dashboard, including “Advanced Rules Hits” (which shows you exactly how many times each specific rule is triggered) and “Challenge Engine Metrics” (showing Solved vs. Unsolved captchas).
To ensure this new level of tracking doesn’t impact your server’s performance, we engineered it using an asynchronous hybrid system with memory buffers and background cron jobs. This guarantees that gathering these metrics won’t cause any database locks or slow down your site, even under heavy traffic.
Note: Since this is a new tracking system, the counters will start gathering and displaying data from zero right after you update to v8.11.10.
Thank you again for helping us improve the plugin with your feedback! If you have any questions or further suggestions, feel free to reach out.
Best regards, Advanced IP Blocker Team
Hi Pat,
Thank you so much for the detailed report and for taking the time to investigate the issue down to the exact file and line! You hit the nail on the head, and your debugging helped us identify a conflict.
1) Why is AIB intervening? Because Cloudflare Turnstile uses a standardized POST field name (
cf-turnstile-response), AIB was inadvertently intercepting this global field during the earlyinitphase of WordPress. When it saw the Turnstile token submitted by your membership plugin, AIB mistakenly assumed it was a response to an AIB security challenge. Since you (correctly) didn’t configure the Turnstile keys in AIB, our verification instantly failed, triggering that hardcoded error screen and completely blocking the actual login process.2) How to mitigate this? You don’t need to switch to CleanTalk! We have just patched this bug in our core. Moving forward, AIB will strictly look for a custom internal hidden field (
_advaipbl_challenge_type) before attempting to validate any captcha token. This ensures AIB will only ever process its own security challenges, completely ignoring third-party login or membership captchas.This fix will be included in our upcoming v8.11.10 release within the next 24 to 48 hours. As a temporary mitigation until the update drops, you can either temporarily disable Turnstile on that specific login form, or if you feel comfortable editing the plugin file via FTP, you can modify line 25 of
includes/class-advaipbl-captcha-manager.phpfrom this:public function verify_submission() {
// phpcs:ignore WordPress.Security.NonceVerification.Missing
if (!isset($_POST['cf-turnstile-response']) && !isset($_POST['h-captcha-response'])) {
return;
}To this:
public function verify_submission() {
if (!isset($_POST['_advaipbl_challenge_type'])) {
return;
}
// phpcs:ignore WordPress.Security.NonceVerification.Missing
if (!isset($_POST['cf-turnstile-response']) && !isset($_POST['h-captcha-response'])) {
return;
}We truly appreciate your help in making Advanced IP Blocker better. Please let us know if you have any other questions!
Forum: Plugins
In reply to: [Advanced IP Blocker] Feature Request: Per-rule Analytics / Hit CountersHi Dmitry,
Thank you so much for your kind words and for taking the time to share these excellent suggestions! We always appreciate feedback from power users who push the plugin to its limits.
Regarding your feature requests:
1. Per-rule Analytics & Double Metrics: We completely agree that having inline hit/pass rates in the UI would be incredibly valuable for tweaking rule strictness. The primary challenge we face is architectural: unlike cloud-based edge WAFs (like Cloudflare) that use distributed in-memory databases, a self-hosted WordPress plugin must respect the limitations of shared hosting MySQL databases. Logging real-time hits per rule on every request could cause severe I/O bottlenecks or database crashes during high-traffic events or DDoS attacks. However, we love the idea! We are actively evaluating a lightweight, asynchronous aggregation system (e.g., buffering hits in memory/transients and syncing to the database via hourly cron jobs) to provide these “Double Metrics” safely in a future release without compromising your server’s performance.
2. Future Conditions (Cookies & Request Headers): Spot on! Expanding the conditions to include Cookies and modern
Sec-Fetch-*headers is highly feasible since reading these values in PHP has practically zero performance overhead. We have officially added this to our roadmap, and you can expect these new conditions to be available in the Advanced Rules wizard in an upcoming update.Thanks again for helping us make Advanced IP Blocker better. If you have any other ideas, keep them coming!
Best regards, The Advanced IP Blocker Team
Pro Tip 2: Managing Rules Across Multiple Sites (Agency Workflow)
Since we are discussing advanced rule configurations, we wanted to share a workflow tip that is incredibly useful for agencies and power users managing multiple WordPress installations.
Once you have crafted and tested your perfect set of Advanced Rules on one site (using the parallel
ANDrules as discussed above), you don’t need to recreate them manually everywhere else.You can use the Import/Export feature located at the top of the Advanced Rules manager. With a single click, you can export all your complex conditional logic into a cleanly formatted
.jsonfile. You can then import this exact JSON configuration into any other site running Advanced IP Blocker. The engine automatically handles validation and structural deduplication, meaning you can instantly clone your bulletproof firewall setup across your entire network of client sites in seconds.Hope this helps streamline your security deployments!
Hi again @thewatchman3,
Just a quick follow-up to let you know that we’ve just pushed a hotfix, Version 8.11.8 (it should be available via the WordPress repository within the next few hours).
While implementing your initial fixes, we did a deep dive into the codebase and found a few minor omissions in our early-detection transient arrays (some of the newer block types like
abuseipdbandadvanced_rulewere missing from the sync). Under extremely specific conditions, this could have potentially led to similar re-entrant loop behaviors down the line.Everything is now fully synchronized and tightly sealed across all firewall layers. Thanks again for pointing us in the right direction and helping us make the plugin bulletproof!
We have included your discovery on the Hall of Fame for discovered vulnerabilities. If for any reason you do not wish to be listed, please let us know. https://advaipbl.com/vulnerability-disclosure-program-advanced-ip-blocker/
Best regards, The Advanced IP Blocker Team
Pro Tip / Word of Caution for anyone reading this thread:
Just a quick follow-up regarding the specific example rule mentioned:
IF (URI == /) AND (Hostname IS EMPTY)We strongly advise against creating rules that block or challenge traffic solely based on an empty Hostname (rDNS). While it might seem like a good way to catch bots, many legitimate Internet Service Providers (ISPs) and mobile carriers around the world still fail to properly configure reverse DNS for their customers’ dynamic IPs. Enforcing a strict “Hostname cannot be empty” rule will inevitably lead to a high number of false positives, locking out real human visitors.
This is exactly why our global “Ghost IPs” feature is designed the way it is. It operates on a strict
ANDlogic internally: it only flags an IP if BOTH the ASN is empty AND the Hostname is empty simultaneously. An IP missing both identifiers is almost guaranteed to be a malicious actor or a hidden proxy.Advanced Rules give you immense power to shape your firewall, but please use broad conditions like
Hostname IS EMPTYwith extreme caution!https://advaipbl.com/block-ghost-ips-rdns-asn/
- This reply was modified 2 months ago by IniLerm.
Hi @wpbluefox (Dmitry),
Thank you so much for the kind words regarding the “Ghost IPs” feature! We are thrilled to hear that it’s proving to be a powerful addition to your security stack.
Regarding your feature request for Advanced Rules: this is an excellent and very well-thought-out suggestion. We absolutely love the Cloudflare Expression Editor, and bringing that level of flexibility to WordPress is a great concept.
However, currently, the Advanced Rules engine is intentionally designed around strict
ANDlogic for maximum performance. Processing sequentialANDarrays is extremely lightweight on the server’s CPU, allowing the firewall to evaluate thousands of requests per second without slowing down WordPress.Introducing
ORlogic—specifically condition grouping with parentheses—requires transforming our linear evaluation engine into a recursive Abstract Syntax Tree (AST) parser. Furthermore, building a visual UI that intuitively handles nested AND/OR groups (without confusing average users) adds significant complexity to the plugin’s footprint.For the time being, the most performant and intended way to handle an
ORcondition is exactly what you are doing: creating two separate, parallel rules.- Rule 1:
IF (URI == /) AND (Hostname IS EMPTY) - Rule 2:
IF (URI == /) AND (ASN IS EMPTY)
Since the engine evaluates active rules sequentially and stops at the first match, this dual-rule setup acts as a perfect, highly-optimized
ORgate with zero performance penalty.While a visual
ORbuilder isn’t on our immediate short-term roadmap to keep the UI lean, your idea of an “Expert Mode” text-expression parser is brilliant for power users. I have logged this in our internal tracker for future architectural discussions.Thank you again for pushing the boundaries of the plugin and for your continuous top-tier feedback!
Best regards, The Advanced IP Blocker Team
Hi @thewatchman3,
First of all, I want to deeply thank you for this absolutely outstanding and incredibly detailed bug report. The exact trace you provided, along with the reproduction steps and suggested fixes, is a masterclass in debugging. You saved us a tremendous amount of time investigating this critical edge case.
You were 100% correct in your analysis. The combination of the re-entrant block loop and the lack of
X-Accel-Expires: 0during the premature exit was causing a devastating cache poisoning scenario on aggressive Nginx/FastCGI setups like Kinsta.I’m happy to inform you that we have just released Version 8.11.7 as an urgent security update, which fully resolves this issue. We implemented all of your suggested fixes:
- Re-entry Guard: The
access_denied_page()guard no longer bare-exits. It now safely breaks the recursion loop and strictly emits a403 Forbiddenstatus along withX-Accel-Expires: 0before halting. - Cache Headers:
X-Accel-Expires: 0is now forcefully injected across all block rendering paths (including the XML-RPC fallback) to prevent edge caches from storing the response. - Transient Guard: We updated the
$all_block_typesmatrix insidehandle_error()to include the modern block types (impersonationandaib_network), ensuring their cooldown transients are respected and preventing the infinite threat-score loop. - Expiration Check: The existence check in
block_ip_instantly()was patched to explicitly ignore stale records (expires_at), preventing fresh blocks from wrongly routing into the already-blocked branch.
The update is now live on the repository (available in a few hours). We also gave you a shoutout in the changelog!
Thank you again for your incredible contribution to the Advanced IP Blocker community. If you notice any other anomalies, please don’t hesitate to reach out.
Best regards, The Advanced IP Blocker Team
Forum: Plugins
In reply to: [Advanced IP Blocker] Bot Verification – Yandex botPro Tip regarding Impersonation Blocks:
If you are seeing a high number of “Impersonation” blocks in your logs, don’t worry—this means the plugin is successfully doing its job! Malicious actors constantly spoof their User-Agents as Googlebot, Yandex, or Bingbot to try and bypass standard security measures. AIB is catching them because their IPs don’t match the official infrastructure.
Important Security Advice: Never whitelist a Search Engine by its “User-Agent” string (e.g., adding
yandexbotto a User-Agent Whitelist). If you do this, any hacker in the world can easily bypass your firewall just by renaming their bot to “yandexbot”.If you ever need to manually allow a legitimate bot that is failing the DNS verification (for example, if a search engine introduces a new IP range that hasn’t propagated yet), you should use the Advanced Rules engine to create a highly specific
ALLOWrule.For example:
If ASN is [Yandex's ASN]ANDUser-Agent contains "yandexbot"➡️ Action: ALLOW- Or simply whitelist the specific legitimate IP/CIDR range directly.
This granular approach ensures your site remains impenetrable to spoofers while allowing genuine traffic through.
Forum: Plugins
In reply to: [Advanced IP Blocker] Bot Verification – Yandex botHi @wpbluefox,
That’s a great question!
Yes, Yandex bot is already fully included in our impersonation and verification checks.
While the documentation only highlights Googlebot and Bingbot as quick examples, under the hood, the Advanced IP Blocker engine actually verifies traffic claiming to be from Yandex as well. If a visitor claims to be
Yandex botin their User-Agent, our engine automatically performs a strict Reverse/Forward DNS check to ensure the connection genuinely originates from official Yandex infrastructure (.yandex.com,.yandex.ru, or.yandex.net).If the IP fails this verification, it is instantly blocked for impersonation.
We will make sure to update the documentation to explicitly list Yandex alongside the other major search engines so it’s clearer for everyone. Thanks for pointing this out!
Best regards, The Advanced IP Blocker Team