Bloque des adresses IP indésirables

  Information

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.

  code source classé dans  Sécurité

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
 30    
 31    
 32    
 33    
 34    
 35    
 36    
 37    
 38    
 39    
                               
<?php
/*---------------------------------------------------------------*/
/*
    Titre : Bloque des adresses IP indésirables                                                                          
                                                                                                                          
    URL   : https://phpsources.net/code_s.php?id=630
    Auteur           : azursante                                                                                          
    Date édition     : 20 Mars 2011                                                                                       
    Date mise à jour : 13 Aout 2019                                                                                      
    Rapport de la maj:                                                                                                    
    - fonctionnement du code vérifié                                                                                    
    - modification de la description                                                                                      
    Date mise à jour : 05 Mai 2022                                                                                       
    Rapport de la maj:                                                                                                    
    - modification de la description                                                                                      
*/
/*---------------------------------------------------------------*/

    $ip_blacklist array('127.0.0.1','xxx.xxx.xxx.x','xxx.xxx.xxx.x');
 
    // vous pouvez mettre les ips dans un fichiers texte et les importer
    // $ip_blacklist = file('ip_blacklist.txt');
 
    // lecture de l'ip en cours
    $ip isset($_SERVER['REMOTE_ADDR']) ? trim($_SERVER['REMOTE_ADDR']) : '';
 
    // test si l'ip est blacklisté
    if ( array_search($ip$ip_blacklist) !== FALSE )
        {
        echo 'Votre IP '.$ip.' est interdite!';
        // stop le script
        exit;
    }

    // ici votre code habituel :)

 ?>

          Fonctions du code - Doc officielle PHP

   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

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

[5]

  • avatar

    KOogar

    27 Oct 2023 à 10:57

    Pour 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);

  • avatar

    Invité

    24 Oct 2023 à 19:42

    Je 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.

  • avatar

    Administrateur

    23 Avril 2020 à 06:09

    Ce code est a placer dans le header de votre site, pour qu'il prenne en compte toutes les pages de votre site.

  • avatar

    Invité

    22 Avril 2020 à 23:39

    Le 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 ?

  • avatar

    Invité

    17 Jan 2020 à 10:55

    Merci Bravo bonne continuation excellent travail.


 Autres snippets qui pourraient vous intéressez

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.

Anonymiser les adresses IP - PHP Sources

Compatibilité : PHP 5, PHP 7

Ce code est une fonction qui permet d'afficher des parties d'une adresse IP sous une forme partiellement anonymisée.

Anti spam PHP basé sur les adresses IP

Compatibilité : PHP 5, PHP 7

Le principe est simple, allez dans vos logs bruts de votre site... Quand tout est en place, dite au revoir aux spammeurs.

Extrait des adresses emails dans un texte

Compatibilité : PHP 5, PHP 7

Cherche et trouve toute les adresses mails contenus dans le texte de votre choix et les place dans une tableau.

Extrait les adresses emails d'un fichier texte avec PHP

Compatibilité : PHP 5, PHP 7

Extrait les adresses mails d'un fichier texte (html ou pas). Les adresses sont retournées sous forme de tableau.

Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

avatar

Azursante

  20 Mars 2011

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    13 Aout 2019
    fonctionnement du code vérifié
    modification de la description

    05 Mai 2022
    modification de la description

13 439 Vues
Compatibilité
PHP 5, 7 et 8+