Pourquoi interdire l’accès de votre site par pays ?
Vous subissez, peut être, des attaques par l’envoi massif de commentaires en Chinois ou une autre langue et êtes envahi de questions en provenance de pays, qui, disons le franchement, ne sont pas concernés par votre site Web.
Outre le temps que cela prend de supprimer ces commentaires, ces attaquent peuvent nuire à votre référencement en perturbant vos statistiques de vues dans Googe Analytics.
En voici un exemple:
Sans ces « personnes » qui se perdent sur mon site le taux de rebond serait plus bas.
Comment vérifier si votre site est attaqué ?
Une connexion régulière de maintenance de votre site doit vous permettre de vérifier cela.
Votre site n’a pas besoin d’avoir une notoriété importante, pour subir un assaut de ce genre. Un site que j’avais réalisé avec WordPress, à peine mis en ligne comptabilisait déjà plus de 200 commentaires en mandarin ou une langue approchante… commentaires qu’il a fallu supprimer patiemment.
Voici quelques traces:
Cela dit, après l’installation de Akismet, (http://akismet.com/) mon site WordPress était en paix. Mis à part quelques rares tentatives de personnes ayant beaucoup de temps à perdre…
Mais sans maintenance régulière ces phénomènes peuvent s’aggraver et les commentaires envahir votre espace aloué … et aboutir à la fermeture de votre site par l’hébergeur.
Pourquoi votre site? Peut être justement parce que votre site est petit et par conséquent il est peut être mal surveillé, où que vous avez à faire à une école de Hackers en Chine… Mais qu’importe la raison, il faut prendre cela au sérieux. Car les éditeurs de contenu, Joomla, WordPress, Drupal, etc… ont leurs failles et elles sont en permanence attaquées parce que ces éditeurs sont populaires.
Comment interdire l’accès à mon site Web à un pays ?
Il existe plusieurs façon de procéder, interdire le pays dans son ensemble ou interdire les adresses IP du pays. A mon avis, ajouter une longue liste d’adresses IP est une perte de temps.
Il faut directement bloquer le pays.
Ajoutez dans votre fichier .htaccess présent à la racine de votre site, les lignes suivantes en fonction du code pays visé :
SetEnvIf GEOIP_COUNTRY_CODE RU DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE CN DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE SG DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE VN DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE DZ DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE TN DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE MA DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE VN DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE IN DenyCountry
SetEnvIf GEOIP_COUNTRY_CODE CL DenyCountry
Allow from all
Deny from env=DenyCountry
Vous trouverez la liste des codes pays ici: https://en.wikipedia.org/wiki/ISO_3166-1
Précautions à prendre.
Votre hébergeur doit avoir installé le module Apache GeoIP. Ce qui est le cas chez OVH, par exemple.
Bien entendu prenez soin de bien tester cela une fois mis en place.
Inconvénients.
Si vous voyagez et que vous allez dans ces pays, vous serez également bloqué ! Tout comme les français résidents dans ces pays et potentiellement intéressés par votre site .
En résumé.
Cette solution du tout ou rien n’est à utiliser qu’en cas de dernier recours… il y a d’autres moyens d’ajuster et de corriger les failles de votre site, comme par exemple mettre régulièrement à jour les composants de votre site, templates extensions etc…
Pascal Bazzea – 09/09/2015 – 12/03-2023