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.
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.
6.4.0 – Tested up to 6.1.1, 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.
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
Login IP & Country Restrictionto the
/wp-content/plugins/directory of your application
- Login as Admin
- Activate the plugin through the ‘Plugins’ menu in WordPress
Contributors & Developers
“Login IP & Country Restriction” is open source software. The following people have contributed to this plugin.Contributors
Translate “Login IP & Country Restriction” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Tested up to 6.1.1
- Improved PHP 8.1 compatibility
- Added the option to remove the 188.8.131.52 and ::1 from the allowed IPs (intended only for Cloudflare use)
- Added WP native headers to the redirects when used
- Tested up to 5.9
- Added a new debug option that allows to test the country code that the application detects for a specified IP
- Added a new option that allows to bypass the PHP native function used for country code detection (if that does not work properly), and in this way to enable alternative detection methods
- Tested up to 5.8.1
- Additional support for the PRO key reset
- Fix warning for string replacement in debug output
- Tested up to 5.8
- Fix the styles after applying settings
- Fix the key input for other settings
- Added more string translation
- Tested up to 5.7.2
- Tested up to PHP 8.0
- Implemented compatibility changes for PHP 5.6, 7.3, 7.4
- Added debug tab that allows to export/import plugin settings
- Added debug info tab (mostly for troubleshooting)
- Accessibility improvements
- Tested up to 5.6.2
- Added note about using wildcard for the IPs hence no filter to apply
- Added note about no country filter to apply
- Fix deselection of country code
- Added more filter types
- Fix filter when no whitelisted IPs
- Added custom firewall rules
- Added blocked IPs feature
- Added blocked countries feature
- Added the option to disable XML-RPC authenticated methods (suggested by Florin Oprea)
- New UI for selecting countries
- PHP 8 compatibility updates
- Additional support for the PRO version that could include more firewall rules and IP and country simulation
- Added the current IP in the list of allowed IPs when you want to enable the restriction
- Tested up to 5.6.1
- Fix parse error
- Tested up to 5.6, + minor standards updates for compatibilty
- Additional support for the PRO version that include resticting login from a single IP per user, custom forbidden message, simulate IP and country code, users listing restriction info column.
- Tested up to 5.4
- Cloudflare compatibility.
- Tested up to 5.3.2
- Icons and styles updates.
- Added support for extended options.
- Tested up to 5.2.2
- Fix settings last tab select after save
- Sticky letters list, for better navigation
- Added more padding to the countries letters blocks (for better view on initial scroll)
- Tested up to 5.2.1
- Added new screenshots with the latest UI
- Tested up to 5.1.1
- UI update, compact options, responsive
- Add redirect options
- Add current user info and restriction info
- Tested up to 4.9.7
- Added translations
- Added geoplugin fallback
- Tested up to 4.8.3
- Added the readable info about the login restriction
- Added the countries letters for a faster navigation
- Added more save buttons
- Update the method to retrieve the data
- The allowed countries are separated visually from the rest of countries, compatibility update
- allow to configure the IP list
- allow to select the allowed countries