it's about time to introduce another plugin: Countryblock
First of all: This is a Beta version, so using it in a productive environment is possible, but not suggested. Before using it in a productive environment, you should test it in a test environment,first.
Countryblock allows you - as the name already indicates - to prevent users from selected countries to access your community. For this, a Geo database is used, which is being automatically updated periodically.
In order to use this extension, make sure, that PHP is compiled with bcmath:
If not, an external service will be used to determine the visitors location.
After installing the extension, you have to run the cronjob Updates the local GeoIP databases manually (once).
To make sure that the extension works as expected, you should block your own country and visit your community. If you receive a permission denied exception, everything works fine (the extension does not affect access to your ACP).
For developers, the package Country Utils will be shipped with this extension. This package contains new template modifiers and form field types to work with countries, currencies, country codes, longitude and latitude, TLDs and much more.
Last, but not least you should note, that blocking countries may also block search engines (e.g. Google) nor crawlers (e.g. Facebook), too. So please block wisely when blocking countries. or use an alternative blocking mechanism.