BotBlocker Security – Complete security platform
BotBlocker Security is a complete security platform that blocks 99% of attacks before WordPress loads. Firewall, bot detection, rate limiting, CAPTCHA, 2FA, analytics, notifications, tools – one plugin replaces your entire security stack: no need for separate firewall, CAPTCHA, 2FA, and anti-spam plugins. No bloat, no monthly fees for core protection. If your site is hit by login brute force, spam comments, fake Googlebots, content scrapers, or XML-RPC floods, you are not alone: bots generate over 47% of all web traffic. Most security plugins react after WordPress boots, wasting CPU and memory on every bad request. BotBlocker stops them at the door – then gives you the analytics, alerts, and tools to understand exactly what it blocked and why. Because BotBlocker intercepts traffic before themes and plugins run, it also shields vulnerabilities in your entire plugin and theme stack. Zero-days in contact form plugins, unpatched slider code, outdated e-commerce extensions – attackers never reach the vulnerable code. BotBlocker is your first and last line of defense, every day. Why site owners switch to BotBlocker Faster than the competition. Runs on early init through three interception layers, before themes and plugins load. Server load drops during attacks instead of spiking. Zero database queries for returning visitors – 11 pre-generated PHP files with SHA-256 integrity, loaded via native include. One plugin, full security stack. Firewall, CAPTCHA, 2FA, anti-spam, rate limiting, bot detection – BotBlocker covers virtually every security need a WordPress site has. Most users uninstall 2-3 separate plugins after switching. PRO adds malware scanning, security headers, speed optimization, and behavioral analysis – still one plugin. Smarter bot detection. 2,899 User-Agent signatures – largest blacklist among WordPress plugins – plus 2,800+ additional bot signatures. 13 header checks including AdBlock detection, incognito mode detection, Canvas/WebGL fingerprinting, and device API verification. Anti-detect scoring with 9 weighted signals catches headless Chrome, Puppeteer, Selenium, and PhantomJS even when they spoof user-agent strings. Smarter CAPTCHA. 9 modes including Silent Auto-Verify – zero clicks for humans, hard wall for bots. Proprietary CAPTCHAs defeat AI-based solvers that crack reCAPTCHA for $2-3 per 1,000. Honest free version. Full firewall, all 9 CAPTCHA modes, full 2FA, full logging, full Multisite, Redis/Memcached, shortcodes, command palette, Telegram alerts, visual analytics, 15 diagnostic tools. No nag screens, no crippled features. Privacy-first. No visitor data leaves your server. GDPR and CCPA compliant out of the box. Works with everything. Cloudflare, WP Rocket, LiteSpeed, WooCommerce, Elementor, multisite, IPv6, PHP 7.4 to 8.5. 🛡️ Core Firewall (Free) Three-Layer Architecture – intercepts traffic at wp-config.php (before WordPress), MU-plugin phase, and main shield. The first layer blocks known threats before WordPress, plugins, or themes even load – saving 30-100ms and 5-20MB RAM per blocked request. This also means BotBlocker shields you from vulnerabilities in other plugins and themes: attackers exploiting a zero-day in a contact form or slider plugin never reach the vulnerable code. Web Application Firewall (WAF) with real-time rule updates via the BotBlocker Threat Defense Feed 2,899 User-Agent signatures – largest blacklist among WordPress plugins – covering Scrapy, Selenium, Puppeteer, PhantomJS, curl, wget, Python, Java, Perl, and SQL injection tools. Plus 2,800+ additional bot signatures. Brute force protection with progressive lockouts – 5 attempts per 15 minutes, escalating bans for repeat offenders Rate Limiting – sliding window velocity tracking per IP. 30 requests/minute triggers CAPTCHA challenge; 50 requests/minute blocks IP for 10 minutes. Subnet-level aggregation catches distributed attacks across /24 IPv4 or /64 IPv6 ranges. Floor protection prevents false positives at low thresholds. Anti-spam for comments, registration, contact forms – spammers blocked before they connect XML-RPC and REST API locked down by default with allowlist for trusted services HTTP method-level hardening – CONNECT and TRACE blocked (XST attack prevention). OPTIONS handled for CORS preflight. Explicit method allowlist. Fake crawler detection via FCrDNS (dual-direction DNS verification), ASN tokens, and published IP ranges – 95% effective, impossible to spoof without controlling the provider’s DNS zone. Multi-resolver DNS fallback. LLM / AI crawler management – allow or block GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, Bytespider via CIDR-verified IP ranges. 1,435 LLM source ranges synced from cloud. Trusted crawlers verified, impersonators blocked. Country, ASN, IP range, User-Agent, Referer blocking rules with instant enforcement. ASN database: 3.6M verified source records. Geo-blocking with visual country selector and import/export. Cloudflare-aware real-IP resolution and origin bypass protection TLS fingerprinting (JA3/JA4) – detects bots by TLS handshake signature, cross-validates against User-Agent. 189 JA3/JA4 signatures. Opt-in, requires server module. See docs/TLS-FINGERPRINTING.md RKN (Roskomnadzor) blocking – 852 CIDR ranges, cloud-synced, auto-updated with self-healing tamper recovery Full IPv6 support – separate tables and logic for IPv4 and IPv6, every feature works with both Live traffic monitor with attack map, country, ASN, device, browser, and exact block reason for every request Built-in caching via Redis and Memcached – free, auto-disable on connection failure 🔍 Bot Detection & Anti-Detect (Free) 13 HTTP header checks run on every visitor, catching bots that other plugins miss: Empty User-Agent / UA Anomalies / Empty Accept-Language PTR/DNS Mismatch – forward/reverse DNS mismatch, impossible to fake Geo vs Language Mismatch – visitor claiming one language from a different country Incognito/Private Mode detection AdBlock/uBlock detection in visitor’s browser Canvas & WebGL Fingerprinting – JS consistency verification WhatsApp Preview / OPTIONS Preflight – legitimate traffic whitelisted Anti-Detect Challenge Page activates when header checks raise suspicion – silent browser fingerprinting before any CAPTCHA appears: 9 weighted detection signals: navigator mismatch (×2), fake plugins (×3), font rendering mismatch (×2), WebGL mismatch (×2), Chromium-specific properties (×3), JS execution jitter, touch event mismatch (×2), language mismatch (×3), incognito detection (×2) Critical signal combinations trigger immediate block – e.g. navigator mismatch + fake plugins together Cookie capability test + sessionStorage retry counter HMAC-signed responses resist DDoS provider interference Circuit Breaker: 3 failures → 30-second cooldown → auto-retry CAPTCHA appears only if auto-verification fails – real users rarely see it 🎯 CAPTCHA System – All 9 Modes Free # Mode User Experience Best For 8 Silent Auto-Verify (Recommended) Zero clicks. JS fingerprint check passes silently. Default. Maximum UX. 0 Simple Button Single “I am not a robot” button Minimal friction 1 Color Buttons Click the matching color button Visual verification 2 Image CAPTCHA Click the image matching the category. 5 packs: Eagle, Horse, Raccoon, Dog, Cat Visual recognition 3 reCAPTCHA v2 + Button Google checkbox + BotBlocker button Google ecosystem users 4 reCAPTCHA v2 Standard Google reCAPTCHA Google ecosystem only 5 Dynamic Shapes 60fps Canvas with moving geometric figures. 5 shapes × 5 colors = 25 combinations. Maximum anti-AI protection 6 Dynamic Digits Animated math equation Math verification 7 Hold Button Hold and release in the green zone Physical interaction proof Hybrid Mode – combine any internal CAPTCHA with invisible reCAPTCHA v3 for two-layer defense DDoS Resilience Mode – HMAC-signed verification responses prevent forged challenge bypass Session Token Verification – cookie-less fingerprint for restricted hosting (no CAPTCHA loops for VPN/proxy users) CAPTCHA Diagnostics – failure reason codes (token decrypt, transient missing, hash mismatch, mode mismatch) for precise troubleshooting Image Delivery Modes: Inline Base64 (single request, recommended) or Separate Requests (cache-friendly) 🔒 Login Security & 2FA (Free) Two-Factor Authentication compatible with Google Authenticator, Authy, 1Password, Bitwarden – TOTP standard with 10 backup codes 9 CAPTCHA modes on login, registration, lost password, and custom forms Hybrid Mode – combine any internal CAPTCHA with reCAPTCHA v3 for two-layer invisible defense on login Hide login URL (PRO) Configurable lockout durations with escalation for repeat offenders – failed CAPTCHA triggers short ban, repeated failure triggers 24-hour ban 💳 Payment Gateway Bypass (Free) Auto-detects 25+ e-commerce platforms (WooCommerce, Easy Digital Downloads, SureCart, MemberPress, Paid Memberships Pro, Give, Dokan, CartFlows, FunnelKit, and more) and 150+ payment providers (Stripe, PayPal, Mollie, Adyen, Braintree, Square, Razorpay, Klarna, Paddle, Authorize.Net, 2Checkout, YooKassa, LiqPay, and more). Also auto-detects webhooks from form plugins (Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Formidable Forms, Forminator, Fluent Forms). Four detection layers – 198 path patterns, 227 query keys, 360 action names, 114 signature headers – ensure zero false positives on payment traffic. Webhooks, IPN callbacks, and payment notifications never get blocked. 📊 Visibility & Control (Free) Visual dashboard with KPI cards – Requests today, Blocked today, Search engines passed, Protection score (0-100%). Hourly bar chart, distribution donut charts (Hosting, Device, Browser, OS) Dashboard social proof card – live WordPress.org rating (1-5 stars with half-star), active installs count, number of ratings, link to WP.org (cached 12 hours) Inline IP rule widget – add IP allow/block rules directly from dashboard via AJAX, no page reload. Bulk IP import with 4 one-click buttons (IPv4/IPv6 whitelist/blacklist). Protection Status Checklist – individual enable/disable toggles for all features with “Enable remaining” bulk action Health Score gauge – 44 parameters across 3 categories, 5 security levels from Critical (<25) to Secure (≥85). Real-time score updates as you change settings. 3 security presets – Light, Strong, Full – one-click configuration. Plus Default for new installs. Setup Wizard – 8 steps: welcome → protection level → compatibility check → exclusions → CAPTCHA → init mode → cache → finish with summary. Under 5 minutes. ⌘K Command Palette – press Ctrl+K / ⌘K on any admin page to instantly search and navigate every setting, tab, and action. 30+ quick-action shortcuts (“Block an IP address”, “Set up 2FA”, “Run malware scan”, “Clear visitor cookies”). Near-zero-click configuration. Interactive analytics – 8 KPI metrics, donut charts (Hosting, Device, Browser, OS), traffic line chart with time range, world map with country-level visualization, top IPs and top countries ranking tables 55 diagnostic event codes across 12 log categories – exact block reason for every single decision. 12 categories independently toggleable. Detailed event log with IP, country, ASN, User-Agent, browser type, OS type, device type, and exact block reason 17 interface languages – English, Deutsch, Español, Français, Polski, Русский, Українська, العربية, עברית, Italiano, 日本語, 한국어, Nederlands, Português, Svenska, Türkçe, 中文 + POT template Admin page header bar – “Blocked today: X · Total: Y” on every admin page without opening dashboard Admin bar WordPress toolbar node – protection status + Dashboard + Settings links Configurable retention with timezone and DST awareness. Daily Summary with incremental aggregation for fast multi-day analytics. X-Robots-Tag control – user-configurable SEO directives (noindex, nofollow, noarchive, nosnippet, noimageindex, notranslate, unavailable_after) on blocked/challenge pages – prevents search engines from indexing security barriers Clean uninstall – drops all 17 tables, removes 40+ options, clears 22+ transients, removes 12 cron hooks, deletes MU-plugin files and uploads/botblocker/ directory. Uninstall feedback dialog collects departure reason. Zero leftover data. 📬 Notifications & Alerts (Free) Email reports – daily / twice-weekly / monthly security summaries with key metrics. Critical server load warnings and Cloud API expiry alerts. Telegram Bot integration (add-on) – weekly security summaries via @BotFather-connected bot: total requests, allowed, blocked, suspicious, search bots, fake bots, timezone, protection mode, security score, block rate. Connection test button for setup verification. Configured in Add-ons → Telegram Notifications. Admin Dashboard Alerts (8 types) – cloud connection lost, missing runtime files, cloud API expired, cloud API hits exhausted, ASN database update failed, addon update failed, addon incompatible, cache plugin incompatibility 🧩 Shortcodes & Developer Tools (Free) 20 shortcodes for frontend dashboards, client portals, and status pages: Shortcode What It Displays [bbcs_counters_grid] Hits + blocked + search engine counters [bbcs_blocked_today] / [bbcs_blocked_total] Block counters [bbcs_health_gauge] Visual health score gauge chart [botblocker_generateSiteHealthList] Security recommendations checklist [bbcs_health_full] Full health assessment grid [bbcs_top_ips] / [bbcs_top_countries] Top IPs and countries (configurable count + days) [bbcs_top_devices] / [bbcs_top_browsers] Top devices and browsers [bbcs_latest_hits] Latest visitor hits table [botblocker_rules_stats] IPv4/IPv6 rules + paths + bots statistics [bbcs_database_update] / [bbcs_database_total] Cloud IP database stats [bbcs_system_status] Server info: OS, PHP, DB, WP versions [bbcs_botblocker_news] BotBlocker news feed [bbcs_lang_options] Language selector dropdown [bbcs_plugins_themes] Installed plugins and themes list [bbcs_cron_tasks] Scheduled cron tasks widget [bbcs_recommendations] Security improvement recommendations WP Connectors (WordPress 6.7+) – BotBlocker registers as a native WordPress Connector on the Connections admin page Custom verification endpoint (bbcs-verify) – decoupled from WordPress permalink structure WordPress Admin → Tools → Site Health → Info integration Plugin update changelog injection – changelog displayed directly in the WordPress plugin update screen Floating support widget on all admin pages – submit support tickets from dashboard without leaving site 🔧 Tools & Diagnostics (Free) 15 maintenance and diagnostic actions built into the admin panel: Tool Purpose Export Data & Settings Full JSON backup of settings, rules, IP lists, configuration Import Data & Settings Restore from JSON backup Reinstall Database Factory-reset all BotBlocker tables Repair & Optimize DB WordPress database repair and optimization Clear All Visitor Data Purge hits, counters, and statistics Clear Transients Remove expired WordPress transients Update ASN Database Download latest 3.6M-record ASN geolocation database Update RU-Gov List Download latest 852-range RKN CIDR blocklist Sync LLM Providers Refresh 1,435 AI crawler IP ranges from cloud Clear Visitor Cookies Reset all BotBlocker cookies – forces re-verification Reset URL Rewrite Rules Fix 404 errors after permalink changes Clear Object Cache Flush WordPress internal + Redis/Memcached caches Site Health Open WordPress Site Health diagnostic Clear Debug Log / Download Debug Log Purge or download wp-content/debug.log for support 🚀 PRO Adds (Premium / Pro / Ultimate) Cloud Threat Intelligence – 5M+ attack IPs cross-checked against global databases. Zero-day behavioral and heuristic detection catches unknown attack patterns before signatures exist. VPN, Tor, proxy, ASN, and hosting reputation checks. Early Init Mode – filtering before WordPress Core loads. Boot code in wp-config.php blocks threats at the earliest possible layer. Up to 30-100ms and 5-20MB RAM saved per blocked request. Multisite-aware, auto-disables if Cloud API inactive. Self-healing runtime files. Hide Login URL – custom admin URL slug. Four behaviors when default URL is accessed: 403 message, 404 page, …
Top keywords
- wordpress19×0.86%
- bbcs18×0.82%
- botblocker17×0.77%
- captcha17×0.77%
- security16×0.73%
- blocked14×0.64%
- detection13×0.59%
- ip13×0.59%
- mismatch11×0.50%
- admin10×0.45%
- database10×0.45%
- full10×0.45%
User Login History
The plugin helps you to track any visitor’s login details with the following attributes: Login – Login Date-Time Logout – Logout Date-Time Last Seen – Last Seen Date-Time Login Status – Logged in/Logged out/Failed Online Status – Online/Offline/Idle Session Duration – How long the user stayed on your website per session. User ID Username Current Role Old Role – The role while user gets logged in into your website. Browser Operating System IP Address Country Name and Country Code (Based on IP Address) Timezone (Based on IP Address) Mobile (Pro Feature) – Whether the user loggedin with a mobile (e.g. tablet and mobile phone) device. Proxy IP (Pro Feature) – Whether the user loggedin from a proxy IP. Features The User Login History Free Version plugin has all the basic features that will help you to know your website visitors. The User Login History Pro Version plugin has some more premium and useful features along with all the basic features. AUTO LOGOUT (Pro Feature) – Automatically logout idle users every ‘X’ minute. You can also specify roles. This feature is built on WordPress Cron Job. IP ADDRESS CONTROL (Pro Feature) – Allows you to control of masking and hiding of user’s IP address. EMAIL ALERT (Pro Feature) – Allows you to get notified via email for success/failed login. You can also specify roles and modify email templates. AUTO DELETE OLD RECORDS (Pro Feature) – Automatically delete the records older than ‘X’ days. You can also specify the roles. This feature is built on WordPress Cron Job. TRACK SPECIFIC ROLES (Pro Feature) – Allows you to track specific roles only. CSV SEPARATOR (Pro Feature) – Allows you to enter a CSV separator for CSV export. REPORT – TIMESHEET (Pro Feature) – Generate a timesheet report REPORT – NO LOGIN LIST (Pro Feature) – Generate a report of users who have not login for a given date range REPORT – LOGIN DEVICE (Pro Feature) – Generate report of login count based on IP address LOGIN TIME TRACKER – Tracks the date and time of user’s login, logout, last seen, etc. LOGIN STATUS TRACKER – Tracks user’s login status to check if the user is logged in, logged out, failed, etc. ONLINE STATUS TRACKER – Tracks user’s online status to check if the user is online, idle or offline. USER INFORMATION TRACKER – Tracks user’s old role, current role, username, etc. DEVICE INFORMATION TRACKER – Tracks user’s operating system and browser. GEO LOCATION TRACKER – Tracks user’s timezone and country based on IP address. ADVANCED SEARCH FILTER – Filters the records. CSV EXPORTER – Exports the records in csv format. CUSTOMIZABLE SHORTCODE – Renders the records on front-end. PREFERABLE TIMEZONE (DEPRECATED! Will be removed in 3.0) – You can select your preferred timezone to be used for the listing table. MULTISITE NETWORK – On the network admin area, you can see the listing table which shows all the records fetched from all the blogs of the current network. Translations You can download the language files from here. Do you want to translate this plugin to another language? I recommend using POEdit or if you prefer to do it straight from the WordPress admin interface use Loco Translate. When you’re done, post your file on this issue. . You can also translate the plugin online. How to use the plugin? To see all the tracked records in admin, click on the plugin menu shown in the left sidebar. To see all the tracked records of current logged in users in frontend, use the following shortcode: Basic Usage of Shortcode: In your template file: In your content: [user_login_history] Advanced Usage of Shortcode: In your template file: In your content: [user_login_history limit='20' reset_link='custom-uri' columns='ip_address,time_login' date_format='Y-m-d' time_format='H:i:s'] Shortcode Parameters You can use the shortcode to display the login list of the current user. It does not display the login list of other users. Here is the list of all the parameters that you can use in the shortcode. All the parameters are optional. title – Title of the listing table. Default is: empty string limit – Number of records per page. Default is: 20 reset_link – Custom URI of the listing page. For the input “my-login-history”, it will render a reset link with the following URL: www.example.com/my-login-history Default is the full permalink of the current post or page. date_format – A valid date format. Default is: Y-m-d time_format – A valid time format. Default is: H:i:s show_timezone_selector – Whether you want to show timezone selector or not. Any value other than “true” will be treated as “false”. Default is: true roles (Pro Feature): It allows you to set role(s) in the shortcode parameter so that you can see the login list of other users who belong to the role(s). [user_login_history roles=’administrator, editor’] columns – List of column keys used to render columns on the listing table. Default keys are: operating_system, browser, time_login, time_logout Available Column Keys: user_id, username, role, old_role, ip_address, country_name, browser, operating_system, timezone, user_agent, duration, time_last_seen, time_login, time_logout, login_status Geo Tracking The plugin uses a free third party service to detect country and timezone based on IP address. Many projects are using this free service due to which sometimes the server of the service provider becomes slow. This may affect the login functionality of your website. Hence it is recommended that you do not enable this functionality unless you have paid service or reliable service. If you have a paid service, you can contact us to integrate it. Login Statuses Logged in – If the user gets logged in successfully. Logged out – If the user clicks on logout button and gets logged out successfully. Failed – If the user enters invalid credentials. Blocked (DEPRECATED! Will be removed in 3.0) – This is used for the multisite network. By default, a user can login to any blog and then WordPress redirects to the blog on which the user is associated. The plugin saves login info at the blog on which the user logged in but cannot not save the information of the blog on which WordPress redirects the user. You can prevent this behavior by using the plugin setting. Please note that we already removed this status from the pro version plugin but not from the free version yet. Unknown (DEPRECATED! Will be removed in 3.0) – Since we have added a new column “Login Status” in the version 1.7.0, its value will be empty in the database table after upgrading to 1.7.0. To filter such records, you can use this status. Note – In case, a user log in with “Remember Me” and then closes his browser without doing logout, it will show the login status as “Logged in”. Bug Fixes If you find any bug, please create a topic with a step by step description to reproduce the bug. Please search the forum before creating a new topic. Keywords user log, log, logger, detector, tracker, membership, register, sign up, admin, subscriber, editor, contributor, geo location, profile, front end registration, manager, report, statistics, activity, user role editor