- Compatible XF 2.x versions
- 2.2
- 2.3
- Additional requirements
- Phar extension for php must be enabled
This XenForo 2.x addon provides Geoblocking capabilities for user registration.
You can set allowed and denied lists for countries based on the IP address a user registers from - and optionally force users from non-approved countries into the moderation queue when registering.
The addon uses the free Maxmind GeoLite2 downloadable IP database to identify the country associated with the IP address of a registering user.
As an example, a typical use-case for this addon might be for an Australian website to allow users from Australia and New Zealand to be approved automatically, while users from, say, Russia, Nigeria and other common sources of spammers are blocked from registering. Users from all other countries can be placed into the moderation queue for manual approved by moderators.
Note that as of 30th Dec 2019, you can no longer directly download the Maxmind GeoLite2 database - see: Significant Changes to Accessing and Using GeoLite2 Databases. Version 1.1.0 of this addon addresses this change with the ability to specify a license key from your Maxmind account which will allow you to download.
GDPR block
A "Reject EU Registrations" option can be enabled to automatically block registrations from any countries within the European Union, which may help minimise risk for sites which are not serving EU members and do not intend to implement full GDPR support. Note that existing registered users will be unaffected by this setting - it only applies at registration.
This option will be over-ridden by Approved and Denied lists, which can be useful for cases such as the UK, where they are technically still part of the EU until Brexit occurs, so by adding "GB" to the Approved list, you can avoid blocking people from the UK while blocking everyone else in Europe.
Of course, users can always use a proxy server to get around these blocks - but at least you've made a concerted effort to block EU members - which is all you can do.
The message a user will receive when their registration is rejected because of the EU block is "Your registration has been rejected because we do not allow people from the European Union to use our site. Please contact the administrator for further information or assistance."
Installation
1. Install the addon using the standard installation mechanisms. The addon will create a single database table for caching of IP address lookup data.
2. Be sure to add some approved and denied countries to the configuration options - see below.
3. Download the GeoLite2 database using the "Update Maxmind Database" function, which can be found under the Tools menu in the admin area. The database is updated by Maxmind weekly and will be automatically downloaded every week using a cron task.
You must have the Phar extension enabled on your server for database download and extraction to function.
Configuration options
Database update
The GeoLite2 database is updated automatically once per week using a cron task to download it from Maxmind's servers. To manually update the database, you can use the update tool in the Admin area:
Lookup test
Perform a database lookup and show the country code for the IP address
Configuration tester
Test an ISO code against your configuration options to determine what action would be taken for a user from that country. Optionally simulate a user from the EU to test EU block configuration.
See also
You can set allowed and denied lists for countries based on the IP address a user registers from - and optionally force users from non-approved countries into the moderation queue when registering.
The addon uses the free Maxmind GeoLite2 downloadable IP database to identify the country associated with the IP address of a registering user.
As an example, a typical use-case for this addon might be for an Australian website to allow users from Australia and New Zealand to be approved automatically, while users from, say, Russia, Nigeria and other common sources of spammers are blocked from registering. Users from all other countries can be placed into the moderation queue for manual approved by moderators.
Note that as of 30th Dec 2019, you can no longer directly download the Maxmind GeoLite2 database - see: Significant Changes to Accessing and Using GeoLite2 Databases. Version 1.1.0 of this addon addresses this change with the ability to specify a license key from your Maxmind account which will allow you to download.
GDPR block
A "Reject EU Registrations" option can be enabled to automatically block registrations from any countries within the European Union, which may help minimise risk for sites which are not serving EU members and do not intend to implement full GDPR support. Note that existing registered users will be unaffected by this setting - it only applies at registration.
This option will be over-ridden by Approved and Denied lists, which can be useful for cases such as the UK, where they are technically still part of the EU until Brexit occurs, so by adding "GB" to the Approved list, you can avoid blocking people from the UK while blocking everyone else in Europe.
Of course, users can always use a proxy server to get around these blocks - but at least you've made a concerted effort to block EU members - which is all you can do.
The message a user will receive when their registration is rejected because of the EU block is "Your registration has been rejected because we do not allow people from the European Union to use our site. Please contact the administrator for further information or assistance."
Installation
1. Install the addon using the standard installation mechanisms. The addon will create a single database table for caching of IP address lookup data.
2. Be sure to add some approved and denied countries to the configuration options - see below.
3. Download the GeoLite2 database using the "Update Maxmind Database" function, which can be found under the Tools menu in the admin area. The database is updated by Maxmind weekly and will be automatically downloaded every week using a cron task.
You must have the Phar extension enabled on your server for database download and extraction to function.
Configuration options
Database update
The GeoLite2 database is updated automatically once per week using a cron task to download it from Maxmind's servers. To manually update the database, you can use the update tool in the Admin area:
Lookup test
Perform a database lookup and show the country code for the IP address
Configuration tester
Test an ISO code against your configuration options to determine what action would be taken for a user from that country. Optionally simulate a user from the EU to test EU block configuration.
See also
- Geoblock Registration Git repository (Bitbucket)
- List of ISO 3166-2 ISO country codes (Wikipedia)
- Maxmind GeoLite2 free downloadable database
- MaxMind GDPR FAQs