Script php Anti aspirateur.

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Renardrouge, 27 Janvier 2003.

  1. Citrouille
    Citrouille Nouveau WRInaute
    Inscrit:
    24 Septembre 2005
    Messages:
    20
    J'aime reçus:
    0
    Bonjour

    Je suis nouveau sur ce forum.J'ai pas mal fait le tour du sujet mais j'ai pas tout compris donc j'éspère que vous m'eclaircirez plus pour un débutant.

    J'ai pense avoir compris que pour empecher les anti aspirateurs il fallait :

    - un .htaccess
    - Un script ( robots.txt )


    Si c'est cela je continue.

    Pour le - un .htaccess il faut mettre :

    Code:
    # ATTENTION LISTE DES USER_AGENT NON VERIFIEE
    # Voir http://www.toulouse-renaissance.net/c_outils.htm
    # Version compacte
    #
    RewriteCond %{HTTP_USER_AGENT} ADSARobot|Anarchie|ASPSeek|Atomz|BackWeb|Bandit|BatchFTP|BlackWidow|Boston\ Project|BravoBrian\ SpiderEngine\ MarcoPolo|capture|ChinaClaw|CICC|Crescent\ Internet\ ToolPak|Custo|cyberalert|Digger|Digimarc|DIIbot|DISCoFinder|Download\ Demon|Download\ Wonder|Downloader|Drip|DSurf15a|EasyDL|efp@gmx\.net|Email\ Extractor|EirGrabber|EmailSiphon|Express\ WebPictures|EyeNetIE|FavOrg|FileHound|FlashGet\ WebWasher|FlickBot|GalaxyBot|GetRight|GetSmart|GetWeb!|gigabaz|GornKer|GrabNet|Grafula|Green\ Research|hloader|HMView|HomePageSearch|httpdown|http\ generic|IBM_Planetwide|Image\ Stripper|Image\ Sucker|imagefetch|InterGET|Internet\ Ninja|InternetLinkAgent|InternetSeer\.com|Iria|Irvine|JBH*Agent|JetCar|JOC|JOC\ Web\ Spider|JustView|Lachesis|LeechFTP|LexiBot|lftp|libwww|Link*Sleuth|LINKS\ ARoMATIZED|LinkWalker|lwp-trivial|Magnet|Mac\ Finder|Mag-Net|Mass\ Downloader|MIDown\ tool|Missigua\ Locator|MMMtoCrawl\/UrlDispatcherLLL|^Mozilla$|MSProxy [OR]
    RewriteCond %{HTTP_USER_AGENT} Navroad|NearSite|Net\ Vampire|NetAnts|NetMechanic|NetSpider|NetZIP|NetZip\ Downloader|NetZippy|NPBot|Octopus|Openfind|PageGrabber|Papa\ Foto|PersonaPilot|pcBrowser|PingALink|Pockey|Proxy|psbot|Pump|QRVA|RealDownload|Reaper|Recorder|ReGet|RPT-HTTPClient|SearchExpress|Second\ Street\ Research|Seeker|SiteSnagger|SlySearch|SmartDownload|SpaceBison|SqWorm|Stripper|Sucker|SuperBot|SuperHTTP|Surfbot|Szukacz|tAkeOut|TV33_Mercator|URL_Spider_Pro|Vacuum|VoidEYE|Web\ Downloader|Web\ Image\ Collector|Web\ Sucker|WebAuto|Webclipping|Webdup|WebFetch|WebGo\ IS|WebHook|Webinator|WebLeacher|WebMirror|WebReaper|WebSauger|Website\ eXtractor|Website\ Quester|Webster|WebStripper|WebWhacker|WebZIP|Wget|Widow|Wweb|WWWOFFLE|Xaldon\ WebSpider|x-Tractor|Yandex [OR]
    RewriteCond %{HTTP_USER_AGENT} ah-ha|aktuelles|amzn_assoc|ASSORT|ATHENS|attach|attache|autoemailspider|bdfetch|big.brother|bmclient|Bullseye|bumblebee|clipping|Crescent|Deweb|diagem|disco|DTS.Agent|ecollector|fastlwspider|Favorites\ Sweeper|Fetch|FEZhead|fluffy|Generic|Getleft|GetWebPage|Girafabot|go-ahead-got-it|Grabber|Harvest|hhjhj@yahoo|IncyWincy|informant|Ingelin|KWebGet|larbin|likse|LWP|MCspider|Mirror|Mister\ PiX|multithreaddb|nationaldirectory|NetCarta|netprospector|NetResearchServer|NEWT|nicerspro|OpaL|OpenTextSiteCrawler|OrangeBot|PackRat|pavuk|PSurf|puf|PushSite|replacer|RepoMonkey|Robozilla|Rover|Rsync|searchhippo|searchterms\.it|Shai|sitecheck|snagger|Spegla|SpiderBot|SurfWalker|tarspider|Templeton|TrueRobot|UIowaCrawler|UtilMind|vagabondo|vayala|visibilitygap|vspider [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} w3mir|web\.by\.mail|Web\ Data\ Extractor|webcollector|webcraft@bea|webdevil|webdownloader|WEBMASTERS|WebMiner|webmole|WebSnake|websucker|webvac|webwalk|webweasel|whizbang|WhosTalking|WISEbot|WUMPUS|XGET [NC,OR]
    #
    # FIN DE LA LISTE COMPACTE DES USER_AGENT NON VERIFIEE

    Ensuite pour le script / robots j'ai pas tout compris. Qu'est ce qui faut mettre. Moi je voudrais un script qui bloque au mieux les aspirateurs de site car je suis une " victime " de ces attaques...

    J'aurais donc besoin de votre aide svp ( Merci de ne pas oublier que je suis débutant et que les réponses ne seront peut être pas aussi compréhensibles que vous donc soyez indulgent )

    Je vous remercie par avance des réponses :D
     
  2. Baltyre
    Baltyre Nouveau WRInaute
    Inscrit:
    10 Décembre 2005
    Messages:
    14
    J'aime reçus:
    0
    Bon, je suis en train de plancher sur un systeme anti-aspirateur sur mon site, mais j'ai comme contrainte d'éviter d'utiliser la bdd mysql, et si possible eviter d'employer trop de ressources.

    Donc, je pensais a faire ca en plusieurs points :
    - Primo, une petite protection via les user agent dans le htaccess.
    - Ensuite, un petit code php dans une page ban.php :
    <?
    $htaccess="\nDeny from ".$_SERVER["REMOTE_ADDR"];
    $fp = fopen(".htaccess","a");
    if (flock($fp, LOCK_EX)) {
    fputs($fp,$htaccess);
    flock($fp, LOCK_UN);
    }
    fclose($fp);
    ?>

    Je vais faire de l'url rewriting sur le fichier ban.php pour qu'il soit accecible sous n'importe quel nom.
    Puis planquer un peu partout sur mon site des lien de 1 pixel qu'un utilisateur a de tres faibles chances de cliquer par lui meme.

    Faut que je prépare un truc pour vider le fichier htaccess a intervalle régulier (un cron ?)
    Faut aussi que j'adapte le code pour pas blacklister google.

    - Enfin, au final, je pense trifouiller du coté des mods d'apache pour limiter l'acces a la bande passante.
    Je pense qu'avec ca, je devrait pouvoir éviter la casse.
     
  3. papayou
    papayou WRInaute occasionnel
    Inscrit:
    21 Avril 2004
    Messages:
    314
    J'aime reçus:
    0
    Bonjour Baltyre,

    Où est l'intérêt de planquer des liens de 1 pixel ?

    @+
     
  4. Baltyre
    Baltyre Nouveau WRInaute
    Inscrit:
    10 Décembre 2005
    Messages:
    14
    J'aime reçus:
    0
    Un aspirateur va explorer méthodiquement tous les liens mis a sa disposition.
    Y a de tres forte chance qu'il prenne aussi le lien de 1 pixel planqué quelque part sur la page.
    Bref, si quelqu'un accede a cette page, il a 99% de chances que ce soit un robot. (et cette page entraine un ban automatique)
     
  5. Mumuri
    Mumuri WRInaute passionné
    Inscrit:
    3 Novembre 2004
    Messages:
    1 706
    J'aime reçus:
    0
    merci baltyre

    c exactement ce qu'il me fallait

    quand j'ai vu 4 requetes sur le script de renard rouge, j'ai trouvé çà un peu lourd
     
  6. papayou
    papayou WRInaute occasionnel
    Inscrit:
    21 Avril 2004
    Messages:
    314
    J'aime reçus:
    0
    Pardon je n'avais pas compris :arrow:
     
  7. ffocean
    ffocean WRInaute discret
    Inscrit:
    27 Février 2006
    Messages:
    84
    J'aime reçus:
    0
    N'y a t-il pas de mise a jour du script depuis 2003 ?
    Pouvez vous faire un recapitulatif svp.

    Merci
     
  8. copyme
    copyme WRInaute discret
    Inscrit:
    5 Mars 2006
    Messages:
    158
    J'aime reçus:
    0
    Bonjour,

    Je suis le webmaster du site copyme.org et j'ai commencé un projet sur sourceforge : http://sourceforge.net/projects/copyme qui je crois rejoint ton idée. Ce projet est développer en php/mysql

    Je cherche des développeurs pour continuer ce projet et avancer sur le thème des anti-aspirateur et de l'anti-leech.

    Nous pourrions mettre en commun nos efforts pour développer un script qui pourrait je pense intéressé beaucoup de personne :D

    Je cherche un graphiste pour l'interface, des développeurs php pour l'optimisation du code et des ames charitables pour héberger ce beau projet sur des serveurs plus performants que ovh, un administrateur cvs et subversion, des bonnes plumes pour faire la doc et des modérateurs pour faire un forum sur le sujet. Voila.

    Alors à vos claviers et vive l'opensource.

    Pour voir un exemple de se que cela peut donner : http://www.copyme.org

    Pour me contacter sur msn : lecomte0@gmail.com

    Cordialement,
     
  9. ajax
    ajax WRInaute occasionnel
    Inscrit:
    20 Mars 2006
    Messages:
    269
    J'aime reçus:
    0
    Ce script fonctionne sans problème. Par contre, je cherche le moyen de vider régulièrement (toutes les 24h) la table des IP bannis avec une petite ligne de cron.

    Une question importante qui peut montrer les limites de ce filtre. Des étudiants qui à partir d'une salle informatique d'un lycée ou collège surfent, partagent la même adresse IP. Si plusieurs se connectent sur le même site, le filtre risque très rapidement de bloquer cette salle.
     
  10. bg62
    bg62 WRInaute impliqué
    Inscrit:
    25 Mai 2006
    Messages:
    722
    J'aime reçus:
    0
    et en .htacess ?

    bonjour
    pour mon cas j'ai déjà lancé un sos pour mon site :
    http://www.unesourisetmoi.info
    sur lequel je mets à disposition de tous un tas de créations et de wallpapers
    mais ... comment installer ce scipt ??? :?:
    (je n'y connais rien !) :?
    j'aurais plutôt voulu mettre un .htacess qui arrête les aspi (j'en ai une grande liste si cela t'intéresse) et pas les robots
    c'est faisable ??
    :wink:
    @mitiés
    b g
     
  11. Albert1
    Albert1 WRInaute impliqué
    Inscrit:
    23 Août 2005
    Messages:
    905
    J'aime reçus:
    0
    Heuh, si les choses sont bien faites, un routeur+proxy ne devrait il pas leur attribuer une adresse IP par poste ?
    Je sais pas, je demande :wink:
     
  12. Albert1
    Albert1 WRInaute impliqué
    Inscrit:
    23 Août 2005
    Messages:
    905
    J'aime reçus:
    0
    Re: et en .htacess ?

    Tu veux que je te rassure ?
    avec javascript désactivé ton site est inconsultable !
    donc un aspirateur ne pourra pas suivre les liens de tes menus, et ne pourra pas aspirer grand chose ... :D

    donc autant le script que ton htaccess sont totalement inutiles pour le moment !

    félicitations :roll:
     
  13. bg62
    bg62 WRInaute impliqué
    Inscrit:
    25 Mai 2006
    Messages:
    722
    J'aime reçus:
    0
    Re: et en .htacess ?

    Tu veux que je te rassure ?
    avec javascript désactivé ton site est inconsultable !
    donc un aspirateur ne pourra pas suivre les liens de tes menus, et ne pourra pas aspirer grand chose ... :D

    donc autant le script que ton htaccess sont totalement inutiles pour le moment !

    félicitations :roll:[/quote]
    :?:
    merci pour la réponse ... mais pourrais-tu être plus 'clair' ... j'ai pas tout compris :roll:
    @mitiés
    bg
     
  14. bg62
    bg62 WRInaute impliqué
    Inscrit:
    25 Mai 2006
    Messages:
    722
    J'aime reçus:
    0
    Re: et en .htacess ?

    :roll:
    ben non seulement je n'y comprends rien 'javascript désactivé' (?)
    mais je ne suis pas rassuré non plus ...
    je viens de lancer httrack rien que pour voire et il me pompe les images sans aucun problème ....
    :evil:
    @mitiés
    b g
     
  15. Albert1
    Albert1 WRInaute impliqué
    Inscrit:
    23 Août 2005
    Messages:
    905
    J'aime reçus:
    0
    Re: et en .htacess ?

    en effet sous Lynx (Lynx/2.8.5rel.1) on peut visiter ton site ... donc il est probable que Httrack peut en faire de même !

    après pour le reste, je pense que tu devrais ouvrir un sujet spécifique à ton cas spécifique :wink:
     
  16. bg62
    bg62 WRInaute impliqué
    Inscrit:
    25 Mai 2006
    Messages:
    722
    J'aime reçus:
    0
    alors ... ?

    :cry:
    alors résultat : que peut-on faire ???????????
    @+
    b g
     
  17. nicolas34500
    nicolas34500 Nouveau WRInaute
    Inscrit:
    2 Juin 2006
    Messages:
    26
    J'aime reçus:
    0
    Ben, à mon lycée, on avait 1 ip pour tout le lycée, pratiquement, je vérifierais l'année prochaine... CT bien pratique quand on a fait des koneri, par ex. tomber sur un site avec 200 à 500 tunnels http (pour dépasser le routeur). Si qqn veut l'adresse qu'il demande à jahvscriptmaniac_areaubzeuh_gmail-point-com. Non, je ne mets pas mon adresse en clair, non !

    Ensuite, pour bloquer les méchants aspi et préserver les gens gentils qui font une aspi intelligente, proposez un lien "télécharger toute la section" par ex. : ça permet de ne pas avoir à se sauvegarder les 50 (500?) pages d'un tut.
    Ensuite, j'avoue que si j'avais eu un bon aspi il y a un moment, dans ma periode téra(octets), j'aurais téléchargé la moitié de la toile sur mon disque dur 3Go :D

    Alebert : Envoie un mp au créaeur, il pourra sûrement t'aider un coup. Ensuite, les zolies zimazes supercool qui se zooment automatiquement sont gérées par javascript. On peut le désactiver pour ne pas avoir ce genre de trucs flashouillants. Les aspi n'on généralement pas de javascript dans leur sac.
    Ne croyez pas que je suis contre javascript, je vais créer un site 100% javascript, mais aussi avec une interface html uniq. et 1 interface js partielle pour IE3 & co., et tout avec toutes les fonctionnalités, pas comme hotmail (beurk) qui désactive tout dès IE5.

    Petit truc à part : Methode pour ajouter des mots-clés cachés pour gg quand on a une page d'accueil avec rien dessus sauf un gros lien.
    - 1 Insérez une description sensée et concise du site, pour avoir ça dans la description gg
    - 2 Faites un petit js qui cahe le div contennant ça et affiche à la place un lien "Description du site" qui développe le div
    - 3 Vous êtes content, vous avez des mots-clés & une description
    - 4 gg vous embête pas, le texte est bien sur votre page, et pas caché mais masqué (j'ai pas encore testé si c'est vrai...)

    P.S. Lundi, je pars pour 3 semaines pour une contrée lointaine sans ordis : X-(
     
  18. bg62
    bg62 WRInaute impliqué
    Inscrit:
    25 Mai 2006
    Messages:
    722
    J'aime reçus:
    0
    moi tout ça je veux bien, mais cela ne me donne pas la solution au problème ...
    @+
    bg
     
  19. Albert1
    Albert1 WRInaute impliqué
    Inscrit:
    23 Août 2005
    Messages:
    905
    J'aime reçus:
    0
    [​IMG]
     
  20. bg62
    bg62 WRInaute impliqué
    Inscrit:
    25 Mai 2006
    Messages:
    722
    J'aime reçus:
    0
    facile à dire !

    bg[/quote]
    [​IMG][/quote]
    facile ... mais ça ce n'est pas de l'aide !
    un boulet ... oui
    repéré ... oui
    mais ... bof !!! 8O pour la réaction !
    :wink:
    @+
    bg
     
  21. webjfr
    webjfr Nouveau WRInaute
    Inscrit:
    10 Juillet 2006
    Messages:
    15
    J'aime reçus:
    0
    Tu peux sur un vps ou un dedie interdire tout ce qui fait XX requetes.
    Les hébergeurs mutu qui le font, sont rare, tres rare.
     
  22. Maleville
    Maleville Nouveau WRInaute
    Inscrit:
    5 Décembre 2002
    Messages:
    23
    J'aime reçus:
    0
  23. animus
    animus WRInaute discret
    Inscrit:
    23 Mai 2005
    Messages:
    92
    J'aime reçus:
    0
    pour info, le .htaccess fonctionne avec free ! (je l'ai testé nickel !)
     
  24. t_solutions
    t_solutions WRInaute discret
    Inscrit:
    2 Juillet 2006
    Messages:
    66
    J'aime reçus:
    0
    c trop cools ce script
     
  25. jedijul
    jedijul Nouveau WRInaute
    Inscrit:
    1 Septembre 2006
    Messages:
    9
    J'aime reçus:
    0
    Bonjour, j'aurai voulu savoir si le code était encore d'actualité en ce premier septembre 2006 ?

    Aussi, est-il possible de l'utiliser en l'incluant via un "include" dans toutes les page web... ça permet ainsi de mettre un simple include dans chaque page et faire un appel au même script à chaque nouvelle page visité...


    Des soucis ont-il été remarqué avec l'url rewritting ???

    Un tout grand merci d'avance

    PS: super site, j'y apprend plus tous les jours !
     
  26. Daktari
    Daktari WRInaute impliqué
    Inscrit:
    10 Mai 2004
    Messages:
    607
    J'aime reçus:
    0
    Oui :D .

    Aucune idée :roll: .


    Aucun problème :D .
     
  27. Rackham
    Rackham WRInaute discret
    Inscrit:
    9 Septembre 2004
    Messages:
    199
    J'aime reçus:
    0
    Aspirateurs

    Le code est toujours valable je pense, et les anciens aspirateurs existeront toujours. Une date de dernière mise à jour serait bienvenue.

    J'ai vu dans mes stats l'accès à mon site par cet aspirateur h**p://www.freedownloadmanager.org/

    Donc, comment rajouter les aspirateurs qui n'apparaissent dans cette liste, comment récupérer leur identifiant ?

    Existe t'il des sites qui tiennent des listes à jour des aspirateurs ?

    Mais je ne crois pas trop au blocage niveau IP, car chez Orange, elle change tous les jours.

    Merci d'avance.
     
  28. rog
    rog WRInaute passionné
    Inscrit:
    21 Septembre 2006
    Messages:
    1 643
    J'aime reçus:
    0
    lol

    lol

    tout ça m'a l'air bien compliqué

    les variables d'environnements ne s'arrettent pas à user_agent

    il devrait y avoir un moyen plus simple qui permettrait de faire la différence entre un robot et un pc client

    il y a aussi des fonctions du type getbrowser

    rog
     
  29. BobbySixKiller
    BobbySixKiller WRInaute discret
    Inscrit:
    17 Février 2005
    Messages:
    193
    J'aime reçus:
    0
    Bonjour, mes stats personnelle indiquent "curl" en tant qu'aspirateur, dois-je le restreindre dans le fichier .htaccess pour autant ?
     
  30. tourismeenbretagne
    tourismeenbretagne WRInaute discret
    Inscrit:
    18 Juin 2004
    Messages:
    127
    J'aime reçus:
    0
    J'ai installé hier le script. Il faut encore que j'étudie a fond mes logs mais j'ai déjà pu voir que FAST Enterprise Crawler me pompait toujours pas mal de bande passante.

    Je crois qu'il s'agit d'un robot et non pas d'un aspirateur. Exact ?

    Si je ne souhaite pas qu'il "scanne toutes mes pages", il me reste le htaccess. Exact ?

    Greg
     
  31. tourismeenbretagne
    tourismeenbretagne WRInaute discret
    Inscrit:
    18 Juin 2004
    Messages:
    127
    J'aime reçus:
    0
    Salut,

    En haut de mon site s'affiche le message IP interdite pour abus depuis qu'une adresse IP est interdite.

    Le problème c'est qu'apriori si c'est affiché pour moi c'est aussi affiché pour tous les internautes. Pouvez vous me confirmer ?

    connectez vous sur http://www.itinerances.info/ et dites moi si le message s'affiche.

    Dans cette éventualité, quelqu'un peut-il me dire pourquoi il s'affiche et comment le supprimer pour les internautes dont l'ip n'est pas interdite ?

    Greg
     
  32. tourismeenbretagne
    tourismeenbretagne WRInaute discret
    Inscrit:
    18 Juin 2004
    Messages:
    127
    J'aime reçus:
    0
    N'ayant pas de réponse, j'ai effacé le message depuis le fichier trace_ip.php du script...

    Mais je comprends pas trop pourquoi il s'affichait... :?

    Greg
     
  33. bedzo
    bedzo Nouveau WRInaute
    Inscrit:
    4 Avril 2007
    Messages:
    1
    J'aime reçus:
    0
    Fichier manquant

    Bonjour
    Le fichier aspilock.zip (celui utilisant des fichiers à la place de MySQLà est manquant sur http://janfy.net/vague/ et c'est aspilock_heap.zip qui se dl à la place.
    Quelqu'un pourrait-il donner un lien pour télécharger le bon aspilock.zip ?
    Merci d'avance.
    @+
     
  34. Joe Le Mort
    Joe Le Mort WRInaute occasionnel
    Inscrit:
    8 Août 2006
    Messages:
    258
    J'aime reçus:
    0
    UP
    ce sujet ne sert a rien si les liens ne sont plus bon :wink:
    merci de mettre a jour les liens
     
  35. ilyaslux
    ilyaslux Nouveau WRInaute
    Inscrit:
    16 Août 2007
    Messages:
    7
    J'aime reçus:
    0
    un super script
    merci
     
  36. Homard
    Homard WRInaute discret
    Inscrit:
    28 Janvier 2005
    Messages:
    66
    J'aime reçus:
    0
    Un nouveau script pour ce protéger efficacement

    Bonjour,

    Après avoir subit des attaques récemment, j'ai remis à jour un script php qui semble très bien fonctionner pour moi après quelques tests.
    Je vous donne donc le lien : http://www.misfu.com/information-sur-le-fichier-375.html

    J'aimerai quand même avoir l'avis des experts du forum sur ce script :D
    Si certains d'entre vous le souhaitent, je peux afficher ici le contenue de mon fichier listeiprobots.php
     
  37. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    2 434
    J'aime reçus:
    0
    Ce n'est pas potentiellement dangereux d'écrire sur le htaccess en ligne de cette manière ??

    Si le script à une faille, ça craint...

    Avis aux spécialiste svp...
     
  38. lafactory.com
    lafactory.com WRInaute discret
    Inscrit:
    20 Octobre 2006
    Messages:
    152
    J'aime reçus:
    0
    la référence c'est mod security. Vraiment incontournable.
     
  39. Xspirits
    Xspirits Nouveau WRInaute
    Inscrit:
    18 Juin 2007
    Messages:
    13
    J'aime reçus:
    0
    Liens donnés sur le site du 1er message down :s
     
  40. Gasp
    Gasp Nouveau WRInaute
    Inscrit:
    22 Janvier 2008
    Messages:
    2
    J'aime reçus:
    0
    Salut,

    j'ai réalisé le début du commencement d'une page d'administration du script, car je trouvais dommage de ne pas avoir de retour graphique de son fonctionnement.

    ATTENTION !!! Comme je n'y connais presque rien en php, ce script n'est pas du tout optimisé et peut contenir une ou plusieurs failles.

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Administration du traçage IP</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	<style type="text/css">
            h2, h3, th, td, form
            {
                text-align:center;
            }
            table
            {
                border-collapse:collapse;
                border:2px solid black;
                margin:auto;
    			}
            th, td
            {
                border:1px solid black;
            }
    		tr
    		{
    			background: gray;
    		}
    		td
    		{
    			background: white;
    		}
            </style>
    		
        <body>
    	<h2>Liste des IP enregistrées :</h2>
    	<table><tr>
    	<th>IP</th>
    	<th>User agent</th>
    	<th>Date</th>
    	<th>Compteur</th>
    	</tr>
    	<?php
    	
    	mysql_connect("localhost", "identifiant", "mot_de_passe");
    	mysql_select_db("nom_de_la_base");
    	
    	
    	// on efface l'entrée de la liste noire si demandé
    	
    	if (isset($_GET['supprimer']))
    	{
    	$_GET['supprimer'] = mysql_real_escape_string(htmlspecialchars(addslashes($_GET['supprimer'])));
    	mysql_query('DELETE FROM ip_bl WHERE id=\'' .$_GET['supprimer']. '\'');
    	}
    	
    	// on ajoute les entrées à bannir s'il y a lieu
    	
    	if (isset($_POST['ip']) OR isset($_POST['ua']))
    	{
    	$ip = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['ip'])));
    	$ua = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['ua'])));
    		if ($_POST['id_entree'] ==0)
    		{
    		mysql_query("INSERT INTO ip_bl VALUES('', '" .$ua. "', '" .$ip. "', '', '')");
    		}
    		else
    		{
    		$_POST['id_entree'] = addslashes($_POST['id_entree']);
    		mysql_query("UPDATE ip_bl SET ip='" .$ip. "', ua='" .$ua. "'");
    		}
    	}
    	
    	// on liste maintenant les entrées enregistrées dans les tables ip et ip_bl
    	
    	$reponse = mysql_query ("SELECT * FROM ip ORDER BY date DESC");
    	while($donnees = mysql_fetch_array($reponse))
    	{
    	?>
    	<tr>
    	<td><?php echo $donnees['ip']; ?></td>
    	<td><?php echo $donnees['ua']; ?></td>
    	<td><?php echo $donnees['date']; ?></td>
    	<td><?php echo $donnees['cpt']; ?></td>
    	</tr>
    	<?php
    	}
    	?>
    	</table>
    	
    	<h2>Liste des IP en liste noire :</h2>
    	
    	<h3><a href="index.php?ajout=oui">Ajouter une ip ou un user-agent en liste noire</a></h3>
    	
    	<?php
    	if (isset($_GET['ajout']))
    	{
    	?>
    	<form method="post">
    	<p>IP à bannir : <input type="text" size="15" maxlength="15" name="ip" value="" /></p>
    	<p>User agent à bannir : <input type="text" size="30" name="ua" value="" /></p>
    	<input type="hidden" name="id_entree" value="<?php echo $id_entree; ?>" /> <!-- 0 si nouveau, != 0 si modif -->
    	<p><input type="submit" value="Valider" /></p>
    	</form>
    	<?php
    	}
    	?>
    	
    	<table>
    	<tr>
    	<th>IP</th>
    	<th>User agent</th>
    	<th>Date</th>
    	<th>Compteur</th>
    	</tr>
    	<?php
    	
    	$reponse = mysql_query ("SELECT * FROM ip_bl ORDER BY date DESC");
    	while($donnees = mysql_fetch_array($reponse))
    	{
    	?>
    	<tr>
    	<td><?php echo $donnees['ip']; ?></td>
    	<td><?php echo $donnees['ua']; ?></td>
    	<td><?php echo $donnees['date']; ?></td>
    	<td><?php echo $donnees['cpt']; ?></td>
    	<td><?php echo '<a href="index.php?modifier=' .$donnees['id']. '">'; ?>Modifier</a></td>
    	<td><?php echo '<a href="index.php?supprimer=' .$donnees['id']. '">'; ?>Supprimer</a></td>
    	</tr>
    	<?php
    	}
    	mysql_close();
    	?>
    	</body>
    	</html>
    
    Ce script permet de voir quelles sont les adresses ip enregistrées, quelles sont les ip bannies. Il permet aussi de bannir et débannir des IP manuellement.

    ---> Je répète : n'utilisez PAS ce script tel quel, à moins de le protéger dans un dossier par .htaccess, car :
    1 - il ne nécessite pas d'authentification (donc n'importe qui peut accéder au script et bannir n'importe quelle ip)
    2 - il est vraisemblablement codé avec les pieds et peut comporter une faille de sécurité, notamment du côté de la variable $_GET. En plus, j'ai toujours eu du mal avec les " et les ' et je me perds sans cesse entre les deux...


    RESTE A FAIRE : Une liste blanche, un système d'authentification pour ceux qui ne veulent/peuvent pas utiliser de .htaccess, et ajouter un peu de css pour rendre l'interface plus jolie.


    Voilà, si quelqu'un avec des connaissances en php supérieures aux miennes, peut-il me filer un petit coup de main ?

    Merci :)
     
  41. Gasp
    Gasp Nouveau WRInaute
    Inscrit:
    22 Janvier 2008
    Messages:
    2
    J'aime reçus:
    0
    Ça n'intéresse personne ? :cry:
     
  42. Greendog
    Greendog WRInaute occasionnel
    Inscrit:
    18 Mars 2008
    Messages:
    483
    J'aime reçus:
    0
    Dès qu'il y'a un while il est préférable de faire une requête supplémentaire en amont pour fixer une limite aux nombres de résultats qui vont sortir. Cela évite les while à l'infinie en cas d'attaque...
     
  43. slemerre
    slemerre Nouveau WRInaute
    Inscrit:
    3 Février 2009
    Messages:
    6
    J'aime reçus:
    0
    Re: Script php Anti aspirateur

    Code:
    //ligne 86
    $Vua   = $HTTP_SERVER_VARS["HTTP_USER_AGENT"];
    //ligne 113
    if ($Vcpt == 0) mysql_query("INSERT into ip (id, ua, ip, date, cpt) values ('', '$Vua', '$Vip', '$Vdate', '1')");
    
    passe ton safe_mode à on, c'est gros :D
     
  44. lyonist
    lyonist WRInaute discret
    Inscrit:
    5 Août 2008
    Messages:
    213
    J'aime reçus:
    0
    Re: Un nouveau script pour ce protéger efficacement

    Deny from google, yahoo, live... aussi ?
     
  45. taghaboy
    taghaboy Nouveau WRInaute
    Inscrit:
    30 Novembre 2010
    Messages:
    11
    J'aime reçus:
    0
    Merci pour l'astuce.
     
  46. shaozu21
    shaozu21 Nouveau WRInaute
    Inscrit:
    6 Juillet 2013
    Messages:
    8
    J'aime reçus:
    0
    Merci beaucoup pour le script ;)
     
  47. RaphBlog
    RaphBlog Nouveau WRInaute
    Inscrit:
    17 Janvier 2015
    Messages:
    13
    J'aime reçus:
    0
    Je voudrais savoir si une personne ouvre 5 onglet a la fois, ca vas le blocker aussi?
     
  48. Alorsladaccord
    Alorsladaccord WRInaute impliqué
    Inscrit:
    30 Juillet 2014
    Messages:
    523
    J'aime reçus:
    0
    Ca existe encore ces histoires d'aspirateurs, en 2017 ? On s'en préoccupait déjà il y a 10 ans, c'est donc toujours le cas, avec les histoires de robot.txt, etc... ?
     
  49. cedric_g
    cedric_g WRInaute accro
    Inscrit:
    18 Janvier 2006
    Messages:
    3 592
    J'aime reçus:
    0
    Je m'inquiéterais plus des scrapeurs que des aspirateurs. Et en la matière, un réseau de proxies et hop, le blocage par IP tombe...

    Il n'existe AUCUN script valable pour bloquer ce genre de chose.
     
  50. yule
    yule WRInaute occasionnel
    Inscrit:
    24 Juillet 2004
    Messages:
    328
    J'aime reçus:
    0
    Hello,

    Ne pas en faire une généralité non plus... Perso avec mon moteur, je scrape que la page d'accueil d'un site tous les 10 jours pour la mise à jour des résultats. J'ai pas l'impression d'être nuisible à ce rythme..

    bonne bonne
    yule
     
  51. patrick_lejeune
    patrick_lejeune WRInaute occasionnel
    Inscrit:
    1 Avril 2016
    Messages:
    460
    J'aime reçus:
    0
    Mais si :roll: La solution passe aussi par bloquer les points de sortie des proxies directement sur le serveur: exemple le réseau TOR (tout ce qui bricole sur un site à partir de ce "réseau" doit être interdit). Bloquer l'adresse IP est la première chose à faire. La deuxième est d'interdire l'accès au serveur de toute la plage.

    J'ai créé un script anti-bricoleur en 2013. Ces deux derniers mois, bloqué les adresses suivantes:
    138.197.7.55
    138.197.111.124
    et d'autres pour attaques massives.

    Pas un problème: interdiction sur toute la plage de Digital Oncean https://myip.ms/view/ip_addresses/2328166400/138.197.0.0_138.197.0.255

    Interdire une adresse IP est inutile Ce pârasite (je parle pas de l'hébergeur) a essayé par une vingtaine d'adresses différentes). On bloque la plage complète de l'hébergeur.
     
  52. patrick_lejeune
    patrick_lejeune WRInaute occasionnel
    Inscrit:
    1 Avril 2016
    Messages:
    460
    J'aime reçus:
    0
    Vais commencer par toi (malgré tout le respect que je te porte et sur ton site génial) ... Les réseaux de proxy fonctionnent comme de simple copieurs africains. Des adresses IP ... Il y a quand même une différence, des adresses standards utilisées sur des PC standards.
    Deux webmasters sur WRI ont programmé ce genre de protections: Moi et Ortoloft. Comme il y a quelques mois avec adblock ... essaye avant de discuter dans le vide.

    Personnellement, les aspirateurs sont bloqués, les tentatives SQL, ... automatiquement. D'autres aussi. Ca se base sur l'analyse des pages (chaque page enregistre d'abord la visite avant d'afficher la page). Le reste, c'est de la programmation et retour en 403 pour tout ce qui semble pas normal. Comment crois tu que j'ai repéré les adresses de Digital Ocean: en analysant les logs des visiteurs? J'ai pas trop le temps à m'amuser.
    Les systèmes des deux webmasters utilisent l'adresse IP des visiteurs et le nombre de pages visitées dans un labs de temps (c'est un peu plus complexe). Effectivement, un visiteur qui analyse une page tout les 15 jours ne sera pas détecté, avec 30.000 pages, ca lui fait un paquet d'années avant d'aspirer le site (sauf qu'un autre rapport le détectera avant).
    C'est pas moi qui vais te donner les techniques utilisées par les bricoleurs (désolé :mrgreen: ).
    Il y a des protections payantes et ... des développée maison. Pas assez riche pour la première solution et suffisamment doué (en fait suffisamment de temps pour développer) la deuxième. En plus la mienne est multi-site: bloqué sur un site = bloqué sur tous les sites du serveur protégés.
    C'est pas la première fois que je te donne un exemple de protection mais je sais ...
    On est d'accord mais ca marche.