begin process at 2010 03 21 07:24:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > SCRIPT ANTI ASPIRATEUR SANS BDD

SCRIPT ANTI ASPIRATEUR SANS BDD


 Information sur la source

Note :
7,14 / 10 - par 7 personnes
7,14 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :script, antiaspirateur Niveau :Débutant Date de création :28/01/2007 Date de mise à jour :29/04/2009 17:53:42 Vu / téléchargé :8 709 / 538

Auteur : kiki67100

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 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

  • /*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);
  • ?>
/*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


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   ANTI_ASPIRATEUR

Télécharger le zip


 Historique

28 janvier 2007 15:50:18 :
ajout dun fichier
08 février 2007 15:28:50 :
adresse e-mail personnel
27 février 2007 16:57:02 :
Mise a jour de pratiquement tous le script script pour detecter les moteur de recherhcer pour quil doi bannie
28 février 2007 09:24:20 :
Enlever balise referencement
13 avril 2007 09:44:25 :
rejoue de plusieur user agent via http://www.robots.darkseoteam.com/
13 avril 2007 09:48:44 :
mise a jour du zip
13 avril 2007 09:51:28 :
modife du code
07 mai 2007 10:01:33 :
Rajout code pour avoir adresse ip meme derrirère proxy
29 avril 2009 17:53:43 :
J'avais oublier d'enlever mon e-mail dans un fichier..

 Sources du même auteur

Source avec Zip Source avec une capture PETIT CLIENT + AJAX + PHP
INCLUDE "SECURISÉ" VIA FICHIER INI FACILEMENT EDITABLE
Source avec Zip NAVIGATEUR FTP
Source avec Zip Source avec une capture EXPLORATEUR DE FICHIER PHP
CHECK MSN VERIFIE SI UNE PERSONNE EST CONNECTÉ SUR MSN

 Sources de la même categorie

Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip POO - DEBUGGER par DiGhan
Source avec Zip CRAWLER DE SITE EN PHP par Mcjo
DÉCOUPAGE D'UN TEXTE EN FONCTION DES SAUTS DE LIGNES par biloubil
RÉCUPÉRER LE CHEMIN RELATIF D'UN OBJET PAR RAPPORT À LA RACI... par FredPsy

 Sources en rapport avec celle ci

Source avec Zip PHPMYSITEWEB par toughzaa
Source avec Zip RESERVATION EN LIGNE DE GITE par gochardl
Source avec Zip PHOENIX INTERPRETOR par windows972
Source avec Zip Source avec une capture SCRIPTE DE MOT DE PASSE par Staify
EXECUTER UN SCRIPT LONGUE DURÉE SANS LIMITATION DU SERVEUR par MadM@tt

Commentaires et avis

Commentaire de slaxswf le 28/01/2007 16:09:37

Il faut revoir ton script.

1. <meta name="robots" content="nofollow"> =>> si je met çà, mon site n'est plus référençable ;
2. fopen() => Cette fonction n'est pas activée sur tout les serveurs web ;
3. Je ne vois pas ce qui empêche l'aspiration du site web après un test de ton script

A revoir ;)

Commentaire de kiki67100 le 28/01/2007 20:37:21

oui ses vraix que je me suis tromper mais mon script bloque les aspirateur moi il marche tres bien sur mon site

car l'aspirateur regarde tous les liens il vas tomber sur nolink.php
et il va le bloquer via deny from ladresse ip

Commentaire de slaxswf le 28/01/2007 22:42:07

oki !

Pour ma part, le script ne fonctionne pas chez free et sur mon datacenter. L'aspirateur regarde tous les liens il vas tomber sur nolink.php => mais tu as oublié les robots comme pour ton nofollow. Car si google passe sur nolink.php, le robot d'indexation va le bannir.

En clair, ton script doit changer de procéder ;)

Commentaire de neolien le 29/01/2007 15:11:16

Hy,

Tous a fair d'accord avec slaxswf, ce script est mal pensé car il nuit au référencement donc il n'intéressera aucun webmaster digne de ce nom !

Donne nous l'adresse du site qui est en production pour tester l'aspiration car tu as l'air bien sur de ton fait !

De plus dans le fichier robots.txt (et non pas robot.txt qui ne fonctionne pas), comme tu dois enlever <meta name="robots" content="nofollow">, comment prévoir que le robot va d'aborb scanner la page nolink.php avant les autres, parceque toutes celles lues avant seront aspirées !!

je ne mets pas de note pour l'instant en espérant que tu revois ta copie !

Bon courage car un script de ce genre efficace à 100% et qui ne nuit pas au référencement, c'est très coton !

Commentaire de coucou747 le 30/01/2007 17:05:14

l'idée du lien vide est plutot bonne, seulement google sera aussi banni (faut un if (!googlebot)) idem pour les yahoobots, et msnbot...

ce genre de choses...

Commentaire de kiki67100 le 30/01/2007 18:27:24

oui je cherche la commande et je vais la mise a jour merci coucou747

Commentaire de kiki67100 le 01/02/2007 17:01:58

Merci a tous pour vous commentaire
mais je debute en php et je ne sais pas ses quoi la commande if (!googlebot)) pourier vous me l'apprendre Merci

Commentaire de coucou747 le 02/02/2007 12:17:24

... le bot google laisse un HTTP_REFER différent des autres navigateurs internet... faut donc faire print_r($_SERVER); pour lire les informations serveurs, et voir avec googlebot ce que ça renvoi (j'ai pas ça en tête)

Commentaire de neolien le 04/02/2007 10:32:22

En fait on peut utiliser le USER AGENT qui donnerais une condition du style :
if(strstr($_SERVER['HTTP_USER_AGENT'], "Googlebot"))... mais certains robots des grands moteurs utilisent des ip différents et un user agent anonyme, donc le top serait de pourvoir passez par les ip, à ce propos voici un lien intéressant : http://www.actulab.com/identification-des-robots.php

Commentaire de bersyl91 le 05/02/2007 11:02:43

Le principe de ton script est intéressant.

Pour t'aider, je te propose de créer carrément un honeypot dans un sous-répertoire.
Ainsi, un simple Disallow dans robots.txt te permettra de faire le tri entre les "honnêtes" robots et les aspirateurs.
Dans ton répertoire, tu mets ta page avec le href.

Ce n'est pas une protection intégrale, bien sûr, mais c'est simple et d'assez bon goût, je trouve.


(Ah oui, $REMOTE_ADDR est obsolète, il vaut mieux utiliser désormais $_SERVER[REMOTE_ADDR]...)

Commentaire de kiki67100 le 26/02/2007 13:24:29

MERCI

je suis en train de travailler sur le script merci Neolien pour le if(strstr  je vais faire passer les user agent avec le if

je vais bientot le mettre a jour

Commentaire de kiki67100 le 27/02/2007 16:58:56

Voila jai completement revu mon script je vous rapelle que je suis un debutant alors cette nouvelle mise a jour et bien

Commentaire de merwanne le 17/05/2007 02:38:01

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.

Commentaire de miss fafa le 17/07/2007 17:53:32

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

Commentaire de VVV le 01/01/2008 16:11:39 7/10

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 :-)

Commentaire de kiki67100 le 08/02/2008 01:14:58

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àà ++

Commentaire de bobobo le 21/02/2008 08:14:21

Salut kiki,

Merci beaucoup pour ce script.
Franchement continues comme ça.
Et hésites pas à nous faire par de tes mises à jours.
bon courage

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Mail et recup [ par H@lloWin___HiA ] SalutJe sais envoyé un mail avec un script PHP sur un serveurMais peut on envoyer un mail depuis un script qui serait ds localhost (easy php)Le proble Salut je veux ce script..... [ par KoSMeD ] salut tous le monde je veux telecharger le forum vbultein en français Cherche script pour avertir que le webmaster en ligne [ par CBF ] Bonjour,Je cherche script pour avertir que je suis en ligne, en ayant précédement rentrée mon adresse IP dans un fichier TXT.Si qlq a trouvé se genre Recherche script php [ par Xavier ] Bonsoir à tous, Je recherche un script comme présenté ici :http://www.toutestfacile.com/phpinit.php?tef_site=php&common=scripts/indexpour mettre sur m sos, qui peut m'aider à trouver un script "mailing liste" [ par pascal ] Merci de me répondre, c urgent !!! Est il possible de remplacer un java script par php pour un lien... [ par AxL ] Est il possible de remplacer un java script par php pour faire un lien qui ouvre une nouvelle fenetre sans les menus, les resize, la barre de titre .. Cherche script zone membre ! [ par jbrek ] Je cherche un script zone membre en PHP et en base de donnée mySQL (si possible) :Il faudrait :- une confirmation de mot de passe dans le formulaire d Conception de script [ par Nimitz ] Je voudrai savoir si quelqu'un était d'accord pour travailler bénévolement pour ce site http://nimitz3d1.free.fr pour faire quelques scripts en php, v pb copy : Warning: Unable to access d:/text.bmp in your script on line 2 [ par Stephane ] salutj'ai un script pour uploader un fichier chez free, mais quand il va pour me l'uploader il dit :Warning: Unable to access d:/text.bmp in your scri aide script de messagerie interne [ par nova ] salut à tousdébutante en php (enfin pas tant que ça) mais surtout par rapport àl'interfacage avec mysql j'aimerais construire une messagerie interne p


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales