20 Mars 2011
Bloquer dynamiquement des IP hack et stocker ces IP dans des fichiers - PHP Sources
Compatibilité : PHP 4, PHP 5
Il faut installer un script zippé au préalable puis remplacer la fonction controle_ip() par celle que nous vous donnons.
IMPORTANT
97% des hacks viennent de la RUSSIE et de la CHINE
Pour bloquer ces 2 pays :
Ouvrez votre fichier .htaccess et ajouter ces lignes :
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
Deny from env=BlockCountry
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CN|RU$
RewriteRule .* - [F]
Revenons au code plus bas, qui est simple car il faut juste mettre les adresses ip à interdire dans un tableau, ou sinon, vous avez l'option de les mettre dans un fichier texte. Dans ce cas enlever les commentaires de la ligne $ip_blacklist = file('ip_blacklist.txt'); et enlever le tableau du haut et installer votre lecture de fichier à la place, attention dans ce cas ils vous faudra passer le fichier dans un tableau au préalable.
Ce code est a placer toujours en haut de vos scripts. A vous de mettre le message d'erreur que vous convient, en voici un autre clair et net: "dégagez, vous n'avez rien a faire la!!", enfin soyez pas trop dur quand meme bien que le hack, spam and co c'est toujours de trop.
|
php.net | Description | Versions PHP | OUTIL |
---|---|---|---|
array | Crée un tableau | PHP 4, PHP 5, PHP 7, PHP 8 | |
array_search | Recherche dans un tableau la clé associée à une valeur - (PHP 4 >= 4.0.5, PHP 5, PHP 7) | PHP 4, PHP 5, PHP 7, PHP 8 | |
echo | Affiche une chaîne de caractères | PHP 4, PHP 5, PHP 7, PHP 8 | |
exit | Affiche un message et termine le script courant | PHP 4, PHP 5, PHP 7, PHP 8 | |
isset | Détermine si une variable est affectée | PHP 4, PHP 5, PHP 7, PHP 8 | |
trim | Supprime les espaces (ou d'autres caractères) en début et fin de chaîne | PHP 4, PHP 5, PHP 7, PHP 8 | |
Il faut installer un script zippé au préalable puis remplacer la fonction controle_ip() par celle que nous vous donnons.
Ce code est une fonction qui permet d'afficher des parties d'une adresse IP sous une forme partiellement anonymisée.
Le principe est simple, allez dans vos logs bruts de votre site... Quand tout est en place, dite au revoir aux spammeurs.
Cherche et trouve toute les adresses mails contenus dans le texte de votre choix et les place dans une tableau.
Extrait les adresses mails d'un fichier texte (html ou pas). Les adresses sont retournées sous forme de tableau.
KOogar
27 Oct 2023 à 10:57Pour le fichier txt, il faut replacer le résultat dans le tableau $ip_blacklist_file = file('ip_blacklist.txt'); $ip_blacklist = array($ip_blacklist_ file);
Invité
24 Oct 2023 à 19:42Je n'arrive pas à écrire correctement le fichier .txt. Il fonctionne avec une seule adresse IP. A la deuxiéme, le script ne fonctionne plus. J'ai essayé avec des virgules entre chaque, de le mettre entre ' '. Sans effet.
Administrateur
23 Avril 2020 à 06:09Ce code est a placer dans le header de votre site, pour qu'il prenne en compte toutes les pages de votre site.
Invité
22 Avril 2020 à 23:39Le soucis avec ceci, c'est que l'on bloque uniquement sur une page ou plusieurs mais pas sur l'intégralité des dossiers et fichiers d'un nom de domaine. Le htaccess reste la meilleure solution. Mais comment l'automatiser sans aller fouiller dans le fichier et rajouter à chaque fois l'ip ?
Invité
17 Jan 2020 à 10:55Merci Bravo bonne continuation excellent travail.