Snippet : bloquer les IP suspectes en PHP
Apprenez à bloquer facilement des adresses IP suspectes en PHP pour protéger votre site contre le spam, les attaques ou les robots malveillants.
Pourquoi bloquer certaines adresses IP
Sur un site web, certaines IP peuvent devenir problématiques.
Par exemple :
- bots spammeurs
- attaques brute force
- tentatives de scraping
- requêtes abusives
Bloquer ces adresses IP permet de protéger votre site et d’éviter des abus.
C’est une méthode simple mais efficace pour améliorer la sécurité.
Principe du blocage d’IP
Le principe est simple :
- récupérer l’adresse IP du visiteur
- vérifier si elle est dans une liste noire
- refuser l’accès si l’IP est bloquée
Snippet PHP pour bloquer des IP
<?php
$blocked_ips = [
"192.168.1.10",
"203.0.113.45",
"185.220.101.5"
];
$user_ip = $_SERVER['REMOTE_ADDR'];
if (in_array($user_ip, $blocked_ips)) {
die("Accès refusé.");
}
?>
Comment fonctionne ce code
Liste des IP bloquées
$blocked_ips C’est un tableau contenant les adresses IP interdites.
Récupération de l’IP du visiteur
$_SERVER['REMOTE_ADDR'] Cette variable contient l’adresse IP de l’utilisateur.
Vérification de l’IP
in_array() La fonction vérifie si l’IP du visiteur est dans la liste noire.
Si c’est le cas, l’accès est bloqué.
Bloquer une plage d’IP
Il est aussi possible de bloquer un réseau entier.
Exemple simple :
if (strpos($user_ip, "192.168.1.") === 0) {
die("Accès bloqué.");
} Cela bloque toutes les IP commençant par :
192.168.1.* Améliorations possibles
Pour un système plus avancé, vous pouvez :
- stocker les IP bloquées dans une base de données
- bloquer automatiquement après plusieurs tentatives
- enregistrer les IP suspectes dans un log
- combiner avec un système anti-spam
Conclusion
Bloquer les IP suspectes est une technique simple pour protéger un site web contre certaines attaques ou comportements abusifs. Avec quelques lignes de PHP, il est possible de filtrer les visiteurs et renforcer la sécurité de votre plateforme.
#php #snippet #securite #webdev #cybersecurite #developpementweb #protection
