Script anti aspirateur sans bdd

Soyez le premier à donner votre avis sur cette source.

Vue 15 439 fois - Téléchargée 742 fois

Description

salut tout le monde
mon premier script php poster sur phpsc.com
je me suis inspirer de plusieur script.
Voici un script anti aspirateur en php
ce script empeche les aspirateur de site indesirable

en cree un fichier .htaccess a la racine de votre site qui bannira les ip indesirable
avec la commande deny from $REMOTE_ADDR //$REMOTE_ADDR = adresse ip

se script vous avertie par mail d'une attaque avec plus de precision
heure, adresse ip, nom du dns, methode utiliser, navigateur utiliser

ce script cree aussi un journal devenement apeller ip.txt

Source / Exemple :


/*code html liens invisible a METRE TOUT EN HAUT DE LA PAGE (ses le premier lien que vera l'aspirateur)*/

<a href="nolink.php"></a>
<a href="nolink.php"></a>
<a href="nolink.php"></a>
<a href="nolink.php"></a>
<a href="nolink.php"></a>
<a href="nolink.php"></a>

//nolink.php
  
<?php

//Definie les variables dans une array
//TODO mettre dans un fichier..

$bots = array("Googlebot/2.1 (+http://www.google.com/bot.html)","msnbot-media/1.0 (+http://search.msn.com/msnbot.htm)",

"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",

"Googlebot/2.1","msnbot/1.0","msnbot/0.3",

"Yahoo! Slurp",

"VoilaBot BETA 1.2",

"ZyBorg/1.0","Mozilla/4.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)",

"Mozilla/4.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net http://www.WISEnutbot.com)",

"FAST-WebCrawler/3.6 ","FAST-WebCrawler/3.7/FirstPage",

" FAST-WebCrawler/3.8",

"DeepIndex"," Mozilla/2.0 (compatible; Ask Jeeves/Teoma)

","Ask Jeeves/Teoma",

"appie 1.1 ","Gigabot/1.0","HenriLeRobotMirago

","psbot","Szukacz/1.5 ",

"Openbot/3.0","Openfind data gatherer","dloader(NaverRobot)/1.0","

Googlebot/2.1","msnbot/1.0 (+http://search.msn.com/msnbot.htm)",

"Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)",

"Mozilla/5.0 (compatible; Yahoo! DE Slurp; http://help.yahoo.com/help/us/ysearch/slurp)","

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)",

"Octora Beta - www.octora.com","Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;)","Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4","Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Crazy Browser 1.0.5)","Googlebot-Image/1.0","Evaal/0.7.1 (Evaal; http://search.evaal.com/bot.html; bot@evaal.com)");

$user = $_SERVER['HTTP_USER_AGENT'];

if (in_array($user, $bots) ) //Si le user agent n'est pas definit dans l'array

{

	exit;  //Si il et dans la liste un quit le script

}

else
{

	//Si le user agent n'est pas dans la liste on le bannie

	$adresseip= $_SERVER['REMOTE_ADDR'];

	$fichier = fopen(".htaccess", "a");

	fputs($fichier,"deny from ");             

	fputs($fichier, $_SERVER[REMOTE_ADDR]."\n");        

	fclose($fichier);        

	$host = gethostbyaddr($REMOTE_ADDR);       

	$ladate  =  date ("  d M Y, G:i:s "); 

	$fichier = fopen("ip.txt", "a");

	fputs($fichier,"$ladate. ");            

	fputs($fichier,$adresseip. " ");      

	fputs($fichier, "dns $host \n ");       

	fclose($fichier);          

	include ("mail.php");

}                   

?>

//mail.php

<?php

$ladate  =  date ("   d M Y, G:i:s ");

$to = "e-mail..";

$remaddr = $_SERVER['REMOTE_ADDR'];

$remreq = $_SERVER['REQUEST_URI'];

$remmeth = $_SERVER['REQUEST_METHOD'];

$usragnt = $_SERVER['HTTP_USER_AGENT'];

$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);

$provenance = $_SERVER['HTTP_REFERER'];

$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

$from = "email...";

$msg .= "L'URL demandé : $remreq \n";         

$msg = "Subject: Un aspirateur a detecter\n";

        $msg .= "L'adresse IP : $remaddr a été bloquée le $ladate \n";

        $msg .= "L'URL demandé : $remreq \n";

        $msg .= "Navigateur utilisé : $usragnt \n";

        $msg .= "Méthode utilisée : $remmeth \n";

        $msg .= "Nom de domaine : $host \n";

        $msg .= "Provenance : $provenance \n";

        $msg .= "Langue : $lang \n";

mail($to, "Aspirateur", $msg);

?>

Conclusion :


mon script sera mise a jour

j'ai eu aucun probleme avec ce script

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
37
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
17 octobre 2012

Salut kiki,

Merci beaucoup pour ce script.
Franchement continues comme ça.
Et hésites pas à nous faire par de tes mises à jours.
bon courage
Messages postés
313
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
Merci pour ton commentaire,

VVV => Oui je vais le mettre plus facile d'accès avec un fichier :)

Pour l'include mail.php ,c'est le serveur qui l'inclu et non le client donc si je le mais au milieu ou a la fin aucune importance c'est que a la fin du script que le serveur envoye la page au client

Voilàà ++
Messages postés
40
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
15 juin 2009

L'idée de bannir des "mauvais" bots est très ingénieuse.
Je te félicite pour ce concept.
N'oublie pas cependant de modifier la fin de ton script : include ("mail.php"); ne fonctionnera pas puisque le script vient de bannir l'IP du bot ;-)
Il faut simplement le placer au début...

Autre amélioration qui je pense serait intéressante : prévoir deux listes : un fichier de mise à jour des bons et des mauvais bots.

Bravo, et bon courage :-)
Messages postés
46
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
25 février 2009

bnjour,
moi aussi je ss debutante en php ,je trouve que ce script est vraiment geniale surtout pour un debutant ,mais vraiment je te felecite mon ami kiki
je te souhaite bonne continuation avec ce language et n'hesite pas de repondre à vous commentaire
Messages postés
8
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2007

bonjour,
je ne suis pas tres programmeur, mais le petit prodige qui a fait ce programme est mon ami, je suis fiere de lui.

j'espere qu'il va tres vite evoluer et devenir une reference, pkoi pas lol, allez bon courage KIKI.
Afficher les 17 commentaires

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.