Ce bout de code sert à empêcher l'accès au serveur à toute personne: mal intentionnée (arnaque nigérianne, spammer, visiteur originaire d'un pays non concerné par le contenu de votre site, etc...). ce script est utilisé sur un serveur de rencontres est a été écrit pour empêcher l'accès aux scammers principalement originaires d'Afrique. La liste de filtrage est mise à jour au fil de l'eau et la détection des attaques.
Pour en savoir plus sur le scamming:
http://nigeria419.over-blog.com/
Source / Exemple :
1) il faut définir une liste des adresses IP interdites d'accès, exemple de liste:
<?
$interdit[]="213.150.208.";
$interdit[]="213.150.209.";
$interdit[]="213.150.210.";
$interdit[]="213.150.211.";
$interdit[]="213.150.212.";
$interdit[]="213.150.213.";
$interdit[]="213.150.214.";
?>
Pour noter cas, cette liste est placée dans un fichier nommée interdits.inc
Le niveau de filtrage dépend directement de la précision des adresses IP inséré dans la liste. Exemples:
$interdit[]="213.150.213.225"; // interdit l'accès à l'adresse IP 213.150.213.225
$interdit[]="213."; // interdit l'accès à l'adresse à tout accès IP commençant par 213
Avant d'insérer un fitrage trop général (cas du second exemple), assurez-vous que vous n'empêchez pas accidentellement l'accès à un sous-groupe qui devrait y accéder normalement.
Voici le script à placer dans la page d'accueil du site à "protéger":
<?
if(isset($_SERVER["REMOTE_ADDR"])) // Si on peut déterminer l'adresse IP
{
$adresse_ip = $_SERVER["REMOTE_ADDR"];
include("liste_interdits.inc");
foreach($interdit AS $key => $val) {
if (substr($adresse_ip,0,strlen($val))==$val)
{
print("<H2>Error 404</H2>Server error in module connect.cnt");
die();
}
}
}
?>
Le script affiche un bête message d'erreur, libre à vous d'adapter selon votre inspiration. De même, ce script peut être adapté pour autoriser l'accès à certaines sections à un groupe limité de personnes (si ces personnes disposent d'une adresse IP fixe...).
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.