Aujourd'hui nous allons voir comment créer un système de bannissement d'adresse IP pour votre site Internet. Avec la montée en flèche des attaques sur le web, il devient nécessaire d'instaurer un tel système. La plus part des hébergeurs offre un tel service, mais avec celui-ci vous serez en mesure de contrôler plus facilement cette problématique.
Conf.inc.php
Nous allons tout d'abord débuter par la page de configuration. Vous en avez peut-être déjà une sur votre site alors il suffira d'y inclure le code suivant. Cette page inclut donc la fonction de validation de l'IP ainsi que de la configuration de la base de données.
<?php
$db_user = ""; // Usager
$db_pass = ""; // Mot de passw
$db_database = ""; // Nom de la base de donnée
$db_host = ""; // Serveur
$db_connect = mysql_connect ($db_host, $db_user, $db_pass); // Connexion à la base de données
$db_select = mysql_select_db ($db_database); // Sélection de la base de données
// IP Vérification
function is_banned($ip) {
$q = mysql_query("SELECT * FROM 'ban' WHERE 'ip' = '$ip'") or die(mysql_error()); // Recherche dans la BD si l'adresse IP a été banni.
$rows = mysql_num_rows($q); //
if ($rows > 0) { // Si le résultat est plus grand que 0
$banned = true; // L'usager est banni.
} else {
$banned = false; // L'usager n'est pas banni.
}
return $banned;
}
?>
$db_user = ""; // Usager
$db_pass = ""; // Mot de passw
$db_database = ""; // Nom de la base de donnée
$db_host = ""; // Serveur
$db_connect = mysql_connect ($db_host, $db_user, $db_pass); // Connexion à la base de données
$db_select = mysql_select_db ($db_database); // Sélection de la base de données
// IP Vérification
function is_banned($ip) {
$q = mysql_query("SELECT * FROM 'ban' WHERE 'ip' = '$ip'") or die(mysql_error()); // Recherche dans la BD si l'adresse IP a été banni.
$rows = mysql_num_rows($q); //
if ($rows > 0) { // Si le résultat est plus grand que 0
$banned = true; // L'usager est banni.
} else {
$banned = false; // L'usager n'est pas banni.
}
return $banned;
}
?>
Voyons maintenant comment implanter le code dans vos pages.
Index.php
Nous allons donc comme exemple, implanter le code de vérification dans notre index.php, soit notre page principale.
<?php
include("conf.inc.php"); // Inclusion de la connexion à la base de données
if (is_banned($_SERVER["REMOTE_ADDR"])) { // Validation de l'adresse ip
echo "Erreur: Votre adresse IP a été banni de nos serveurs!"; // L'usager est banni
exit();
}
?>
include("conf.inc.php"); // Inclusion de la connexion à la base de données
if (is_banned($_SERVER["REMOTE_ADDR"])) { // Validation de l'adresse ip
echo "Erreur: Votre adresse IP a été banni de nos serveurs!"; // L'usager est banni
exit();
}
?>
Voilà! Ce script est très simple à mettre en place. Vous pourrez par la suite vous créer des pages afin de gérer les IP ; ajout, suppression et modification.
Marquer favoris
Bookmark
Email This
Hits: 359
Commentaires (2)

Ecrit par Furious, juin 23, 2008
J'avais déjà fait un système anti-flood grâce à la même méthode, mais je me suis vite aperçu que ça ne fonctionnait qu'à moitié. Maintenant je ne met pas en doute votre système car je ne l'ai pas testé, mais selon moi, la meilleure façon de bannir une IP reste le .htaccess.
Qu'en ditez-vous ?
Qu'en ditez-vous ?
Ecrivez un commentaire





















