Login IP & Country Restriction

plugin banner

This plugin hooks in the authenticate filter. You can configure the plugin to allow the login only from some specified IPs or the specified country co

Author:Iulia Cazan (profile at wordpress.org)
WordPress version required:5.1
WordPress version tested:6.5
Plugin version:6.5.0
Added to WordPress repository:04-11-2014
Last updated:15-03-2024
Rating, %:94
Rated by:45
Plugin URI:https://iuliacazan.ro/login-ip-country-restri...
Total downloads:64 802
Active installs:6 000+
plugin download
Click to start download

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 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.




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.

Version history

6.5.0 – Tested up to 6.5, added the new option for enabling HTTP_X_FORWARDED_FOR; fixed the custom redirects; styles updated and assets optimization; accessibility improvements
6.4.1 – Tested up to 6.3, minor styles updates, added the country code after the name in the listing
6.4.0 – Tested up to 6.2, new the option to remove the localhost from the allowed IPs, PHP 8 compatibility, redirect headers updates
6.3.0 – Tested up to 5.9, new debug option for test the country code, new debug option to bypass the PHP native function used for country code detection
6.2.2 – Tested up to 5.8.1, PRO key reset, fix warning for string replacement in debug output
6.2.1 – Tested up to 5.8, fix the styles after applying settings when using with core >= 5.8, fix key input, more string translation
6.2.0 – Tested up to 5.7.2 and PHP 8.0, implemented compatibility changes for PHP 5.6, 7.3, 7.4, new debug tab that allows to export/import plugin settings, debug info (mostly for troubleshooting), accessibility improvements
6.1 – Added notes no IPs or no country filter to apply, fix deselection of country code, more filter types, fix filter when no whitelisted IPs, assets updates.
6.0 – Tested up to 5.6.1, added custom firewall rules, blocked IPs, blocked countries, disable XML-RPC authenticated methods, new UI for selecting countries, JavaScript updates, PHP 8 compatibility, additional support for the PRO version that could include more firewall rules and IP and country simulation, added the current IP.
5.1 – Fix parse error.
5.0 – Tested up to 5.6, + minor standards updates for compatibilty, additional support for the PRO version.
4.1 – Tested up to 5.4, Cloudflare compatibility.
4.0 – Tested up to 5.3.2, icons and styles updates, support for extended options.
3.6 – Tested up to 5.2.2, fix settings last tab select after save, sticky letters list, for better navigation, more padding to the countries letters blocks
3.5 – Tested up to 5.2.1, new screenshots with the latest UI
3.4 – Tested up to 5.1.1, UI update, add redirect options, add current user info and restriction info
3.3 – Tested up to 4.9.7, added translations, added geoplugin fallback
3.2 – Tested up to 4.8.3, added the readable info about the login restriction, added the countries letters for a faster navigation
3.1 – Update method
3.0 – The allowed countries are separated visually from the rest of countries + version test
2.0 – Configurable version
1.0 – Initial version