WordPress.org

Ready to get started?Download WordPress

Plugin Directory

iQ Block Country

Block visitors from countries you don't want on your website. Based on which country an ip address is from.

How come that I still see visitors from countries that I blocked in Statpress or other statistics software?

It’s true that you might see hits from countries that you have blocked in your statistics software. That is the way it works, certain plugins may be run before iQ Block Country is run so it may log visitors to pages.

This however does not mean this plugin does not work, it just means somebody tried to access a certain page or pages and that that fact is logged.

If you are worried this plugin does not work you could try to block your own country or your own ip address and afterwards visit your frontend website and see if it actually works. Also if you have access to the logfiles of the webserver that hosts your website you can see that these visitors are actually denied with a HTTP error 403.

This plugin does not work, I blocked a country and still see visitors!

Well, this plugin does in fact work but is limited to the data MaxMind provides. Also in your statistics software or logfiles you probably will see log entries from countries that you have blocked. See the "How come I still see visitors..." FAQ for that.

If you think you have a visitor from a country you have blocked lookup that specific IP address on the MaxMind website (http://www.maxmind.com/app/locate_demo_ip) and see which country MaxMind thinks it is. If this is not the same country you may wish to block the country that MaxMind thinks it is.

Whoops I made a whoops and blocked my own country from visiting the backend. Now I cannot login... HELP!

I am afraid this can only be solved by editing your MySQL database,directly editing the rows in the wp_options table. You can use a tool like PHPMyAdmin for that.

If you don't know how to do this please ask your hosting provider if they can help, or ask me if I can help you out!

Why do you not make something that can override that it blocks my country from the backend.

Well, if you can use a manual override so can the people that want to 'visit' your backend.

This plugin is meant to keep people out. Perhaps you keep a key to your house somewhere hidden in your garden but this plugin does not have a key somewhere hidden... So if you locked yourself out you need to call a locksmith (or pick the lock yourself of course!)

How can I style the banned message?

You can style the message by using CSS in the textbox. You are also able to include images, so you could visualize that people are banned from your site.

You can also provide a link to another page explaining why they might be banned. Only culprit is that it cannot be a page on the same domain name as people would be banned from that page as well.

You can use for instance:

body { color: red; background-color: #ffffff; } h1 { font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif }

Go away!

you basicly can use everything as within a normal HTML page. Including images for instance.

Does this plugin also work with IPv6?

Since v1.0.7 this plugin supports IPv6. But as IPv6 is still scarce it may not work as well as IPv4. Some IPv6 blocks may not be in the right country in the MaxMind database.

There are no guarantees blocking IPv6 works but as far as I was able to test IPv6 blocking it works just fine.

If you want IPv6 support be sure to press the "Download new GeoIP IPv6 database" button. At this time the IPv6 database is not downloaded automatically.

Does this plugin work with caching?

In some circumstances: No

The plugin does it best to prevent caching of the "You are blocked" message. However most caching software can be forced to cache anyway. You may or may not be able to control the behavior of the caching method.

The plugin does it bests to avoid caching but under circumstances the message does get cached. Either change the behavior of your caching software or disable the plugin.

How can I select multiple countries at once?

You can press the CTRL key and select several countries.

Perhaps also a handy function is that you can type in a part of the name of the country!

How can I get a new version of the GeoIP database?

Since v1.0.9 every time you login to the backend of your website the plugin checks if the current databases are over a month old. If they are they will be automatically updated to the current version of Maxmind.

If this is not soon enough for you you can also press the two buttons "Download new GeoIP database" on the bottom of the options page. This will download them instantly. However you do not need to download the databases more than once a month since the lite database is only updated once a month.

You can also remove the file GeoIP.dat from the plugin directory and after removal go to the settings page of this plugin. When it sees the GeoIP database is missing it will try to download it for you.

However you can also download the GeoIP database yourself from Maxmind and overwrite the existing database.

Maxmind updates the GeoLite database every month.

Help it gives some error about not being able to download the GeoIP database?

Follow the instructions on screen. It will probably tell you that you have to manually download the GeoIP database from Maxmind from the following url:

http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

If you also need IPv6 you can download the IPv6 database on the following url:

http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz

It will also give you the location it expects the GeoIP.dat file. So go ahead and download it and unzip the file.

Afterwards upload it to this specific location with for instance FTP,SFTP or FTPS.

Why does downloading the GeoIP.dat.gz fail?

For instance Maxmind limits the number of downloads per day. They do this by IP address so if you or somebody else who has a website at the same server your site is running on already downloaded the new database you may be blocked for 24 hours by MaxMind. If you are blocked because of too many requests this plugin tries to detect it and display an error message that you should try again later. So no worries try a day later again.

Other possible faults are your webhosting company not allowing downloads on HTTP port 80.

If your download fails try to download it from home or work and upload it via FTP,sFTP or FTPS to the location that is displayed.

I get "Cannot modify header information - headers already sent" errors

This is possible if another plugin or your template sends out header information before this plugin does. You can deactivate and reactivate this plugin, it will try to load as the first plugin upon activation.

If this does not help you out deselect "Send headers when user is blocked". This will no longer send headers but only display the block message. This however will mess up your website if you use caching software for your website.

What data get sends to you when I select "Allow tracking"?

If you select this option each hour the plugin checks if it has new data to send back to the central server.

This data consists of each IP address that has tried to login to your backend and how many attempts were made since the last check.

Goal of this feature is to check if we can create a user-driven database of rogue IP addresses that try to login to the backend. If this is viable in a future version this database can be used to block these rogue users despite the country they come from.

If storing or sharing an IP address is illegal in your country do not select this feature.

Requires: 3.5.2 or higher
Compatible up to: 3.9.1
Last Updated: 2014-6-1
Downloads: 67,451

Ratings

3 stars
3.5 out of 5 stars

Support

7 of 10 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

1 person says it works.
0 people say it's broken.

67,3,2 50,2,1 100,1,1
50,2,1
100,3,3
100,1,1
100,1,1
0,3,0
0,1,0
100,1,1
0,1,0
100,2,2
0,1,0
0,2,0
50,4,2 100,1,1 67,3,2 100,1,1
67,3,2
100,1,1 25,4,1 100,1,1
100,2,2 100,1,1 100,1,1 100,1,1
100,2,2
0,1,0
0,1,0 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,2,2 100,2,2 0,1,0 100,1,1
100,1,1
100,1,1
100,2,2 100,1,1
100,1,1