Aperçu
Géo-Blocage vous permet de contrôler quels pays peuvent accéder à votre site WordPress. Chaque visite est géolocalisée par IP à l'aide d'une base de données GeoIP à jour. Selon votre configuration, vous pouvez bloquer (Blacklist) ou autoriser (Whitelist) des pays spécifiques.
Alors que Attack Protection bloque les vecteurs d'attaque (SQLi, XSS, LFI) et que d'autres règles bloquent les IP malveillantes, le Géo-Blocage filtre par nationalité géographique — peu importe si l'IP a un bon historique.
Ce qui le rend unique
- Filtre par pays, pas par IP individuelle
- Idéal pour les sites avec un public régional connu
- Complète les autres protections sans les remplacer
Quand l'utiliser
- Site régional qui n'opère que dans certains pays
- Attaques massives depuis des régions spécifiques
- Conformité réglementaire (RGPD, protection locale des données)
geo_blocking
Stratégie : Blacklist vs Whitelist
La première décision consiste à choisir entre deux stratégies mutuellement exclusives. Celle que vous choisissez détermine comment chaque visite est évaluée.
Blacklist (Recommandée)
Bloque uniquement les pays que vous sélectionnez. Le reste du monde peut accéder normalement.
✅ Idéal pour :
- Sites mondiaux souhaitant bloquer les régions à haut risque
- Risque plus faible de bloquer des visiteurs légitimes
Whitelist
Autorise uniquement les pays que vous sélectionnez. Tout le reste est bloqué.
✅ Idéal pour :
- Sites avec un public 100% régional (ex : Espagne uniquement)
- Sécurité géographique maximale
Modes d'Action
Une fois la stratégie définie, le mode détermine comment les visites qui tombent sous les règles sont traitées.
📊 Journalisation uniquement
Ne bloque rien. Enregistre chaque visite qui serait bloquée selon votre stratégie. C'est l'option recommandée au départ pour calibrer votre configuration sans risque.
🧮 Défi Mathématique
Affiche une page avec une addition simple (ex. 4 + 7 = ?) que le visiteur doit résoudre pour continuer. La page répond avec le statut HTTP 429. En cas de bonne réponse, il est laissé passer pendant 1 heure sans nouveau défi. En cas d'échec, il peut réessayer.
🚫 Blocage Direct
Bloque avec une page "accès refusé" (403 Forbidden). Pas de vérification ni de seconde chance. Utilisez-la uniquement lorsque vous êtes sûr de votre configuration, après validation en "Journalisation uniquement" et "Défi Mathématique".
🔒 Blocage Minimal
Aussi restrictif que le Blocage Direct (403), mais sans la page personnalisée : affiche uniquement le texte brut 403 Forbidden - Geo-Blocking. Utile si vous préférez ne montrer ni votre marque ni de détails au trafic bloqué.
Sélection des Pays
Le sélecteur de pays comprend environ 80 pays avec recherche en temps réel et sélection multiple. Vous pouvez taper pour filtrer ou cocher/décocher manuellement.
Raccourci pays à haut risque
Le bouton "+ Haut risque" coche automatiquement ces cinq pays à forte activité malveillante signalée :
geo_blocking.countries — Touche d'aide contextuelle pour le sélecteur de pays.
Contextes d'Application
Le Géo-Blocage peut être appliqué à différentes parties du site. Choisir le bon contexte est essentiel pour éviter les faux blocages dans les zones publiques.
🔒 wp-admin Recommandé
Applique le géo-blocage uniquement au panneau d'administration. Les visiteurs du front-end ne sont pas affectés. Idéal pour protéger l'accès admin sans impacter l'expérience publique.
🔑 Connexion / Inscription Recommandé
Protège les pages de connexion, d'inscription et de récupération de mot de passe. Arrête la création de comptes et les attaques par force brute depuis des pays indésirables.
📮 Requêtes POST
Applique le filtre uniquement aux requêtes POST (soumissions de formulaires, commentaires, achats). Les requêtes GET ne sont pas évaluées. Utile pour arrêter le spam dans les formulaires sans affecter la navigation.
🌐 Tout le trafic Risqué
Applique le géo-blocage à toutes les requêtes, y compris le front-end, les API, REST, cron, etc. Déconseillé sauf dans des cas très spécifiques (intranet, sites avec public 100% local).
Chemins d'exception
Vous pouvez définir des chemins exclus du géo-blocage. Utile pour les API publiques, les webhooks ou les pages qui doivent être accessibles mondialement. Prend en charge les jokers (*).
Journalisation & Suivi
Chaque événement de Géo-Blocage est enregistré dans le journal du pare-feu avec les informations suivantes :
📋 Informations enregistrées
- IP du visiteur
- Pays détecté
- Contexte (wp-admin, login, POST, all)
- URL demandée
- Action prise (Monitor, Challenge, Block)
📊 Comment utiliser les journaux
- Activez Monitor et attendez 48 heures
- Examinez quels pays apparaissent le plus dans les journaux
- Ajustez votre sélection de pays si vous voyez une activité légitime bloquée
- Passez en Challenge lorsque vous êtes satisfait
Limites
Le Géo-Blocage est un outil puissant, mais il a des limites importantes que vous devez connaître avant de l'implémenter.
🌍 Géolocalisation par IP
La géolocalisation est basée sur des bases de données GeoIP qui associent les adresses IP aux pays. Elle n'est pas précise à 100%. Une IP peut apparaître dans un pays voisin, changer de propriétaire ou être mal classée. La précision typique est de 95 à 99% pour les pays, mais peut être inférieure pour les IP mobiles ou les entreprises multinationales.
🔓 Contournement VPN / Proxy
Tout visiteur utilisant un VPN, un proxy ou le réseau Tor peut falsifier son pays d'origine. Le Géo-Blocage ne détecte ni ne bloque automatiquement les VPN. Un attaquant dans un pays bloqué peut choisir un serveur VPN dans un pays autorisé et contourner la restriction. C'est la limitation la plus importante du géo-blocage.
📡 Base de données GeoIP
Le plugin utilise une base de données GeoIP locale mise à jour périodiquement. Si la base de données est obsolète, certains pays peuvent être mal classés ou de nouvelles IP peuvent manquer. Les mises à jour automatiques ont lieu une fois par mois, mais dépendent de la connectivité du serveur avec seensecure.com.
📱 IP partagées / CDN
Les visiteurs derrière un CDN (Cloudflare, Akamai) ou avec des IP partagées (opérateurs mobiles, NAT) peuvent afficher le pays du CDN ou de la passerelle, pas leur emplacement réel. Si vous utilisez Cloudflare, le plugin détecte l'en-tête CF-IPCountry pour une meilleure précision.