[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fvv29oOQxx6QkdeUmKeNhyQRrhNIYhZhmBa89GYI8b9o":3},{"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":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":40,"analysis":145,"fingerprints":254},"login-ip-country-restriction","Login IP & Country Restriction","6.8.1","Iulia Cazan","https:\u002F\u002Fprofiles.wordpress.org\u002Fiulia-cazan\u002F","\u003Cp>This plugin hooks in the authenticate filter. By default, the plugin is set to allow all access and you can configure the plugin to allow the login only from some specified IPs or the specified countries. PLEASE MAKE SURE THAT YOU CONFIGURE THE PLUGIN TO ALLOW YOUR OWN ACCESS. If you set a restriction by IP, then you have to add your own IP (if you are using the plugin in a local setup the IP is 127.0.0.1 or ::1, this is added in your list by default). If you set a restriction by country, then you have to select from the list of countries at least your country. Both types of restrictions work independent, so you can set only one type of restriction or both if you want. Also, you can configure the redirects to frontpage when the URLs are accessed by someone that has a restriction. The restriction is either by country, or not in the specified IPs list.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\u003C\u002Fp>\n","Tighten your website security and fight against dictionary bot attacks originating from other countries, by denying access.",7000,112297,92,51,"2025-11-22T14:06:00.000Z","6.9.4","5.1","7.2",[20,21,22,23,24],"block-country","block-ip","country-firewall","country-restriction","login-restriction","https:\u002F\u002Fiuliacazan.ro\u002Flogin-ip-country-restriction\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flogin-ip-country-restriction.6.8.1.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"iulia-cazan",8,21110,99,91,78,"2026-04-04T12:27:14.071Z",[41,60,82,107,129],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":27,"num_ratings":51,"last_updated":52,"tested_up_to":16,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":54,"download_link":59,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"country-access-blocker","Country Access Blocker","1.6","Valeri Kluger","https:\u002F\u002Fprofiles.wordpress.org\u002Fvalerikluger\u002F","\u003Cp>Country Access Blocker lets you restrict or allow access to your WordPress site based on visitor countries.\u003C\u002Fp>\n\u003Cp>Features:\u003Cbr \u002F>\n* Block visitors from specific countries\u003Cbr \u002F>\n* Clean, GDPR-compliant country list\u003Cbr \u002F>\n* Easy admin interface to configure blocked countries\u003Cbr \u002F>\n* Enable or disable IP-based country blocking with one checkbox\u003Cbr \u002F>\n* No external dependencies or WooCommerce required\u003Cbr \u002F>\n* Uses ip-api.com free API for geolocation\u003C\u002Fp>\n\u003Cp>This plugin is ideal if you want to restrict access from certain countries or comply with geo-based regulations.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support or bug reports, please open an issue on the plugin’s GitHub repository or contact the author.\u003C\u002Fp>\n","Block or allow website visitors from specific countries based on IP geolocation.",500,1743,2,"2026-01-24T22:53:00.000Z","5.0","",[20,21,56,57,58],"country-blocker","geo-blocking","ip-blocker","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcountry-access-blocker.1.6.zip",{"slug":20,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":69,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":54,"tags":74,"homepage":77,"download_link":78,"security_score":79,"vuln_count":80,"unpatched_count":80,"last_vuln_date":81,"fetched_at":30},"Block Country","1.0","nitinmaurya12","https:\u002F\u002Fprofiles.wordpress.org\u002Fnitinmaurya12\u002F","\u003Cp>Set country and IP to block your website. You can also set IP address to unblock for any special IP Address.\u003C\u002Fp>\n","Set country and IP to block your website. You can also set IP address to unblock for any special IP Address.",70,5721,60,6,"2013-12-10T22:05:00.000Z","3.6.1","3.2",[20,75,76],"block-ip-address","unblock-any-ip-address","http:\u002F\u002Fnitinmaurya.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblock-country.zip",63,1,"2025-10-13 00:00:00",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":92,"num_ratings":93,"last_updated":94,"tested_up_to":16,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":102,"download_link":103,"security_score":104,"vuln_count":105,"unpatched_count":28,"last_vuln_date":106,"fetched_at":30},"ip2location-country-blocker","IP2Location Country Blocker","2.41.2","IP2Location","https:\u002F\u002Fprofiles.wordpress.org\u002Fip2location\u002F","\u003Cp>\u003Cem>This plugin will NOT work if any cache plugin is enabled.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This plugin enables user to block unwanted traffic from accessing your frontend (blog pages) or backend (admin area) by countries or proxy servers. It helps to reduce spam and unwanted sign ups easily by preventing unwanted visitors from browsing a particular page or entire website.\u003C\u002Fp>\n\u003Cp>Key Features\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Allow you to block the access from multiple countries.\u003C\u002Fli>\n\u003Cli>Allow you to block the access by country grouping, such as EU, APAC, and so on.\u003C\u002Fli>\n\u003Cli>Allow you to block the access from anonymous proxies.\u003C\u002Fli>\n\u003Cli>Allow you to block the access by IP ranges.\u003C\u002Fli>\n\u003Cli>Allow you to whitelist the crawler, for example, Google, Bing, Yandex, and so on, to index your pages (SEO friendly).\u003C\u002Fli>\n\u003Cli>Supports IPv4 and IPv6\u003C\u002Fli>\n\u003Cli>Default to 403 error (Permission Denied) display\u003C\u002Fli>\n\u003Cli>Allow you to customize your own 403 page.\u003C\u002Fli>\n\u003Cli>Send you an email notification if some one is trying to access your admin area.\u003C\u002Fli>\n\u003Cli>Provide you statistical report of traffics blocked.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin supports both IP2Location BIN data and web service for IP geolocation lookup. If you would like to use the IP2Location geolocation BIN data, you can easily download and update the BIN data via the plugin settings page. Alternatively, you can also download and update the BIN data file manually using the below links:\u003C\u002Fp>\n\u003Cp>IP Geolocation file download:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Flite.ip2location.com\" title=\"IP2Location LITE database\" rel=\"nofollow ugc\">IP2Location & IP2Proxy LITE database (Free)\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fip2location.com\" title=\"IP2Location commercial database\" rel=\"nofollow ugc\">IP2Location & IP2Proxy Commercial database (Comprehensive)\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>To use the IP2Location IP geolocation web service (REST API) for geolocation, you’ll need to register an account at \u003Ca href=\"https:\u002F\u002Fwww.ip2location.io\" title=\"IP2Location.io IP Geolocation API\" rel=\"nofollow ugc\">IP2Location.io IP Geolocation API\u003C\u002Fa>. A free plan is available.\u003C\u002Fp>\n\u003Ch4>More Information\u003C\u002Fh4>\n\u003Cp>Please visit us at \u003Ca href=\"https:\u002F\u002Fwww.ip2location.com\" title=\"https:\u002F\u002Fwww.ip2location.com\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.ip2location.com\u003C\u002Fa>\u003C\u002Fp>\n","Blocks unwanted visitors from accessing your frontend (blog pages) or backend (admin area) by countries or proxy servers.",30000,1626215,84,124,"2025-12-03T07:19:00.000Z","4.6","7.4",[20,98,99,100,101],"block-proxy","ip-address","ip2location","redirection","https:\u002F\u002Fip2location.com\u002Fresources\u002Fwordpress-ip2location-country-blocker","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fip2location-country-blocker.2.41.2.zip",93,9,"2025-02-21 19:56:54",{"slug":108,"name":109,"version":110,"author":111,"author_profile":112,"description":113,"short_description":114,"active_installs":115,"downloaded":116,"rating":117,"num_ratings":118,"last_updated":119,"tested_up_to":16,"requires_at_least":120,"requires_php":121,"tags":122,"homepage":127,"download_link":128,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"woo-product-country-base-restrictions","Country Based Restrictions for WooCommerce","3.7.7","Zorem","https:\u002F\u002Fprofiles.wordpress.org\u002Fzorem\u002F","\u003Cp>\u003Cstrong>Country Based Restrictions for WooCommerce (CBR)\u003C\u002Fstrong> lets you control which products customers can see and purchase based on their country. Whether you need to comply with regional regulations, limit shipping to certain destinations, or create country-specific catalogs, CBR gives you per-product control using WooCommerce’s built-in geolocation.\u003C\u002Fp>\n\u003Cp>If a product shouldn’t be sold in a particular country — because of shipping limitations, legal requirements, licensing, or business strategy — CBR makes sure customers in that country either can’t see it or can’t buy it. No code required.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hide Restricted Products Completely\u003C\u002Fstrong> — Remove products from your shop, search results, and catalog for customers in restricted countries. Products become invisible as if they don’t exist.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hide from Catalog, Keep Direct Links\u003C\u002Fstrong> — Remove products from shop pages and search, but still allow access via a direct URL. Useful for wholesale or private distribution.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Visible but Not Purchasable\u003C\u002Fstrong> — Keep products visible in your shop and search results, but disable the Add to Cart button for restricted countries. Customers can browse but not buy.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-Product Include or Exclude Rules\u003C\u002Fstrong> — For each product, choose whether to allow it in specific countries (include) or block it in specific countries (exclude). Flexible enough for any restriction scenario.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Country Detection\u003C\u002Fstrong> — Uses WooCommerce Geolocation (IP-based) and the customer’s shipping address to determine their country — no manual input needed from the shopper.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation Ready\u003C\u002Fstrong> — Fully translatable and compatible with multilingual stores.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Common Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Legal & Regulatory Compliance\u003C\u002Fstrong> — Block products that can’t legally be sold in certain countries (alcohol, supplements, electronics, age-restricted items).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shipping Limitations\u003C\u002Fstrong> — Don’t sell products in countries your logistics provider can’t deliver to. Avoid failed deliveries and refund requests.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Regional Licensing\u003C\u002Fstrong> — Restrict digital or licensed products to territories covered by your distribution agreement.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Country-Specific Catalogs\u003C\u002Fstrong> — Show different product selections to different markets, creating a tailored shopping experience per region.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reduce Chargebacks & Wrong Orders\u003C\u002Fstrong> — Prevent customers from ordering products that can’t be fulfilled in their location.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How Country Detection Works\u003C\u002Fh4>\n\u003Cp>CBR determines the customer’s country in this order:\u003C\u002Fp>\n\u003Col>\n\u003Cli>If the visitor is a \u003Cstrong>logged-in customer\u003C\u002Fstrong> with a shipping address on file, CBR uses that shipping country.\u003C\u002Fli>\n\u003Cli>If no shipping country is set (or the visitor is a guest), CBR falls back to \u003Cstrong>WooCommerce Geolocation\u003C\u002Fstrong> (IP-based detection).\u003C\u002Fli>\n\u003Cli>You can optionally force the plugin to always use geolocation only.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Upgrade to Country Based Restrictions PRO\u003C\u002Fh4>\n\u003Cp>Need to manage restrictions at scale? \u003Ca href=\"https:\u002F\u002Fwww.zorem.com\u002Fproduct\u002Fcountry-based-restriction-pro\u002F\" rel=\"nofollow ugc\">CBR PRO\u003C\u002Fa> adds powerful bulk tools and advanced controls:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Bulk Restrictions by Category, Tag, Attribute, or Shipping Class\u003C\u002Fstrong> — Apply country rules to entire groups of products at once instead of editing each product individually.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Global (All Products) Restrictions\u003C\u002Fstrong> — Set a single rule that applies to your entire catalog.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Disable Payment Methods by Country\u003C\u002Fstrong> — Control which payment gateways are available based on the customer’s country.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hide Product Prices for Restricted Products\u003C\u002Fstrong> — Instead of hiding the product entirely, hide only the price and Add to Cart button.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Remove Single Product Rules in Bulk\u003C\u002Fstrong> — Clean up individual product rules using bulk actions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Debug Mode\u003C\u002Fstrong> — Display a front-end toolbar (visible to admins only) showing the detected country, so you can test restrictions without affecting customers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Country Detection Widget\u003C\u002Fstrong> — Display the detected shipping country to shoppers and let them change their location while browsing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.zorem.com\u002Fproduct\u002Fcountry-based-restriction-pro\u002F\" rel=\"nofollow ugc\">Get Country Based Restrictions PRO\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Documentation & Support\u003C\u002Fh4>\n\u003Cp>Setup guides, configuration tutorials, and developer resources are available in the \u003Ca href=\"https:\u002F\u002Fdocs.zorem.com\u002Fdocs\u002Fcountry-based-restrictions-pro\u002F\" rel=\"nofollow ugc\">CBR documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Need help? Visit the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwoo-product-country-base-restrictions\u002F\" rel=\"ugc\">support forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>More Plugins by Zorem\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.zorem.com\u002Fproduct\u002Fwoocommerce-advanced-shipment-tracking\u002F\" rel=\"nofollow ugc\">Advanced Shipment Tracking PRO\u003C\u002Fa> — Add tracking numbers to orders and share them with customers automatically.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzorem.com\u002Fplugins\u002Fsms-for-woocommerce\u002F\" rel=\"nofollow ugc\">SMS for WooCommerce\u003C\u002Fa> — Send SMS order notifications to customers.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzorem.com\u002Fplugins\u002Fzorem-local-pickup-pro\u002F\" rel=\"nofollow ugc\">Zorem Local Pickup Pro\u003C\u002Fa> — Local pickup and store pickup for WooCommerce.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzorem.com\u002Fplugins\u002Fcustomer-email-verification-for-woocommerce\u002F\" rel=\"nofollow ugc\">Customer Email Verification for WooCommerce\u003C\u002Fa> — Verify customer emails during registration.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzorem.com\u002Fplugins\u002Fzorem-returns\u002F\" rel=\"nofollow ugc\">Zorem Returns\u003C\u002Fa> — Manage product returns and RMA requests.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Explore all plugins at \u003Ca href=\"https:\u002F\u002Fwww.zorem.com\u002F\" rel=\"nofollow ugc\">zorem.com\u003C\u002Fa>.\u003C\u002Fp>\n","Restrict WooCommerce products by country — hide or block purchases using geolocation so only customers in allowed countries can buy.",5000,224381,90,52,"2026-02-10T13:26:00.000Z","5.3","7.0",[23,123,124,125,126],"geolocation","product-visibility","restrict-products","woocommerce","https:\u002F\u002Fwww.zorem.com\u002Fshop\u002Fwoocommerce-product-country-based-restrictions\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoo-product-country-base-restrictions.3.7.7.zip",{"slug":130,"name":131,"version":132,"author":133,"author_profile":134,"description":135,"short_description":136,"active_installs":137,"downloaded":138,"rating":27,"num_ratings":80,"last_updated":139,"tested_up_to":140,"requires_at_least":53,"requires_php":18,"tags":141,"homepage":143,"download_link":144,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"geo-blocker","Geo Blocker – Control Site Access by Region and IP","1.0.0","Mohamed Shili","https:\u002F\u002Fprofiles.wordpress.org\u002Fmedshi8\u002F","\u003Cp>🔐 Block or allow visitors by country. Track access attempts. View analytics. Stay in control — effortlessly.\u003C\u002Fp>\n\u003Ch3>🧠 Description\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Geo Blocker\u003C\u002Fstrong> gives you full control over who can access your WordPress site — based on visitor country and IP. Whether you’re protecting content, reducing attack surface, or managing regional access, this plugin does it with precision and clarity.\u003C\u002Fp>\n\u003Cp>🎯 Designed for performance, security, and ease of use.\u003Cbr \u002F>\n📊 Built-in analytics and access logs.\u003Cbr \u002F>\n🧭 Never get locked out — admin-safe bypass included.\u003C\u002Fp>\n\u003Ch3>🚀 Features\u003C\u002Fh3>\n\u003Ch3>✅ Access Control That Makes Sense\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Block Selected Countries\u003C\u002Fstrong> – deny access to specific regions  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Allow Selected Countries\u003C\u002Fstrong> – restrict site only to approved countries  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🧩 Smart Blocking Actions\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>📜 Show custom message  \u003C\u002Fli>\n\u003Cli>🔁 Redirect to a URL  \u003C\u002Fli>\n\u003Cli>🚫 Send HTTP 403 Forbidden response  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🌐 Visual Country Selector\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Flag icons & search bar for quick targeting  \u003C\u002Fli>\n\u003Cli>Filter by continent (Africa, Asia, Europe, etc.)  \u003C\u002Fli>\n\u003Cli>One-click select\u002Fdeselect all  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📈 Analytics Dashboard\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Summary cards: total visits, blocks, IPs  \u003C\u002Fli>\n\u003Cli>Hourly charts for real-time insights  \u003C\u002Fli>\n\u003Cli>Filter by date range & data type (accesses, unique IPs, etc.)  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📋 Detailed Logs\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>See IP, country, URL, status, user agent  \u003C\u002Fli>\n\u003Cli>Filters out common junk (favicon, robots.txt)  \u003C\u002Fli>\n\u003Cli>Admin visits are auto-ignored to reduce noise  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🛠️ Admin-Proof Bypass URL\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Special URL with bypass parameter to access login anytime  \u003C\u002Fli>\n\u003Cli>Prevents accidental lockouts  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔄 Data Export & Log Management\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Export logs in CSV or JSON  \u003C\u002Fli>\n\u003Cli>Clear logs with a single click  \u003C\u002Fli>\n\u003Cli>Sort & search logs in the UI\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🌐 External Services\u003C\u002Fh3>\n\u003Cp>This plugin uses a third-party API to determine the visitor’s country based on their IP address.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service used:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fipwho.is\" rel=\"nofollow ugc\">IPWho.is\u003C\u002Fa>  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purpose:\u003C\u002Fstrong> To perform IP geolocation and detect the country of each visitor, allowing the plugin to block or allow access accordingly.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data sent:\u003C\u002Fstrong> The visitor’s IP address is sent to the IPWho.is API on page load when geo-blocking is active.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fipwhois.io\u002Fterms\" rel=\"nofollow ugc\">https:\u002F\u002Fipwhois.io\u002Fterms\u003C\u002Fa>  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fipwhois.io\u002Fprivacy\" rel=\"nofollow ugc\">https:\u002F\u002Fipwhois.io\u002Fprivacy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🖥️ Screenshots\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>📊 Dashboard Overview\u003C\u002Fstrong> – See country blocks, allowed hits & total attempts   \u003C\u002Fli>\n\u003Cli>\u003Cstrong>🔧 Blocking Rules\u003C\u002Fstrong> – Choose block mode, action type, and targets. Enable or disable countries visually\u003C\u002Fli>\n\u003Cli>\u003Cstrong>📉 Analytics Graphs\u003C\u002Fstrong> – View access by time, state, and IP 5. \u003Cstrong>📑 Logs Table\u003C\u002Fstrong> – Deep insights with full logs of visitor attempts. Export CSV\u002FJSON logs with one click\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>📦 Installation\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Upload the plugin folder to \u003Ccode>\u002Fwp-content\u002Fplugins\u002Fgeo-blocker\u003C\u002Fcode>  \u003C\u002Fli>\n\u003Cli>Activate via \u003Cstrong>Plugins \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Installed Plugins\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>Go to \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Geo Blocker\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>Enable Geo Blocking using the toggle  \u003C\u002Fli>\n\u003Cli>Choose between \u003Cstrong>block\u003C\u002Fstrong> or \u003Cstrong>allow\u003C\u002Fstrong> mode  \u003C\u002Fli>\n\u003Cli>Select countries using the visual interface  \u003C\u002Fli>\n\u003Cli>Pick your blocking action (message, redirect, or 403)  \u003C\u002Fli>\n\u003Cli>Save settings — done!\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>❓ Frequently Asked Questions\u003C\u002Fh3>\n\u003Ch3>How does Geo Blocker detect country?\u003C\u002Fh3>\n\u003Cp>It uses the reliable \u003Cstrong>IpWhoIs API\u003C\u002Fstrong> to fetch country data based on the visitor’s IP.\u003C\u002Fp>\n\u003Ch3>Will it slow down my site?\u003C\u002Fh3>\n\u003Cp>Nope. It’s optimized with \u003Cstrong>transient caching\u003C\u002Fstrong> and smart triggers — no unnecessary lookups.\u003C\u002Fp>\n\u003Ch3>Can I lock myself out?\u003C\u002Fh3>\n\u003Cp>No. There’s a \u003Cstrong>login bypass URL\u003C\u002Fstrong> generated for administrators — shown right on the dashboard.\u003C\u002Fp>\n\u003Ch3>Can I block specific pages?\u003C\u002Fh3>\n\u003Cp>Not yet — current version works site-wide. Per-page rules may come in a future update.\u003C\u002Fp>\n\u003Ch3>Can I export visitor logs?\u003C\u002Fh3>\n\u003Cp>Yes. Logs can be exported in \u003Cstrong>CSV or JSON\u003C\u002Fstrong> format directly from the Logs tab.\u003C\u002Fp>\n\u003Ch3>Does it work with caching plugins?\u003C\u002Fh3>\n\u003Cp>Yes, but you may need to \u003Cstrong>exclude the plugin’s logic\u003C\u002Fstrong> from caching. Dynamic geo checks should not be cached.\u003C\u002Fp>\n\u003Ch3>🗂️ Changelog\u003C\u002Fh3>\n\u003Ch4>1.0.0\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>🎉 Initial release with all core features\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🛡️ Additional Notes\u003C\u002Fh3>\n\u003Ch3>Emergency Bypass\u003C\u002Fh3>\n\u003Cp>Every admin gets a custom bypass link to avoid accidental lockouts. It’s always visible in the dashboard.\u003C\u002Fp>\n\u003Ch3>Blocking Actions\u003C\u002Fh3>\n\u003Cp>Choose the experience blocked users receive:\u003Cbr \u002F>\n– Custom message\u003Cbr \u002F>\n– Redirect to another URL\u003Cbr \u002F>\n– Send 403 Forbidden header\u003C\u002Fp>\n\u003Ch3>Logs & Privacy\u003C\u002Fh3>\n\u003Cp>Logs are stored locally in your WordPress database. The plugin sends only the visitor’s IP to IPWho.is — no personally identifiable information is shared or stored externally.\u003C\u002Fp>\n\u003Ch3>💡 Enjoying Geo Blocker? Try Our Other Free Plugins\u003C\u002Fh3>\n\u003Cp>Looking for even more control and peace of mind? Check out our other tools:\u003C\u002Fp>\n\u003Cp>🔕 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fnotification-blocker\u002F\" rel=\"ugc\">Notification Blocker\u003C\u002Fa>\u003C\u002Fstrong> – Hide annoying plugin notices from your dashboard without hacking core files.\u003C\u002Fp>\n\u003Cp>🛡️ \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffortress-login-pro\u002F\" rel=\"ugc\">Fortress Login Pro\u003C\u002Fa>\u003C\u002Fstrong> – Obscure your login page, add brute-force protection, and block unauthorized access attempts with ease.\u003C\u002Fp>\n\u003Cp>If you like Geo Blocker, you’ll probably find these just as helpful. Try them out!\u003C\u002Fp>\n","🔐 Block or allow visitors by country. Track access attempts. View analytics. Stay in control — effortlessly.",700,1677,"2025-05-18T22:09:00.000Z","6.8.5",[142,23,57,123,58],"access-control","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgeo-blocker\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeo-blocker.1.0.0.zip",{"attackSurface":146,"codeSignals":206,"taintFlows":228,"riskAssessment":248,"analyzedAt":253},{"hooks":147,"ajaxHandlers":202,"restRoutes":203,"shortcodes":204,"cronEvents":205,"entryPointCount":28,"unprotectedCount":28},[148,154,157,160,163,167,171,175,178,182,187,191,195,198],{"type":149,"name":150,"callback":151,"priority":80,"file":152,"line":153},"action","admin_init","maybe_upgrade_version","login-restrict-country.php",223,{"type":149,"name":150,"callback":155,"priority":80,"file":152,"line":156},"maybe_save_settings",224,{"type":149,"name":158,"callback":158,"file":152,"line":159},"admin_menu",225,{"type":149,"name":161,"callback":161,"file":152,"line":162},"admin_notices",226,{"type":149,"name":164,"callback":165,"file":152,"line":166},"admin_enqueue_scripts","load_assets",227,{"type":168,"name":169,"callback":169,"file":152,"line":170},"filter","check_rule_type_save",231,{"type":168,"name":172,"callback":172,"priority":173,"file":152,"line":174},"assess_rule_by_type",10,234,{"type":149,"name":161,"callback":176,"file":152,"line":177},"plugin_admin_notices",235,{"type":149,"name":179,"callback":180,"file":152,"line":181},"plugins_loaded","plugin_ver_check",238,{"type":168,"name":183,"callback":184,"priority":185,"file":152,"line":186},"authenticate","sisanu_restrict_country",30,246,{"type":168,"name":188,"callback":189,"priority":185,"file":152,"line":190},"xmlrpc_enabled","xmlrpc_auth_methods_enabled",247,{"type":149,"name":192,"callback":193,"file":152,"line":194},"wp_loaded","maybe_restrict_register_url",252,{"type":168,"name":192,"callback":196,"file":152,"line":197},"maybe_restrict_login_url",255,{"type":168,"name":199,"callback":200,"priority":28,"file":152,"line":201},"template_redirect","maybe_restrict_custom_url",258,[],[],[],[],{"dangerousFunctions":207,"sqlUsage":208,"outputEscaping":211,"fileOperations":28,"externalRequests":80,"nonceChecks":80,"capabilityChecks":80,"bundledLibraries":227},[],{"prepared":209,"raw":28,"locations":210},4,[],{"escaped":212,"rawEcho":213,"locations":214},191,5,[215,219,221,223,225],{"file":216,"line":217,"context":218},"inc\\setup-debug.php",40,"raw output",{"file":152,"line":220,"context":218},1041,{"file":152,"line":222,"context":218},1045,{"file":152,"line":224,"context":218},1864,{"file":152,"line":226,"context":218},1877,[],[229],{"entryPoint":230,"graph":231,"unsanitizedCount":28,"severity":247},"\u003Csetup-debug> (inc\\setup-debug.php:0)",{"nodes":232,"edges":244},[233,238],{"id":234,"type":235,"label":236,"file":216,"line":237},"n0","source","$_SERVER",155,{"id":239,"type":240,"label":241,"file":216,"line":242,"wp_function":243},"n1","sink","echo() [XSS]",187,"echo",[245],{"from":234,"to":239,"sanitized":246},true,"low",{"summary":249,"deductions":250},"The plugin 'login-ip-country-restriction' v6.8.1 exhibits a generally good security posture based on the provided static analysis and vulnerability history. The absence of any known CVEs, coupled with the plugin's robust use of prepared statements for SQL queries and a high percentage of properly escaped output, are strong indicators of secure development practices. The limited attack surface with zero entry points and a single external HTTP request, which likely handles a necessary external service for country restriction, also contribute positively to its security. Furthermore, the presence of nonce and capability checks, though minimal, suggests an awareness of security principles.  However, the analysis doesn't provide a complete picture.  The small number of analyzed flows in the taint analysis (only 1) means that while no critical or high-severity unsanitized paths were found, it's not conclusive evidence of complete safety.  A more comprehensive taint analysis would be beneficial.  The plugin's primary function likely involves IP and country data, which could potentially be sensitive, and while no issues are currently flagged, future updates or unforeseen interactions could introduce risks. Overall, the plugin appears to be built with security in mind, but further deeper analysis of its interaction with external services and a more extensive taint analysis would solidify this assessment.",[251],{"reason":252,"points":213},"Limited Taint Analysis coverage","2026-03-16T17:59:38.050Z",{"wat":255,"direct":264},{"assetPaths":256,"generatorPatterns":259,"scriptPaths":260,"versionParams":261},[257,258],"\u002Fwp-content\u002Fplugins\u002Flogin-ip-country-restriction\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Flogin-ip-country-restriction\u002Fjs\u002Fscript.js",[],[258],[262,263],"login-ip-country-restriction\u002Fcss\u002Fstyle.css?ver=","login-ip-country-restriction\u002Fjs\u002Fscript.js?ver=",{"cssClasses":265,"htmlComments":267,"htmlAttributes":281,"restEndpoints":283,"jsGlobals":284,"shortcodeOutput":286},[266],"slicr_notice",[268,269,270,271,272,273,274,275,276,277,278,279,280],"\u003C!-- Login IP & Country Restriction is active and this rule is NOT set. -->","\u003C!-- Login IP & Country Restriction is active and this rule IS set. -->","\u003C!-- The rule is set and we have restrictions. -->","\u003C!-- IPs are restricted and this IP is NOT allowed. -->","\u003C!-- Countries are restricted and this Country is NOT allowed. -->","\u003C!-- The user is logged in, so no restriction applies. -->","\u003C!-- User is bypass role, so no restriction applies. -->","\u003C!-- The plugin is temporarily disabled -->","\u003C!-- All countries are allowed -->","\u003C!-- All IPs are allowed -->","\u003C!-- IP restriction IS set -->","\u003C!-- Country restriction IS set -->","\u003C!-- No roles bypass -->",[282],"data-plugin-slug=\"slicr\"",[],[285],"slicr_object",[]]