Bloquer un pays sur mon WordPress ou VPS
|
Quand on a un site WordPress depuis quelque mois, on fini par avoir des SPAM et des mail envoyer par le formulaire de contacte. Dans la plus part des cas, c’est des site Russe, Chinois ou Africain vers les quels on est rediriger quand on clique sur les liens. Afin de réduire ce type de mail, on peut configurer des blocage d’adresse IP voir de pays. On va se concentrer sur le blocage complet des pays.
On part du principe que notre VPS tourne sous Ubuntu Server, on s’y connecte avec le terminal, Putty, Kitty ou PowerShell.
On met à jour la base de données des paquet Ubuntu avec les commandes suivante:sudo apt-get update; sudo apt-get upgrade -y
On Install le paquet libapache2-mod-geoip
avec la commande suivante:sudo apt install libapache2-mod-geoip
On édite le fichier geoip.conf
avec la commande nano
:sudo nano /etc/apache2/mods-available/geoip.conf
Le contenu du fichier devrait ressembler à ce qui suit mise à par que le GeoIPEnable
est sur off
dans le fichier original et qu’on doit remplacer off
par on
.
<IfModule mod_geoip.c>
# For performance reasons, it's not recommended to turn GeoIP on serverwide,
# but rather only in <Location> or <Directory> blocks where it's actually
# needed.
GeoIPEnable on
#GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>
On enregistre avec “Ctrl” + “x” , “y” , “Entrer”.
On vérifie si la configuration est correcte et on redémarre Apache avec les commande suivante:sudo apachectl configtest
sudo service apache2 restart
On va dans le dossier ou se trouve le site internet pour le quel on veut bloqué certain pays, comme par exemple: cd /var/www/html/MonSiteWeb
On édite le fichier .htaccess
avec la commande:sudo nano .htaccess
On ajoute à la fin du fichier:
<IfModule mod_geoip.c>
GeoIPEnable On
#</IfModule>
#<Location />
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
Deny from env=BlockCountry
</IfModule>
Dans cette exemple, on bloque la Russie et la chine. Quand une personne ou un robot voudra se connecter à notre site avec une adresse reconnu des ces deux pays, il aura une erreur 403.
On enregistre avec “Ctrl” + “x” , “y” , “Entrer”.
Les initiales des pays sont lister sur ce site: http://www.geonames.org/countries/
Elle sont classer et nommer sous la norme ISO-3166.
ATTENTION ! Il ne faut jamais mettre l’adresse IP du pays dans le quel on est. Si non on sera automatiquement bannie de la page internet à la quel on veut se connecter.
Pour faire les testes de cette configuration, on se connecte à notre site web à l’aide d’un VPN tel que TunnelBear, à partir d’un des pays configurer dans notre fichier .htacces
. Si tout est correctement configurer, l’erreur 403 devrait s’afficher.
mes sources: https://www.cloudbooklet.com/how-to-setup-geoip-block-using-apache/
http://www.geonames.org/countries/