[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f5zM9FPb9ti2igiqQtKmhTxN_cTSBXYbHuCbKY7nzl4E":3,"$fItRpA5WsrhAeC9dJIanDnqiobsn_UJGR4FVEoReHyTs":323,"$f5cjdKSDKoDGg1SlLpQ3vhLvg7VpK0teSsLK4BYHmkp0":327},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"discovery_status":30,"vulnerabilities":31,"developer":32,"crawl_stats":28,"alternatives":38,"analysis":135,"fingerprints":289},"vpndeals-country-block","Country Block – Ultimate Geo-Blocker, IP Ban & Login Security","1.0.2","vpndeals","https:\u002F\u002Fprofiles.wordpress.org\u002Fvpndeals\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fvpndeals.com\u002Fwordpress-plugins\u002Fcountry-block\u002F\" rel=\"nofollow ugc\">Country Block\u003C\u002Fa> provides an exceptionally user-friendly, powerful, and modern IP geolocation blocking experience for WordPress. Our mission is to offer incredible value for free, helping you secure your website and control access with precision and ease.\u003C\u002Fp>\n\u003Cp>Whether you want to block traffic from specific countries to reduce spam and malicious activity, or ensure your content is only accessible to visitors from designated regions, Country Block offers a flexible and robust solution.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Core Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Effortless Country Blocking\u003C\u002Fstrong>: Easily block or allow access from multiple countries or pre-defined groups like the European Union.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatibility & Real IP Detection\u003C\u002Fstrong>: \u003Cstrong>Fully compatible with CDNs and reverse proxies\u003C\u002Fstrong> like \u003Cstrong>Cloudflare, Varnish, and Nginx\u003C\u002Fstrong>. Includes an advanced setting to ensure the visitor’s \u003Cem>real\u003C\u002Fem> IP address is always detected, even behind proxy layers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Express Onboarding Setup\u003C\u002Fstrong>: A guided wizard gets you up and running in minutes upon activation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern “2030 Era” UI\u003C\u002Fstrong>: Enjoy an intuitive, clean, and responsive admin interface that’s a pleasure to use.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Geolocation Source\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>\u003Cstrong>Free Local Database (GeoLite2 by MaxMind)\u003C\u002Fstrong>: High-performance, reliable country-level blocking using a local MaxMind GeoLite2 database, \u003Cstrong>updated automatically every day\u003C\u002Fstrong> to ensure maximum accuracy. Requires a free MaxMind account for database updates.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Whitelisting\u003C\u002Fstrong>: Exempt specific IP addresses\u002FCIDR ranges, user roles, or URL paths from blocking rules.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Block Actions\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Show a customizable message (supports basic HTML).\u003C\u002Fli>\n\u003Cli>Redirect blocked visitors to a specific WordPress page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Detailed Logging & Statistics (Opt-in)\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Keep track of blocked requests (IP, country, reason, timestamp).\u003C\u002Fli>\n\u003Cli>View statistics on blocked activity.\u003C\u002Fli>\n\u003Cli>Option to anonymize logged IPs for privacy.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Looking to block VPNs, Proxies, or TOR users?\u003C\u002Fstrong> For an additional layer of security and anonymity control, check out our companion plugin: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvpn-guard\u002F\" rel=\"ugc\">VPN Guard\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin utilizes external services for its functionality.\u003Cbr \u002F>\nWhen you use features that rely on these services, this plugin may send data, including the visitor’s IP address, to the respective third-party service.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>MaxMind (GeoLite2 Database)\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Purpose:\u003C\u002Fstrong> Used to download the local geolocation database.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Sent:\u003C\u002Fstrong> Your MaxMind License Key is sent to download the database.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Links:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fcompany\u002Flegal\u002Fterms-of-use\" rel=\"nofollow ugc\">Terms of Use\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fcompany\u002Flegal\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","🚀 INSTANT, 100% FREE & PRECISE: The Essential Geo Blocker! Ban, block, or restrict countries with Guaranteed accuracy via Daily MaxMind Updates.",50,503,100,4,"2026-02-03T22:08:00.000Z","6.9.4","5.8","7.4",[20,21,22,23,24],"ban","block","country","geo","security","https:\u002F\u002Fvpndeals.com\u002Fwordpress-plugins\u002Fcountry-block\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvpndeals-country-block.zip",0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":13,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},2,350,30,94,"2026-05-20T02:57:32.218Z",[39,62,83,101,118],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":13,"num_ratings":49,"last_updated":50,"tested_up_to":16,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":57,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":27,"last_vuln_date":61,"fetched_at":29},"advanced-country-blocker","Advanced Country Blocker","2.3.2","brstefanovic","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrstefanovic\u002F","\u003Cp>\u003Cstrong>Advanced Country Blocker\u003C\u002Fstrong> helps you secure your WordPress site by restricting access based on the visitor’s geolocation (country) or IP address. Upon activation, the plugin detects the activating admin’s country and automatically sets that as the only allowed country. All other visitors from different countries are blocked, unless they use a secret key parameter to temporarily whitelist their IP. Country detection uses the privacy-friendly ip-api.com service by default but can be switched to a fully offline MaxMind GeoLite2 (or compatible) database file once you configure a local copy.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatically allows the admin’s country\u003C\u002Fstrong> on plugin activation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible IP-to-country lookups\u003C\u002Fstrong> – start with the built-in ip-api.com integration and optionally switch to an offline MaxMind GeoLite2 Country (or compatible) \u003Ccode>.mmdb\u003C\u002Fcode> database file.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Allowlist or blacklist mode\u003C\u002Fstrong> – choose whether the country list acts as an allowlist or blocklist without re-entering countries.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Temporary access\u003C\u002Fstrong> via a customizable secret URL parameter (e.g., \u003Ccode>?MySecretKey=1\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CAPTCHA Challenge\u003C\u002Fstrong> – allow blocked visitors to solve a CAPTCHA to gain temporary access (supports Google reCAPTCHA v2\u002Fv3, hCaptcha, Cloudflare Turnstile).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Real-Time Activity Monitor\u003C\u002Fstrong> – live dashboard showing active visitors, recent blocks, and traffic statistics.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Analytics Dashboard\u003C\u002Fstrong> – comprehensive charts and statistics about blocked attempts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manual blacklisting and safelisting of IPs\u003C\u002Fstrong> for added security and to accommodate uptime monitors.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Optional email alerts\u003C\u002Fstrong> when new visitors are blocked.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin bypass\u003C\u002Fstrong> so logged-in admins can always access the site (toggleable in the code).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Detailed logging\u003C\u002Fstrong> of blocked attempts in a custom database table, displayed in the WP admin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom response controls\u003C\u002Fstrong> – personalise the block page title\u002Fmessage, choose the HTTP status (403, 410, 451) or redirect to any URL.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic log cleanup\u003C\u002Fstrong> with configurable retention plus a one-click “Clear Logs” button.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Use the plugin settings page (\u003Cstrong>Country Blocker\u003C\u002Fstrong> menu in WP admin) to configure the list of allowed countries, blacklisted countries, blacklisted IPs, and whether email alerts are enabled.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is open-sourced software licensed under the \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-3.0.html\" rel=\"nofollow ugc\">GPLv3 or later\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>By default this plugin contacts the ip-api.com geolocation service to detect visitor countries. You can disable all external lookups by switching the IP lookup method to the local MaxMind database in the settings.\u003C\u002Fp>\n","An advanced security plugin that blocks website visitors by country, with additional features like blacklisting, logging blocked attempts, admin bypas &hellip;",2000,12575,6,"2026-02-06T09:04:00.000Z","5.0","7.2",[54,22,55,56,24],"blocking","geolocation","ip-blocking","https:\u002F\u002Fsparkcan.com\u002Facb.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-country-blocker.2.3.2.zip",99,1,"2026-02-06 20:24:09",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":60,"last_updated":73,"tested_up_to":16,"requires_at_least":74,"requires_php":18,"tags":75,"homepage":80,"download_link":81,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":82},"block-website-access-by-region-lite","Country Blocker and Geoblocker FREE","1.1.0","Simple Tools","https:\u002F\u002Fprofiles.wordpress.org\u002Fjimmyredline80\u002F","\u003Cp>\u003Cstrong>Country Blocker\u003C\u002Fstrong> is the easiest way to block website visitors by country, region, or IP address. No API keys required, no complicated setup – just activate, select countries to block, and protect your site instantly.\u003C\u002Fp>\n\u003Cp>Perfect for compliance, security, and content licensing:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>GDPR compliance\u003C\u002Fstrong> – Block EU countries to avoid cookie consent requirements\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CCPA compliance\u003C\u002Fstrong> – Block California traffic if you can’t meet data privacy requirements\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gambling & gaming sites\u003C\u002Fstrong> – Restrict access from prohibited jurisdictions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Streaming & licensed content\u003C\u002Fstrong> – Enforce geographic licensing restrictions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Financial services\u003C\u002Fstrong> – Block countries you’re not licensed to operate in\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reduce spam & attacks\u003C\u002Fstrong> – Block high-risk countries and VPN traffic\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why Choose Country Blocker?\u003C\u002Fh3>\n\u003Cp>✅ \u003Cstrong>One-click setup\u003C\u002Fstrong> – No API keys or database downloads required\u003Cbr \u002F>\n✅ \u003Cstrong>Actually works\u003C\u002Fstrong> – Powered by our reliable geolocation server infrastructure\u003Cbr \u002F>\n✅ \u003Cstrong>VPN & proxy detection\u003C\u002Fstrong> – Optional blocking of VPNs, proxies, data centers, and hosting providers\u003Cbr \u002F>\n✅ \u003Cstrong>SEO friendly\u003C\u002Fstrong> – Automatically allows Google, Bing, and other search engine crawlers\u003Cbr \u002F>\n✅ \u003Cstrong>Won’t lock you out\u003C\u002Fstrong> – WordPress admin and login pages always remain accessible\u003Cbr \u002F>\n✅ \u003Cstrong>Privacy focused\u003C\u002Fstrong> – Minimal data storage with IP hashing for security\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Blocking & Access Control:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Block visitors from any country with a simple checkbox (250+ countries)\u003Cbr \u002F>\n* Optional VPN, proxy, and datacenter detection and blocking\u003Cbr \u002F>\n* Search engine crawler bypass (Google, Bing, DuckDuckGo, etc.)\u003Cbr \u002F>\n* Choose to allow or block visitors when country cannot be determined\u003Cbr \u002F>\n* Emergency bypass URL parameter for troubleshooting\u003Cbr \u002F>\n* WordPress admin and login pages are never blocked\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Geolocation:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Works instantly without API keys or configuration\u003Cbr \u002F>\n* Powered by our managed geolocation server (no setup required)\u003Cbr \u002F>\n* Cloudflare IP detection support\u003Cbr \u002F>\n* Supports proxy headers (X-Forwarded-For, X-Real-IP, CF-Connecting-IP)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Logging & Monitoring:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Track all blocked and allowed access attempts\u003Cbr \u002F>\n* View visitor country codes and decision reasons\u003Cbr \u002F>\n* Automatic log cleanup (configurable retention period)\u003Cbr \u002F>\n* Rate limiting to prevent log spam\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Privacy & Security:\u003C\u002Fstrong>\u003Cbr \u002F>\n* IP addresses are hashed by default for privacy\u003Cbr \u002F>\n* GDPR and CCPA friendly minimal data storage\u003Cbr \u002F>\n* Configurable data retention policies\u003Cbr \u002F>\n* No tracking scripts or external cookies\u003C\u002Fp>\n\u003Ch3>Pro Version\u003C\u002Fh3>\n\u003Cp>Need more granular control? \u003Cstrong>Country Blocker Pro\u003C\u002Fstrong> includes:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Region-Level Blocking:\u003C\u002Fstrong>\u003Cbr \u002F>\n* 🇺🇸 Block specific US states (all 50 states + DC, Puerto Rico, Guam, US Virgin Islands)\u003Cbr \u002F>\n* 🇨🇦 Block Canadian provinces and territories\u003Cbr \u002F>\n* 🇬🇧 Block UK regions (England, Scotland, Wales, Northern Ireland)\u003Cbr \u002F>\n* 🇦🇺 Block Australian states and territories\u003Cbr \u002F>\n* 🇩🇪 Block German states (Bundesländer)\u003Cbr \u002F>\n* 🇮🇳 Block Indian states and union territories\u003Cbr \u002F>\n* 🇨🇳 Block Chinese provinces and municipalities\u003Cbr \u002F>\n* 🌍 Block entire continents with one click\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Advanced Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* IP whitelist – Never block specific IPs (supports CIDR notation)\u003Cbr \u002F>\n* IP blacklist – Always block specific IPs regardless of location\u003Cbr \u002F>\n* Custom block page with full color customization\u003Cbr \u002F>\n* Custom CSS editor for complete design control\u003Cbr \u002F>\n* Redirect blocked visitors to any URL\u003Cbr \u002F>\n* Advanced logging with CSV export\u003Cbr \u002F>\n* Smart log retention and database optimization\u003Cbr \u002F>\n* Priority email support\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.plugins-for-wp.com\u002Fproduct\u002Fcountry-blocker-and-geoblocker-pro\u002F\" rel=\"nofollow ugc\">Get Country Blocker Pro \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to external services for geolocation functionality and anonymous usage reporting. By using this plugin, you acknowledge that data will be sent to these third-party services.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. Geolocation Service\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>To determine a visitor’s country, the plugin sends the visitor’s IP address to our geolocation server:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Simple Tools for WP Geolocation API\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service: IP geolocation lookup\u003Cbr \u002F>\n* Data sent: Visitor IP address, your site URL\u003Cbr \u002F>\n* When: On each unique visitor’s first page load (cached for 24 hours)\u003Cbr \u002F>\n* Endpoint: https:\u002F\u002Fplugins-for-wp.com\u002Fwp-json\u002Fssp-geo\u002Fv1\u002Flookup\u003Cbr \u002F>\n* Privacy: IP addresses are processed only for geolocation purposes and are not stored permanently on our servers\u003Cbr \u002F>\n* Terms: https:\u002F\u002Fplugins-for-wp.com\u002Fterms\u002F\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fplugins-for-wp.com\u002Fprivacy\u002F\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Anonymous Usage Statistics\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Twice daily the plugin sends aggregated blocking event statistics to our servers to help us monitor plugin health, improve geolocation accuracy, and understand how the plugin is being used:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Simple Tools for WP Reporting API\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service: Anonymous blocking event reporting\u003Cbr \u002F>\n* Data sent: Hashed visitor IP addresses (SHA-256, non-reversible), country codes, block\u002Fallow decisions, plugin version, WordPress version, PHP version, your site URL\u003Cbr \u002F>\n* When: Sent in batches twice daily (8 AM and 8 PM server time)\u003Cbr \u002F>\n* Endpoint: https:\u002F\u002Fplugins-for-wp.com\u002Fwp-json\u002Fssp-geo\u002Fv1\u002Freport-batch\u003Cbr \u002F>\n* Privacy: Hashed IPs cannot be reversed to identify individuals. No personally identifiable information is transmitted.\u003Cbr \u002F>\n* Terms: https:\u002F\u002Fplugins-for-wp.com\u002Fterms\u002F\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fplugins-for-wp.com\u002Fprivacy\u002F\u003Cbr \u002F>\n* Opt-out: To disable usage reporting for your site, contact support@plugins-for-wp.com\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Data Retention:\u003C\u002Fstrong>\u003Cbr \u002F>\nThe plugin stores minimal data on your WordPress database: hashed IP addresses (for rate limiting), country codes, access decisions (blocked\u002Fallowed), and timestamps. You can configure automatic log cleanup in settings. The plugin does not track individual visitors or create profiles.\u003C\u002Fp>\n\u003Ch3>Service Terms & Future Pricing\u003C\u002Fh3>\n\u003Cp>The geolocation service is currently provided free of charge. We are covering the server and infrastructure costs during this introductory period.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Future pricing may apply:\u003C\u002Fstrong> We reserve the right to introduce usage-based pricing for the geolocation service in the future. If pricing is introduced, it would be based on the number of geolocation requests your site makes to our servers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why this is permitted:\u003C\u002Fstrong> This plugin operates under a Software-as-a-Service (SaaS) model where the core functionality depends on our external geolocation servers. Under standard software licensing practices and the GPL license, while the plugin code itself is free and open source, external services that the plugin connects to may have their own terms, conditions, and pricing structures. This is similar to how many WordPress plugins offer free plugins that connect to paid external services (email marketing, backup storage, CDN services, etc.).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What this means for you:\u003C\u002Fstrong>\u003Cbr \u002F>\n* The plugin will continue to function as described\u003Cbr \u002F>\n* You will be notified in advance of any pricing changes\u003Cbr \u002F>\n* You are not obligated to continue using the service if pricing is introduced\u003Cbr \u002F>\n* Alternative geolocation solutions can be implemented if you choose not to use our service\u003C\u002Fp>\n\u003Cp>By installing and using this plugin, you acknowledge and accept these terms.\u003C\u002Fp>\n\u003Ch3>Privacy & Data Usage\u003C\u002Fh3>\n\u003Cp>This plugin is designed with privacy in mind:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>IP addresses are hashed by default before storage\u003C\u002Fli>\n\u003Cli>Only country codes and access decisions are logged, not full visitor profiles\u003C\u002Fli>\n\u003Cli>Logs can be automatically cleaned up after a configurable retention period\u003C\u002Fli>\n\u003Cli>No cookies are set on the visitor’s browser\u003C\u002Fli>\n\u003Cli>No tracking scripts are loaded\u003C\u002Fli>\n\u003Cli>Geolocation lookups are cached for 24 hours to minimize server requests\u003C\u002Fli>\n\u003Cli>Anonymous blocking statistics are sent twice daily using non-reversible hashed IPs\u003C\u002Fli>\n\u003Cli>To opt out of anonymous reporting, contact support@plugins-for-wp.com\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For GDPR compliance, the plugin blocks visitors from specified countries, which may reduce your data collection obligations. However, you should still review your complete privacy obligations with a legal professional.\u003C\u002Fp>\n","Block visitors by country in one click. Geo blocker with VPN detection, IP blocking & country restrictions. GDPR & CCPA compliance made easy.",80,1786,20,"2026-04-05T22:42:00.000Z","5.6",[76,77,78,24,79],"country-blocker","gdpr","geo-blocking","vpn-blocker","https:\u002F\u002Fplugins-for-wp.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblock-website-access-by-region-lite.zip","2026-04-06T09:54:40.288Z",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":13,"num_ratings":93,"last_updated":94,"tested_up_to":16,"requires_at_least":51,"requires_php":52,"tags":95,"homepage":99,"download_link":100,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"workflowdone-geo-blocker","WorkflowDone Geo Blocker","1.0.6","workflowdone","https:\u002F\u002Fprofiles.wordpress.org\u002Fworkflowdone\u002F","\u003Cp>\u003Cstrong>WorkflowDone Geo Blocker\u003C\u002Fstrong> is a simple yet powerful WordPress plugin that allows you to block access to your website based on visitors’ geographical locations. Perfect for compliance, content licensing, or security purposes.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Country Blocking\u003C\u002Fstrong> – Block visitors from specific countries\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IP Whitelisting\u003C\u002Fstrong> – Allow specific IP addresses regardless of country\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO-Friendly\u003C\u002Fstrong> – Automatically allows major search engine crawlers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Block Page\u003C\u002Fstrong> – Customize the message shown to blocked visitors\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IP Caching\u003C\u002Fstrong> – Efficient caching to minimize geo-lookup requests\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Setup\u003C\u002Fstrong> – Simple configuration with no technical knowledge required\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Select which countries you want to block\u003C\u002Fli>\n\u003Cli>Optionally add IP addresses that should always be allowed\u003C\u002Fli>\n\u003Cli>Enable geo-blocking\u003C\u002Fli>\n\u003Cli>Visitors from blocked countries see a friendly block page\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Become a Supporter\u003C\u002Fh4>\n\u003Cp>Love this plugin? Become a supporter and unlock all features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Whitelist Mode\u003C\u002Fstrong> – Allow only specific countries instead of blocking\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin Bypass\u003C\u002Fstrong> – Skip geo-blocking for logged-in administrators\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access Logging\u003C\u002Fstrong> – Log blocked access attempts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IP Ranges (CIDR)\u003C\u002Fstrong> – Whitelist entire IP ranges\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Block Pages\u003C\u002Fstrong> – Create custom HTML pages or redirects\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support Email\u003C\u002Fstrong> – Display contact email on block page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>URL Exclusions\u003C\u002Fstrong> – Skip blocking for specific URLs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Crawler Rules\u003C\u002Fstrong> – Add your own crawler patterns\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Priority Support\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>One-time payment of $10, lifetime access!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fworkflowdone.com\u002Fproduct\u002Fadvanced-geo-blocker-pro\u002F\" rel=\"nofollow ugc\">Become a Supporter\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>This plugin uses third-party geo-location services to determine visitor countries:\u003Cbr \u002F>\n* ip-api.com – \u003Ca href=\"https:\u002F\u002Fip-api.com\u002Fdocs\u002Flegal\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003Cbr \u002F>\n* ipinfo.io – \u003Ca href=\"https:\u002F\u002Fipinfo.io\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Only IP addresses are sent to these services to determine the country. No other personal data is transmitted.\u003C\u002Fp>\n\u003Cp>The plugin caches geo-location results locally to minimize external requests.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, please contact: support@workflowdone.com\u003C\u002Fp>\n\u003Cp>Website: \u003Ca href=\"https:\u002F\u002Fworkflowdone.com\" rel=\"nofollow ugc\">workflowdone.com\u003C\u002Fa>\u003C\u002Fp>\n","Block website access based on visitor's geographical location. Simple and effective geo-blocking for WordPress.",40,905,3,"2026-03-22T17:49:00.000Z",[96,97,98,56,24],"country-blocking","geo-restriction","geoblocking","https:\u002F\u002Fworkflowdone.com\u002Fgeo-blocker","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fworkflowdone-geo-blocker.1.0.6.zip",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":27,"downloaded":109,"rating":27,"num_ratings":27,"last_updated":110,"tested_up_to":16,"requires_at_least":51,"requires_php":52,"tags":111,"homepage":116,"download_link":117,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"geoguard-country-access-manager","GeoGuard – Country Access Manager","2.7.3","Delwar Hossain","https:\u002F\u002Fprofiles.wordpress.org\u002Fdelwar5970\u002F","\u003Cp>GeoGuard – Country Access Manager allows you to easily block unwanted visitors from specific countries. It features a modern, easy-to-use dashboard to manage your blocking rules.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n*   \u003Cstrong>Country Blocking:\u003C\u002Fstrong> Select countries to block from a searchable list.\u003Cbr \u002F>\n*   \u003Cstrong>Redirection:\u003C\u002Fstrong> Redirect blocked users to a specific URL.\u003Cbr \u002F>\n*   \u003Cstrong>Custom Message:\u003C\u002Fstrong> Design your own “Access Denied” page.\u003Cbr \u002F>\n*   \u003Cstrong>Activity Logs:\u003C\u002Fstrong> See who is trying to access your site from blocked regions.\u003Cbr \u002F>\n*   \u003Cstrong>Whitelist:\u003C\u002Fstrong> Whitelist specific IP addresses.\u003Cbr \u002F>\n*   \u003Cstrong>Bot Friendly:\u003C\u002Fstrong> Option to allow search engine bots.\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin relies on a 3rd party service to function properly.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>IP-API.com:\u003C\u002Fstrong> This plugin sends the visitor’s IP address to \u003Ca href=\"http:\u002F\u002Fip-api.com\" rel=\"nofollow ugc\">ip-api.com\u003C\u002Fa> to detect their geolocation (Country Code).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service:\u003C\u002Fstrong> \u003Ca href=\"http:\u002F\u002Fip-api.com\u002Fdocs\u002Flegal\" rel=\"nofollow ugc\">http:\u002F\u002Fip-api.com\u002Fdocs\u002Flegal\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy:\u003C\u002Fstrong> \u003Ca href=\"http:\u002F\u002Fip-api.com\u002Fdocs\u002Fprivacy\" rel=\"nofollow ugc\">http:\u002F\u002Fip-api.com\u002Fdocs\u002Fprivacy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>By using this plugin, you agree to the use of this external service for IP geolocation. No other personal data is shared.\u003C\u002Fp>\n","Protect your content by blocking or redirecting visitors from specific countries.",134,"2026-01-03T14:23:00.000Z",[112,113,114,115,24],"country-block","geo-block","ip-block","redirect","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgeoguard-country-access-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeoguard-country-access-manager.2.7.3.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":27,"downloaded":126,"rating":27,"num_ratings":27,"last_updated":127,"tested_up_to":16,"requires_at_least":51,"requires_php":52,"tags":128,"homepage":133,"download_link":134,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"geosec","Geosec","1.0.1","rbonfil","https:\u002F\u002Fprofiles.wordpress.org\u002Frbonfil\u002F","\u003Cp>\u003Cstrong>Geosec\u003C\u002Fstrong> is a lightweight security plugin designed to protect your WordPress administration panel (\u003Ccode>wp-admin\u003C\u002Fcode>). It works by detecting the visitor’s country using their IP address and allowing access \u003Cstrong>only\u003C\u002Fstrong> if they are in your “Allowed Countries” whitelist.\u003C\u002Fp>\n\u003Cp>This significantly hardens your admin panel against brute-force attacks, bot login attempts, and unauthorized access from foreign countries.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Whitelist-based Protection:\u003C\u002Fstrong> Only allow access from specific countries.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Emergency Key:\u003C\u002Fstrong> Create a unique URL to bypass the lock if you are traveling.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cloudflare Compatible:\u003C\u002Fstrong> Works seamlessly with Cloudflare and standard server setups.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Detailed Statistics:\u003C\u002Fstrong> View logs of blocked attempts and valid logins, including Top Blocked Countries and IPs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightweight:\u003C\u002Fstrong> Optimized for performance, querying external APIs only when necessary and caching results.\u003C\u002Fli>\n\u003C\u002Ful>\n","Geosec protects your admin panel (wp-admin) by allowing access only from the countries you authorize.",187,"2026-02-06T17:01:00.000Z",[129,130,131,132,24],"access-control","block-country","geoip","protection","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeosec.1.0.1.zip",{"attackSurface":136,"codeSignals":231,"taintFlows":280,"riskAssessment":281,"analyzedAt":288},{"hooks":137,"ajaxHandlers":199,"restRoutes":226,"shortcodes":227,"cronEvents":228,"entryPointCount":49,"unprotectedCount":60},[138,144,148,153,157,160,163,165,167,170,173,179,182,187,192,195],{"type":139,"name":140,"callback":141,"file":142,"line":143},"action","admin_notices","maybe_show_link_prompt","includes\\admin\\class-vpndeals-country-block-footer-link-nudge.php",76,{"type":139,"name":145,"callback":146,"file":142,"line":147},"admin_enqueue_scripts","enqueue_footer_link_nudge_assets",84,{"type":139,"name":149,"callback":150,"file":151,"line":152},"admin_menu","add_onboarding_page","includes\\admin\\class-vpndeals-country-block-onboarding.php",29,{"type":139,"name":154,"callback":155,"file":151,"line":156},"admin_init","handle_onboarding_steps",31,{"type":139,"name":145,"callback":158,"file":151,"line":159},"enqueue_scripts",32,{"type":139,"name":149,"callback":161,"file":162,"line":156},"add_admin_menu","includes\\admin\\class-vpndeals-country-block-settings-page.php",{"type":139,"name":154,"callback":164,"file":162,"line":159},"register_settings",{"type":139,"name":145,"callback":158,"file":162,"line":166},34,{"type":139,"name":154,"callback":168,"file":162,"line":169},"check_skip_onboarding",35,{"type":139,"name":140,"callback":171,"file":172,"line":156},"display_review_prompt_notice","includes\\admin\\class-vpndeals-country-block-user-engagement.php",{"type":139,"name":174,"callback":175,"priority":176,"file":177,"line":178},"wp_loaded","check_visitor",10,"includes\\class-vpndeals-country-block-core.php",28,{"type":139,"name":180,"callback":181,"file":177,"line":152},"wp_footer","display_footer_link",{"type":139,"name":183,"callback":184,"file":185,"line":186},"vpndcb_daily_db_update","run_scheduled_update","includes\\utils\\db-updater.php",55,{"type":139,"name":188,"callback":189,"file":190,"line":191},"init","load_textdomain","vpndeals-country-block.php",48,{"type":139,"name":154,"callback":193,"priority":60,"file":190,"line":194},"check_activation_redirect",345,{"type":139,"name":196,"callback":197,"file":190,"line":198},"plugins_loaded","vpndcb_run",351,[200,206,210,214,218,222],{"action":201,"nopriv":202,"callback":203,"hasNonce":204,"hasCapCheck":204,"file":190,"line":205},"vpndcb_download_database",false,"ajax_handle_db_download_onboarding",true,122,{"action":207,"nopriv":202,"callback":208,"hasNonce":204,"hasCapCheck":204,"file":190,"line":209},"vpndcb_update_geolite2_db","ajax_handle_db_update_settings",123,{"action":211,"nopriv":202,"callback":212,"hasNonce":204,"hasCapCheck":204,"file":190,"line":213},"vpndcb_export_settings","ajax_handle_export_settings",125,{"action":215,"nopriv":202,"callback":216,"hasNonce":204,"hasCapCheck":204,"file":190,"line":217},"vpndcb_import_settings","ajax_handle_import_settings",126,{"action":219,"nopriv":202,"callback":220,"hasNonce":204,"hasCapCheck":204,"file":190,"line":221},"vpndcb_clear_logs","ajax_handle_clear_logs",127,{"action":223,"nopriv":202,"callback":224,"hasNonce":202,"hasCapCheck":202,"file":190,"line":225},"vpndcb_dismiss_review_prompt","ajax_handle_dismiss_review_prompt",128,[],[],[229],{"hook":183,"callback":183,"file":190,"line":230},163,{"dangerousFunctions":232,"sqlUsage":233,"outputEscaping":249,"fileOperations":176,"externalRequests":27,"nonceChecks":275,"capabilityChecks":251,"bundledLibraries":276},[],{"prepared":234,"raw":14,"locations":235},12,[236,240,243,247],{"file":237,"line":238,"context":239},"includes\\admin\\class-vpndeals-country-block-logs-list-table.php",172,"$wpdb->get_var() with variable interpolation",{"file":162,"line":241,"context":242},270,"$wpdb->get_results() with variable interpolation",{"file":244,"line":245,"context":246},"uninstall.php",70,"$wpdb->query() with variable interpolation",{"file":190,"line":248,"context":246},306,{"escaped":250,"rawEcho":251,"locations":252},230,9,[253,256,258,260,263,266,269,271,273],{"file":151,"line":254,"context":255},200,"raw output",{"file":162,"line":257,"context":255},358,{"file":162,"line":259,"context":255},385,{"file":261,"line":262,"context":255},"includes\\admin\\views\\tab-dashboard.php",95,{"file":264,"line":265,"context":255},"includes\\admin\\views\\tab-general-settings.php",140,{"file":267,"line":268,"context":255},"includes\\admin\\views\\tab-help.php",82,{"file":267,"line":270,"context":255},106,{"file":267,"line":272,"context":255},108,{"file":177,"line":274,"context":255},396,8,[277],{"name":278,"version":28,"knownCves":279},"Select2",[],[],{"summary":282,"deductions":283},"The vpndeals-country-block plugin v1.0.2 exhibits a generally good security posture based on the static analysis. The majority of SQL queries utilize prepared statements, and a high percentage of outputs are properly escaped, indicating good development practices. The absence of any recorded vulnerabilities, including CVEs, further suggests a relatively secure codebase.  The plugin also demonstrates a good use of nonces and capability checks for most of its entry points.\n\nHowever, a significant concern arises from the presence of one AJAX handler without any authentication checks. This creates a direct attack vector that could be exploited by unauthenticated users. While the taint analysis found no critical or high-severity vulnerabilities, the unprotected AJAX endpoint represents a clear and present risk. The plugin also bundles the Select2 library, which, while common, could potentially introduce vulnerabilities if it's an outdated version and not updated by the developer.\n\nIn conclusion, while the plugin benefits from strong practices in SQL handling and output escaping, and has a clean vulnerability history, the unprotected AJAX endpoint is a critical weakness that needs immediate attention. The potential for outdated bundled libraries also warrants review. Addressing the unprotected entry point should be the priority to significantly improve the plugin's overall security.",[284,286],{"reason":285,"points":275},"Unprotected AJAX handler found",{"reason":287,"points":93},"Bundled library (Select2) may be outdated","2026-03-16T22:01:48.576Z",{"wat":290,"direct":303},{"assetPaths":291,"generatorPatterns":296,"scriptPaths":297,"versionParams":298},[292,293,294,295],"\u002Fwp-content\u002Fplugins\u002Fvpndeals-country-block\u002Fassets\u002Fcss\u002Fvpndeals-country-block.css","\u002Fwp-content\u002Fplugins\u002Fvpndeals-country-block\u002Fassets\u002Fjs\u002Fvpndeals-country-block.js","\u002Fwp-content\u002Fplugins\u002Fvpndeals-country-block\u002Fassets\u002Fjs\u002Fvpndeals-country-block-admin.js","\u002Fwp-content\u002Fplugins\u002Fvpndeals-country-block\u002Fassets\u002Fjs\u002Fvpndeals-country-block-onboarding.js",[],[293,294,295],[299,300,301,302],"vpndeals-country-block\u002Fassets\u002Fcss\u002Fvpndeals-country-block.css?ver=","vpndeals-country-block\u002Fassets\u002Fjs\u002Fvpndeals-country-block.js?ver=","vpndeals-country-block\u002Fassets\u002Fjs\u002Fvpndeals-country-block-admin.js?ver=","vpndeals-country-block\u002Fassets\u002Fjs\u002Fvpndeals-country-block-onboarding.js?ver=",{"cssClasses":304,"htmlComments":308,"htmlAttributes":312,"restEndpoints":315,"jsGlobals":318,"shortcodeOutput":322},[305,306,307],"vpndeals-country-block-admin-wrap","vpndcb-admin-notice","vpndcb-onboarding-step",[309,310,311],"\u003C!-- VPNDeals Country Block Plugin -->","\u003C!-- START FIX: Set a flag for onboarding redirect only if onboarding is NOT complete -->","\u003C!-- END FIX -->",[313,314],"data-vpndcb-geo-country","data-vpndcb-geo-ip",[316,317],"\u002Fwp-json\u002Fvpndeals-country-block\u002Fv1\u002Fsettings","\u002Fwp-json\u002Fvpndeals-country-block\u002Fv1\u002Flogs",[319,320,321],"window.vpndealsCountryBlock","window.vpndcbAjaxUrl","window.vpndcbNonce",[],{"error":204,"url":324,"statusCode":325,"statusMessage":326,"message":326},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fvpndeals-country-block\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":27,"versions":328},[]]