Comment se défendre contre l'aspiration de site ?

Comment se défendre contre l'aspiration de site ?

Aspirer un site est une méthode principalement utilisée en cas de mauvaise connexion Internet car cela évite d'avoir à supporter le temps de chargement et les éventuelles coupures. Le site ainsi aspiré est enregistré sur le disque dur et s’ouvre comme n’importe quel fichier, hors connexion. Il est vrai qu'avec nos réseaux à hautes vitesses, cela peut sembler anachronique mais n'oubliez pas que même en France, tout le monde n'a pas accès à ces technologies. Cela peut donc être être quelque chose de très utile, si l'on garde en tête que l'univers du web n'est pas peuplé que de bonnes âmes.

En effet, il arrive parfois que l'aspiration d'un site soit motivée par des raisons bien moins avouables. Soyons clairs, une aspiration de site permet aux escrocs d'économiser de nombreuses heures de travail (et de nombreux euros). Cela permet de disposer d'un site "prêt à l'emploi" avec des contenus déjà rédigés. Ce type d'utilisation est bien entendu totalement illégale. J'ai été confronté récemment à deux cas frauduleux d'aspiration de sites, ce qui m'a amené à me pencher sur cette question.

Aspiration Solutis
Aspiration Loisel

Dans cet article, nous verrons quels peuvent être les dommages collatéraux d'une aspiration frauduleuse d'un site. Parce qu'il en existe, je vous présenterai ensuite quelques solutions techniques pour vous protéger et enfin, nous verrons comment vous défendre si malgré les protections mises en place, vous êtiez victime d'une aspiration.

Quelles conséquences ?

Comme vous allez le constater, les conséquences d'une aspiration de site peuvent être nombreuses et vraiment dommageables pour la victime.

Conséquences morales

Même si l'on est de nature calme et placide, découvrir que son site a été "volé" et qu'il est utilisé par des escrocs ne doit pas être une expérience des plus agréables à vivre. Une fois l'effet de surprise passé, vous constatez impuissant à un détournement manifeste de votre travail (et de votre investissement) par des personnes sans scrupules. Et le pire, c'est que vous ne pouvez rien faire !

Conséquences immatérielles

Egalement au rayon des mauvaises nouvelles, l'utilisation (illégale) d'un site peut également porter atteinte à l'image de la marque du site copié. Inutile de vous dire que les dommages peuvent rapidement être catastrophiques. Outre le droit d'auteur (un site web est une création, dois-je le rappeller ?), un site contient généralement un logo, une charte graphique, des images et des textes. Tous ces éléments appartiennent au site à son propriétaire. L'utilisation sans consentement de ces éléments est donc parfaitement illégale ici.

Conséquences financières

Si un site est aspiré et utilisé en ligne, c'est principalement pour économiser du temps et donc de l'argent. Et ces économies vont se faire au détriment du propriétaire du site aspiré. En effet, l'escroc n'aura pas à écrire ni les articles, ni les balises title et description du site aspiré. De ce fait, on se retrouvera en présence d'un cas manifeste de contenus dupliqués. Et dans ce cas, Google pénalisera les deux sites. Double punition pour la victime.

Le temps que vous vous rendiez compte de la situation, l'escroc aura peut-être détourné un ou plusieurs clients de votre site. Certes, il est difficile de chiffrer le préjudice mais ce n'est pas à exclure. Sachez que dans l'un des deux cas que j'ai rencontré, l'escroc utilisait jusqu'au logo de mon client pour ses "factures" !

Aussi et pour vous éviter des migraines et des nervous breakdown, nous allons maitenant voir comment protéger son site contre les aspirateurs de site.

Quelles solutions ?

Autant être franc, il n'existe pas de solutions miracles permettant de bloquer à 100% l'aspiration d'un site web. Tout ce qu'il est possible de faire, c'est de freiner au maximum l'aspiration au point de la rendre inutile pour l'escroc.

Pour faire court, retenez que

  • Si vous voulez bloquer les aspirateurs pour protéger votre site et vos données, oubliez cette idée.
  • Si vous voulez réduire la consommation de votre bande passante liée à l'aspiration, alors là oui !

Mais avant de passer en revue les solutions, voyons d'abord comment fonctionne un aspirateur de site.

Schématiquement, un aspirateur de sites va d'abord charger une première page, puis, de manière récursive, charger ensuite toutes les autres pages du site comme s'il cliquait sur tous les liens présents dans le site. Chaque page est alors enregistrée. Détail amusant, c'est comme ça que fonctionne GoogleBot :)

La bonne nouvelle est que chaque aspirateur a une signature (un user-agent) et qu'il est repérable par le fait qu'il effectue un grand nombre de requêtes en un temps très court depuis la même adresse IP. A partir de là, il devient plus facile de savoir où et comment le bloquer. Mais on ne va surtout pas bloquer GoogleBot, rassurez-vous.

Bloquer l'aspirateur via son user-agent

Cela peut sembler une bonne idée mais il faut savoir que certains aspirateurs peuvent imiter la signature d'un navigateur web et donc, se faire passer pour Firefox ou Chrome. Mais ne vous inquiétez pas, on s'occupera de ceux-là un peu plus tard :)

Pour l'instant, on va déjà éliminer les aspirateurs les plus courants et les plus simples. Pour ce faire, vous pouvez bloquer ces user-agent en ajoutant cette instruction dans votre fichier .htaccess (si votre serveur est de type Apache) :


RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^FlashGet.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HTTrack.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MemoWeb.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$
RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR]
RewriteCond %{HTTP_USER_AGENT} Advanced\ Email\ Extractor [OR]
RewriteCond %{HTTP_USER_AGENT} almaden [NC,OR]
RewriteCond %{HTTP_USER_AGENT} @nonymouse [OR]
RewriteCond %{HTTP_USER_AGENT} Art-Online [OR]
RewriteCond %{HTTP_USER_AGENT} CherryPicker [OR]
RewriteCond %{HTTP_USER_AGENT} Crescent\ Internet\ ToolPack [OR]
RewriteCond %{HTTP_USER_AGENT} DirectUpdate [OR]
RewriteCond %{HTTP_USER_AGENT} Download\ Accelerator [OR]
RewriteCond %{HTTP_USER_AGENT} eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} echo\ extense [OR]
RewriteCond %{HTTP_USER_AGENT} EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} Fetch\ API\ Request [OR]
RewriteCond %{HTTP_USER_AGENT} FlashGet [NC,OR]
RewriteCond %{HTTP_USER_AGENT} frontpage [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} HTTP\ agent [OR]
RewriteCond %{HTTP_USER_AGENT} HTTPConnect [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [OR]
RewriteCond %{HTTP_USER_AGENT} IPiumBot\ laurion(dot)com [OR]
RewriteCond %{HTTP_USER_AGENT} Kapere [OR]
RewriteCond %{HTTP_USER_AGENT} libwww-perl [OR]
RewriteCond %{HTTP_USER_AGENT} Microsoft\ URL\ Control [OR]
RewriteCond %{HTTP_USER_AGENT} minibot\(NaverRobot\) [OR]
RewriteCond %{HTTP_USER_AGENT} NICErsPRO [OR]
RewriteCond %{HTTP_USER_AGENT} NPBot [OR]
RewriteCond %{HTTP_USER_AGENT} Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} Program\ Shareware [OR]
RewriteCond %{HTTP_USER_AGENT} QuepasaCreep [OR]
RewriteCond %{HTTP_USER_AGENT} SiteMapper [OR]
RewriteCond %{HTTP_USER_AGENT} Star\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} SurveyBot [OR]
RewriteCond %{HTTP_USER_AGENT} Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} Telesoft [OR]
RewriteCond %{HTTP_USER_AGENT} TuringOS [OR]
RewriteCond %{HTTP_USER_AGENT} TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} vobsub [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webbandit [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebCapture [OR]
RewriteCond %{HTTP_USER_AGENT} webcollage [OR]
RewriteCond %{HTTP_USER_AGENT} WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} WebDAV [OR]
RewriteCond %{HTTP_USER_AGENT} WebEmailExtractor [OR]
RewriteCond %{HTTP_USER_AGENT} WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} WEBsaver [OR]
RewriteCond %{HTTP_USER_AGENT} WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} Wget [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Wysigot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} Zeus [OR]
RewriteCond %{HTTP_REFERER} ^XXX
RewriteCond %{HTTP_USER_AGENT} ADSARobot [OR]
RewriteCond %{HTTP_USER_AGENT} ah-ha [NC,OR]
RewriteCond %{HTTP_USER_AGENT} aktuelles [NC,OR]
RewriteCond %{HTTP_USER_AGENT} amzn_assoc [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ASSORT [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ATHENS [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Atomz [OR]
RewriteCond %{HTTP_USER_AGENT} attach [NC,OR]
RewriteCond %{HTTP_USER_AGENT} attache [NC,OR]
RewriteCond %{HTTP_USER_AGENT} autoemailspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} BackWeb [OR]
RewriteCond %{HTTP_USER_AGENT} Bandit [OR]
RewriteCond %{HTTP_USER_AGENT} BatchFTP [OR]
RewriteCond %{HTTP_USER_AGENT} bdfetch [NC,OR]
RewriteCond %{HTTP_USER_AGENT} big.brother [NC,OR]
RewriteCond %{HTTP_USER_AGENT} BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} bmclient [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Boston\ Project [OR]
RewriteCond %{HTTP_USER_AGENT} BravoBrian\ SpiderEngine\ MarcoPolo [OR]
RewriteCond %{HTTP_USER_AGENT} Buddy [OR]
RewriteCond %{HTTP_USER_AGENT} Bullseye [NC,OR]
RewriteCond %{HTTP_USER_AGENT} bumblebee [NC,OR]
RewriteCond %{HTTP_USER_AGENT} capture [OR]
RewriteCond %{HTTP_USER_AGENT} ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} CICC [OR]
RewriteCond %{HTTP_USER_AGENT} clipping [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Crescent [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Crescent\ Internet\ ToolPak [OR]
RewriteCond %{HTTP_USER_AGENT} Custo [OR]
RewriteCond %{HTTP_USER_AGENT} cyberalert [OR]
RewriteCond %{HTTP_USER_AGENT} Deweb [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Diagem [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Digger [OR]
RewriteCond %{HTTP_USER_AGENT} Digimarc [OR]
RewriteCond %{HTTP_USER_AGENT} DIIbot [OR]
RewriteCond %{HTTP_USER_AGENT} disco [NC,OR]
RewriteCond %{HTTP_USER_AGENT} DISCoFinder [OR]
RewriteCond %{HTTP_USER_AGENT} Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} Download\ Wonder [OR]
RewriteCond %{HTTP_USER_AGENT} Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} Drip [OR]
RewriteCond %{HTTP_USER_AGENT} DSurf15a [OR]
RewriteCond %{HTTP_USER_AGENT} DTS.Agent [NC,OR]
RewriteCond %{HTTP_USER_AGENT} EasyDL [OR]
RewriteCond %{HTTP_USER_AGENT} ecollector [NC,OR]
RewriteCond %{HTTP_USER_AGENT} efp@gmx\.net [OR]
RewriteCond %{HTTP_USER_AGENT} Email\ Extractor [OR]
RewriteCond %{HTTP_USER_AGENT} EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} fastlwspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} FavOrg [OR]
RewriteCond %{HTTP_USER_AGENT} Favorites\ Sweeper [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Fetch [NC,OR]
RewriteCond %{HTTP_USER_AGENT} FEZhead [NC,OR]
RewriteCond %{HTTP_USER_AGENT} FileHound [OR]
RewriteCond %{HTTP_USER_AGENT} FlashGet\ WebWasher [OR]
RewriteCond %{HTTP_USER_AGENT} FlickBot [OR]
RewriteCond %{HTTP_USER_AGENT} fluffy [NC,OR]
RewriteCond %{HTTP_USER_AGENT} GalaxyBot [OR]
RewriteCond %{HTTP_USER_AGENT} Generic [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Getleft [NC,OR]
RewriteCond %{HTTP_USER_AGENT} GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} GetSmart [OR]
RewriteCond %{HTTP_USER_AGENT} GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} GetWebPage [NC,OR]
RewriteCond %{HTTP_USER_AGENT} gigabaz [OR]
RewriteCond %{HTTP_USER_AGENT} Girafabot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} go-ahead-got-it [NC,OR]
RewriteCond %{HTTP_USER_AGENT} GornKer [OR]
RewriteCond %{HTTP_USER_AGENT} Grabber [NC,OR]
RewriteCond %{HTTP_USER_AGENT} GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} Green\ Research [OR]
RewriteCond %{HTTP_USER_AGENT} Harvest [NC,OR]
RewriteCond %{HTTP_USER_AGENT} hhjhj@yahoo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} hloader [OR]
RewriteCond %{HTTP_USER_AGENT} HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HomePageSearch [OR]
RewriteCond %{HTTP_USER_AGENT} httpdown [OR]
RewriteCond %{HTTP_USER_AGENT} http\ generic [OR]
RewriteCond %{HTTP_USER_AGENT} IBM_Planetwide [OR]
RewriteCond %{HTTP_USER_AGENT} Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} imagefetch [OR]
RewriteCond %{HTTP_USER_AGENT} IncyWincy [NC,OR]
RewriteCond %{HTTP_USER_AGENT} informant [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Ingelin [NC,OR]
RewriteCond %{HTTP_USER_AGENT} InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} InternetLinkAgent [OR]
RewriteCond %{HTTP_USER_AGENT} InternetSeer\.com [OR]
RewriteCond %{HTTP_USER_AGENT} Iria [OR]
RewriteCond %{HTTP_USER_AGENT} Irvine [OR]
RewriteCond %{HTTP_USER_AGENT} JBH*Agent [OR]
RewriteCond %{HTTP_USER_AGENT} JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} JOC [OR]
RewriteCond %{HTTP_USER_AGENT} JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} JustView [OR]
RewriteCond %{HTTP_USER_AGENT} KWebGet [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Lachesis [OR]
RewriteCond %{HTTP_USER_AGENT} larbin [NC,OR]
RewriteCond %{HTTP_USER_AGENT} LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} LexiBot [OR]
RewriteCond %{HTTP_USER_AGENT} lftp [OR]
RewriteCond %{HTTP_USER_AGENT} libwww [OR]
RewriteCond %{HTTP_USER_AGENT} likse [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Link*Sleuth [OR]
RewriteCond %{HTTP_USER_AGENT} LINKS\ ARoMATIZED [OR]
RewriteCond %{HTTP_USER_AGENT} LinkWalker [OR]
RewriteCond %{HTTP_USER_AGENT} LWP [NC,OR]
RewriteCond %{HTTP_USER_AGENT} lwp-trivial [OR]
RewriteCond %{HTTP_USER_AGENT} Magnet [OR]
RewriteCond %{HTTP_USER_AGENT} Mac\ Finder [OR]
RewriteCond %{HTTP_USER_AGENT} Mag-Net [OR]
RewriteCond %{HTTP_USER_AGENT} Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} MCspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} Mirror [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Missigua\ Locator [OR]
RewriteCond %{HTTP_USER_AGENT} Mister\ PiX [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MMMtoCrawl\/UrlDispatcherLLL [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla$ [OR]
RewriteCond %{HTTP_USER_AGENT} MSProxy [OR]
RewriteCond %{HTTP_USER_AGENT} multithreaddb [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nationaldirectory [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} NetCarta [NC,OR]
RewriteCond %{HTTP_USER_AGENT} NetMechanic [OR]
RewriteCond %{HTTP_USER_AGENT} netprospector [NC,OR]
RewriteCond %{HTTP_USER_AGENT} NetResearchServer [NC,OR]
RewriteCond %{HTTP_USER_AGENT} NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} NetZip\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} NetZippy [OR]
RewriteCond %{HTTP_USER_AGENT} NEWT [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nicerspro [NC,OR]
RewriteCond %{HTTP_USER_AGENT} NPBot [OR]
RewriteCond %{HTTP_USER_AGENT} Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} OpaL [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Openfind [OR]
RewriteCond %{HTTP_USER_AGENT} OpenTextSiteCrawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} OrangeBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PackRat [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} pavuk [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PersonaPilot [OR]
RewriteCond %{HTTP_USER_AGENT} pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} PingALink [OR]
RewriteCond %{HTTP_USER_AGENT} Pockey [OR]
RewriteCond %{HTTP_USER_AGENT} Proxy [OR]
RewriteCond %{HTTP_USER_AGENT} psbot [OR]
RewriteCond %{HTTP_USER_AGENT} PSurf [NC,OR]
RewriteCond %{HTTP_USER_AGENT} puf [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Pump [OR]
RewriteCond %{HTTP_USER_AGENT} PushSite [NC,OR]
RewriteCond %{HTTP_USER_AGENT} QRVA [OR]
RewriteCond %{HTTP_USER_AGENT} RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} Reaper [OR]
RewriteCond %{HTTP_USER_AGENT} Recorder [OR]
RewriteCond %{HTTP_USER_AGENT} ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} replacer [NC,OR]
RewriteCond %{HTTP_USER_AGENT} RepoMonkey [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Robozilla [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Rover [NC,OR]
RewriteCond %{HTTP_USER_AGENT} RPT-HTTPClient [OR]
RewriteCond %{HTTP_USER_AGENT} Rsync [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SearchExpress [OR]
RewriteCond %{HTTP_USER_AGENT} searchhippo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} searchterms\.it [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Second\ Street\ Research [OR]
RewriteCond %{HTTP_USER_AGENT} Seeker [OR]
RewriteCond %{HTTP_USER_AGENT} Shai [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sitecheck [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} SlySearch [OR]
RewriteCond %{HTTP_USER_AGENT} SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} snagger [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SpaceBison [OR]
RewriteCond %{HTTP_USER_AGENT} Spegla [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SpiderBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SqWorm [OR]
RewriteCond %{HTTP_USER_AGENT} Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} SurfWalker [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Szukacz [OR]
RewriteCond %{HTTP_USER_AGENT} tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} tarspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Templeton [NC,OR]
RewriteCond %{HTTP_USER_AGENT} TrueRobot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} TV33_Mercator [OR]
RewriteCond %{HTTP_USER_AGENT} UIowaCrawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} URL_Spider_Pro [OR]
RewriteCond %{HTTP_USER_AGENT} UtilMind [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Vacuum [OR]
RewriteCond %{HTTP_USER_AGENT} vagabondo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} vayala [NC,OR]
RewriteCond %{HTTP_USER_AGENT} visibilitygap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} vspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} w3mir [NC,OR]
RewriteCond %{HTTP_USER_AGENT} web\.by\.mail [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Web\ Data\ Extractor [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Web\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} Webclipping [OR]
RewriteCond %{HTTP_USER_AGENT} webcollector [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} webcraft@bea [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webdevil [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webdownloader [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Webdup [OR]
RewriteCond %{HTTP_USER_AGENT} WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} WebHook [OR]
RewriteCond %{HTTP_USER_AGENT} Webinator [OR]
RewriteCond %{HTTP_USER_AGENT} WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} WEBMASTERS [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebMiner [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebMirror [OR]
RewriteCond %{HTTP_USER_AGENT} webmole [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} WebSnake [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Webster [OR]
RewriteCond %{HTTP_USER_AGENT} WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} websucker [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webvac [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webwalk [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} webweasel [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} Wget [OR]
RewriteCond %{HTTP_USER_AGENT} whizbang [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WhosTalking [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Widow [OR]
RewriteCond %{HTTP_USER_AGENT} WISEbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WUMPUS [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Wweb [OR]
RewriteCond %{HTTP_USER_AGENT} WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} XGET [NC,OR]
RewriteCond %{HTTP_USER_AGENT} x-Tractor [OR]
RewriteRule ^.*$ https://www.google.com [R,L]

En français : si une visite arrive avec l'un de ces user-agent, elle sera immédiatement renvoyée vers Google (ou le site de votre choix en changeant l'URL indiquée à la dernière ligne). C'est une méthode qui a le mérite de bloquer les aspirateurs n'ayant pas modifié leur user-agent mais il faudra penser à mettre à jour cette liste pour éviter d'avoir des trous dans votre filet de protection. Je le rappelle, cette méthode n'est efficace que si l'user-agent de l'aspirateur n'a pas été falsifié.

Si cette étape n'était pas suffisante, nous allons voir qu'il existe d'autres solutions afin de bloquer les aspirateurs les plus malins.

Bloquer l'aspirateur avec un script PhP

Revenons d'abord à notre aspirateur. Son rôle est de visiter et de copier votre site à partir d'un crawl des liens qui s'y trouvent. Comme c'est un programme, il va donc effectuer cette requête en un temps qu'aucun être humain ne pourra jamais égaler (c'est à dire en quelques secondes ou quelques minutes, maximum) en passant par des pages qu'aucun humain ne visiterait.
Dès lors, il est assez facile d'imaginer différents scénarios qui permettent de bloquer ces aspirateurs. Je vous en ai trouvé 3 qui me paraissent efficaces :

  1. http://www.1001bd.com/stop_aspirateurs/

    Ce script est en fait un compteur de visite qui bloque l'adresse IP au-delà d'un certain nombre de visite par minute. Dans cette configuration, un aspirateur sera donc bloqué. L'inconvénient de cette méthode est que le script doit être placé sur chaque page du site et qu'il consomme beaucoup de ressources (3 requêtes SQL par page).

  2. http://www.tonsite.info/article55/script-anti-aspirateur-de-site

    Ici, on applique la méthode du champ de mines : l'aspirateur (ou le robot) qui ne respecte pas le chemin balisé se prendra les pieds dans le script, verra son adresse IP ajoutée au fichier .htaccess et sera bloqué. L'internaute lambda ne remarque absolument rien.

  3. http://www.lephpfacile.com/howto/9-comment-faire-un-anti-aspirateur-de-site-en-php

    Le principe de ce script est d'envoyer l'aspirateur sur une page qui lui est dédiée (une page piège) afin de pouvoir bloquer son adresse IP. J'aime bien le principe de l'image de 1px qui est mis en oeuvre dans cet exemple.

  4. http://www.php-astux.info/script-traceip-anti-aspirateur-site-web.php

    L'intérêt de ce script est qu'il actualise celui de RenardRouge (www.1001bd.com) puisqu'il est désormais compatbile avec PhP 7 et qu'il apporte plusieurs évolutions qui étaient proposées par l'auteur initial. Ce script présente en outre une optimisation du code source.

Les plus observateurs d'entre vous ont note que ces 3 solutions ne datent pas d'hier, preuve en est que le fléau de l'aspiration de site est ancien.

Quelles solutions ?

Si vous n'avez pas su protéger votre site à temps, vous arrivez à cette partie de l'article en quête d'une solution juridique pour faire cesser le trouble causé par la présence en ligne d'une copie de votre site.

Les solutions juridiques existent, fort heureusement. La première d'entre elles consiste à agir immédiatement en contactant le registrar et/ou de l'hébergeur où est enregistré le nom de domaine de l'escroc. Voici la marche à suivre :

  1. Identifier l'hébergeur et le registrar du nom de domaine en utilisant un service comme https://www.whois.net.

  2. Envoyez votre plainte à l'adresse mail générique abuse @ nom-du-registrar.com suivant le modèle ci-dessous :

    Abuse Loisel

    Avec ce type de message, mon client a obtenu gain de cause en à peine quelques heures. La preuve en image :

    Bloquage site abus LWS

  3. En cas d'absence de réaction ou de réponse de la part du registrar, il ne vous restera plus qu'à contacter un/e avocat/e spécialisé en droit du numérique pour faire valoir vos droits.

Conclusion

L'aspiration de site n'est pas un phénomène nouveau mais si son utilisation première est louable, force est de reconnaitre qu'elle a été depuis longtemps détournée au profit d'intérêts moins avouables. Il convient donc de protéger son site en appliquant dès que possible les mesures préconisées dans cet article. Et si vous avez besoin d'aide, n'hésitez pas à me contacter.

Si vous avez été victime d'une aspiration, n'hésitez pas à partager votre expérience dans les commentaires car cela pourra aider d'autres personnes.

Aspirer un site est une méthode principalement utilisée en cas de mauvaise connexion Internet car cela évite d'avoir à supporter le temps de chargement et les éventuelles coupures. Le site ainsi aspiré est enregistré sur le disque dur et s’ouvre comme n’importe quel fichier, hors connexion. Il est vrai qu'avec nos réseaux à hautes vitesses, cela peut sembler anachronique mais n'oubliez pas que même en France, tout le monde n'a pas accès à ces technologies. Cela peut donc être être quelque chose de très utile, si l'on garde en tête que l'univers du web n'est pas peuplé que de bonnes âmes.

En effet, il arrive parfois que l'aspiration d'un site soit motivée par des raisons bien moins avouables. Soyons clairs, une aspiration de site permet aux escrocs d'économiser de nombreuses heures de travail (et de nombreux euros). Cela permet de disposer d'un site "prêt à l'emploi" avec des contenus déjà rédigés. Ce type d'utilisation est bien entendu totalement illégale. J'ai été confronté récemment à deux cas frauduleux d'aspiration de sites, ce qui m'a amené à me pencher sur cette question.

Aspiration Solutis
Aspiration Loisel

Dans cet article, nous verrons quels peuvent être les dommages collatéraux d'une aspiration frauduleuse d'un site. Parce qu'il en existe, je vous présenterai ensuite quelques solutions techniques pour vous protéger et enfin, nous verrons comment vous défendre si malgré les protections mises en place, vous êtiez victime d'une aspiration.

Quelles conséquences ?

Comme vous allez le constater, les conséquences d'une aspiration de site peuvent être nombreuses et vraiment dommageables pour la victime.

Conséquences morales

Même si l'on est de nature calme et placide, découvrir que son site a été "volé" et qu'il est utilisé par des escrocs ne doit pas être une expérience des plus agréables à vivre. Une fois l'effet de surprise passé, vous constatez impuissant à un détournement manifeste de votre travail (et de votre investissement) par des personnes sans scrupules. Et le pire, c'est que vous ne pouvez rien faire !

Conséquences immatérielles

Egalement au rayon des mauvaises nouvelles, l'utilisation (illégale) d'un site peut également porter atteinte à l'image de la marque du site copié. Inutile de vous dire que les dommages peuvent rapidement être catastrophiques. Outre le droit d'auteur (un site web est une création, dois-je le rappeller ?), un site contient généralement un logo, une charte graphique, des images et des textes. Tous ces éléments appartiennent au site à son propriétaire. L'utilisation sans consentement de ces éléments est donc parfaitement illégale ici.

Conséquences financières

Si un site est aspiré et utilisé en ligne, c'est principalement pour économiser du temps et donc de l'argent. Et ces économies vont se faire au détriment du propriétaire du site aspiré. En effet, l'escroc n'aura pas à écrire ni les articles, ni les balises title et description du site aspiré. De ce fait, on se retrouvera en présence d'un cas manifeste de contenus dupliqués. Et dans ce cas, Google pénalisera les deux sites. Double punition pour la victime.

Le temps que vous vous rendiez compte de la situation, l'escroc aura peut-être détourné un ou plusieurs clients de votre site. Certes, il est difficile de chiffrer le préjudice mais ce n'est pas à exclure. Sachez que dans l'un des deux cas que j'ai rencontré, l'escroc utilisait jusqu'au logo de mon client pour ses "factures" !

Aussi et pour vous éviter des migraines et des nervous breakdown, nous allons maitenant voir comment protéger son site contre les aspirateurs de site.

Quelles solutions ?

Autant être franc, il n'existe pas de solutions miracles permettant de bloquer à 100% l'aspiration d'un site web. Tout ce qu'il est possible de faire, c'est de freiner au maximum l'aspiration au point de la rendre inutile pour l'escroc.

Pour faire court, retenez que

  • Si vous voulez bloquer les aspirateurs pour protéger votre site et vos données, oubliez cette idée.
  • Si vous voulez réduire la consommation de votre bande passante liée à l'aspiration, alors là oui !

Mais avant de passer en revue les solutions, voyons d'abord comment fonctionne un aspirateur de site.

Schématiquement, un aspirateur de sites va d'abord charger une première page, puis, de manière récursive, charger ensuite toutes les autres pages du site comme s'il cliquait sur tous les liens présents dans le site. Chaque page est alors enregistrée. Détail amusant, c'est comme ça que fonctionne GoogleBot :)

La bonne nouvelle est que chaque aspirateur a une signature (un user-agent) et qu'il est repérable par le fait qu'il effectue un grand nombre de requêtes en un temps très court depuis la même adresse IP. A partir de là, il devient plus facile de savoir où et comment le bloquer. Mais on ne va surtout pas bloquer GoogleBot, rassurez-vous.

Bloquer l'aspirateur via son user-agent

Cela peut sembler une bonne idée mais il faut savoir que certains aspirateurs peuvent imiter la signature d'un navigateur web et donc, se faire passer pour Firefox ou Chrome. Mais ne vous inquiétez pas, on s'occupera de ceux-là un peu plus tard :)

Pour l'instant, on va déjà éliminer les aspirateurs les plus courants et les plus simples. Pour ce faire, vous pouvez bloquer ces user-agent en ajoutant cette instruction dans votre fichier .htaccess (si votre serveur est de type Apache) :


RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^FlashGet.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HTTrack.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MemoWeb.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$
RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR]
RewriteCond %{HTTP_USER_AGENT} Advanced\ Email\ Extractor [OR]
RewriteCond %{HTTP_USER_AGENT} almaden [NC,OR]
RewriteCond %{HTTP_USER_AGENT} @nonymouse [OR]
RewriteCond %{HTTP_USER_AGENT} Art-Online [OR]
RewriteCond %{HTTP_USER_AGENT} CherryPicker [OR]
RewriteCond %{HTTP_USER_AGENT} Crescent\ Internet\ ToolPack [OR]
RewriteCond %{HTTP_USER_AGENT} DirectUpdate [OR]
RewriteCond %{HTTP_USER_AGENT} Download\ Accelerator [OR]
RewriteCond %{HTTP_USER_AGENT} eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} echo\ extense [OR]
RewriteCond %{HTTP_USER_AGENT} EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} Fetch\ API\ Request [OR]
RewriteCond %{HTTP_USER_AGENT} FlashGet [NC,OR]
RewriteCond %{HTTP_USER_AGENT} frontpage [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} HTTP\ agent [OR]
RewriteCond %{HTTP_USER_AGENT} HTTPConnect [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [OR]
RewriteCond %{HTTP_USER_AGENT} IPiumBot\ laurion(dot)com [OR]
RewriteCond %{HTTP_USER_AGENT} Kapere [OR]
RewriteCond %{HTTP_USER_AGENT} libwww-perl [OR]
RewriteCond %{HTTP_USER_AGENT} Microsoft\ URL\ Control [OR]
RewriteCond %{HTTP_USER_AGENT} minibot\(NaverRobot\) [OR]
RewriteCond %{HTTP_USER_AGENT} NICErsPRO [OR]
RewriteCond %{HTTP_USER_AGENT} NPBot [OR]
RewriteCond %{HTTP_USER_AGENT} Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} Program\ Shareware [OR]
RewriteCond %{HTTP_USER_AGENT} QuepasaCreep [OR]
RewriteCond %{HTTP_USER_AGENT} SiteMapper [OR]
RewriteCond %{HTTP_USER_AGENT} Star\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} SurveyBot [OR]
RewriteCond %{HTTP_USER_AGENT} Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} Telesoft [OR]
RewriteCond %{HTTP_USER_AGENT} TuringOS [OR]
RewriteCond %{HTTP_USER_AGENT} TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} vobsub [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webbandit [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebCapture [OR]
RewriteCond %{HTTP_USER_AGENT} webcollage [OR]
RewriteCond %{HTTP_USER_AGENT} WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} WebDAV [OR]
RewriteCond %{HTTP_USER_AGENT} WebEmailExtractor [OR]
RewriteCond %{HTTP_USER_AGENT} WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} WEBsaver [OR]
RewriteCond %{HTTP_USER_AGENT} WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} Wget [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Wysigot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} Zeus [OR]
RewriteCond %{HTTP_REFERER} ^XXX
RewriteCond %{HTTP_USER_AGENT} ADSARobot [OR]
RewriteCond %{HTTP_USER_AGENT} ah-ha [NC,OR]
RewriteCond %{HTTP_USER_AGENT} aktuelles [NC,OR]
RewriteCond %{HTTP_USER_AGENT} amzn_assoc [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ASSORT [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ATHENS [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Atomz [OR]
RewriteCond %{HTTP_USER_AGENT} attach [NC,OR]
RewriteCond %{HTTP_USER_AGENT} attache [NC,OR]
RewriteCond %{HTTP_USER_AGENT} autoemailspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} BackWeb [OR]
RewriteCond %{HTTP_USER_AGENT} Bandit [OR]
RewriteCond %{HTTP_USER_AGENT} BatchFTP [OR]
RewriteCond %{HTTP_USER_AGENT} bdfetch [NC,OR]
RewriteCond %{HTTP_USER_AGENT} big.brother [NC,OR]
RewriteCond %{HTTP_USER_AGENT} BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} bmclient [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Boston\ Project [OR]
RewriteCond %{HTTP_USER_AGENT} BravoBrian\ SpiderEngine\ MarcoPolo [OR]
RewriteCond %{HTTP_USER_AGENT} Buddy [OR]
RewriteCond %{HTTP_USER_AGENT} Bullseye [NC,OR]
RewriteCond %{HTTP_USER_AGENT} bumblebee [NC,OR]
RewriteCond %{HTTP_USER_AGENT} capture [OR]
RewriteCond %{HTTP_USER_AGENT} ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} CICC [OR]
RewriteCond %{HTTP_USER_AGENT} clipping [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Crescent [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Crescent\ Internet\ ToolPak [OR]
RewriteCond %{HTTP_USER_AGENT} Custo [OR]
RewriteCond %{HTTP_USER_AGENT} cyberalert [OR]
RewriteCond %{HTTP_USER_AGENT} Deweb [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Diagem [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Digger [OR]
RewriteCond %{HTTP_USER_AGENT} Digimarc [OR]
RewriteCond %{HTTP_USER_AGENT} DIIbot [OR]
RewriteCond %{HTTP_USER_AGENT} disco [NC,OR]
RewriteCond %{HTTP_USER_AGENT} DISCoFinder [OR]
RewriteCond %{HTTP_USER_AGENT} Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} Download\ Wonder [OR]
RewriteCond %{HTTP_USER_AGENT} Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} Drip [OR]
RewriteCond %{HTTP_USER_AGENT} DSurf15a [OR]
RewriteCond %{HTTP_USER_AGENT} DTS.Agent [NC,OR]
RewriteCond %{HTTP_USER_AGENT} EasyDL [OR]
RewriteCond %{HTTP_USER_AGENT} ecollector [NC,OR]
RewriteCond %{HTTP_USER_AGENT} efp@gmx\.net [OR]
RewriteCond %{HTTP_USER_AGENT} Email\ Extractor [OR]
RewriteCond %{HTTP_USER_AGENT} EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} fastlwspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} FavOrg [OR]
RewriteCond %{HTTP_USER_AGENT} Favorites\ Sweeper [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Fetch [NC,OR]
RewriteCond %{HTTP_USER_AGENT} FEZhead [NC,OR]
RewriteCond %{HTTP_USER_AGENT} FileHound [OR]
RewriteCond %{HTTP_USER_AGENT} FlashGet\ WebWasher [OR]
RewriteCond %{HTTP_USER_AGENT} FlickBot [OR]
RewriteCond %{HTTP_USER_AGENT} fluffy [NC,OR]
RewriteCond %{HTTP_USER_AGENT} GalaxyBot [OR]
RewriteCond %{HTTP_USER_AGENT} Generic [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Getleft [NC,OR]
RewriteCond %{HTTP_USER_AGENT} GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} GetSmart [OR]
RewriteCond %{HTTP_USER_AGENT} GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} GetWebPage [NC,OR]
RewriteCond %{HTTP_USER_AGENT} gigabaz [OR]
RewriteCond %{HTTP_USER_AGENT} Girafabot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} go-ahead-got-it [NC,OR]
RewriteCond %{HTTP_USER_AGENT} GornKer [OR]
RewriteCond %{HTTP_USER_AGENT} Grabber [NC,OR]
RewriteCond %{HTTP_USER_AGENT} GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} Green\ Research [OR]
RewriteCond %{HTTP_USER_AGENT} Harvest [NC,OR]
RewriteCond %{HTTP_USER_AGENT} hhjhj@yahoo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} hloader [OR]
RewriteCond %{HTTP_USER_AGENT} HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HomePageSearch [OR]
RewriteCond %{HTTP_USER_AGENT} httpdown [OR]
RewriteCond %{HTTP_USER_AGENT} http\ generic [OR]
RewriteCond %{HTTP_USER_AGENT} IBM_Planetwide [OR]
RewriteCond %{HTTP_USER_AGENT} Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} imagefetch [OR]
RewriteCond %{HTTP_USER_AGENT} IncyWincy [NC,OR]
RewriteCond %{HTTP_USER_AGENT} informant [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Ingelin [NC,OR]
RewriteCond %{HTTP_USER_AGENT} InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} InternetLinkAgent [OR]
RewriteCond %{HTTP_USER_AGENT} InternetSeer\.com [OR]
RewriteCond %{HTTP_USER_AGENT} Iria [OR]
RewriteCond %{HTTP_USER_AGENT} Irvine [OR]
RewriteCond %{HTTP_USER_AGENT} JBH*Agent [OR]
RewriteCond %{HTTP_USER_AGENT} JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} JOC [OR]
RewriteCond %{HTTP_USER_AGENT} JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} JustView [OR]
RewriteCond %{HTTP_USER_AGENT} KWebGet [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Lachesis [OR]
RewriteCond %{HTTP_USER_AGENT} larbin [NC,OR]
RewriteCond %{HTTP_USER_AGENT} LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} LexiBot [OR]
RewriteCond %{HTTP_USER_AGENT} lftp [OR]
RewriteCond %{HTTP_USER_AGENT} libwww [OR]
RewriteCond %{HTTP_USER_AGENT} likse [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Link*Sleuth [OR]
RewriteCond %{HTTP_USER_AGENT} LINKS\ ARoMATIZED [OR]
RewriteCond %{HTTP_USER_AGENT} LinkWalker [OR]
RewriteCond %{HTTP_USER_AGENT} LWP [NC,OR]
RewriteCond %{HTTP_USER_AGENT} lwp-trivial [OR]
RewriteCond %{HTTP_USER_AGENT} Magnet [OR]
RewriteCond %{HTTP_USER_AGENT} Mac\ Finder [OR]
RewriteCond %{HTTP_USER_AGENT} Mag-Net [OR]
RewriteCond %{HTTP_USER_AGENT} Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} MCspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} Mirror [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Missigua\ Locator [OR]
RewriteCond %{HTTP_USER_AGENT} Mister\ PiX [NC,OR]
RewriteCond %{HTTP_USER_AGENT} MMMtoCrawl\/UrlDispatcherLLL [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla$ [OR]
RewriteCond %{HTTP_USER_AGENT} MSProxy [OR]
RewriteCond %{HTTP_USER_AGENT} multithreaddb [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nationaldirectory [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} NetCarta [NC,OR]
RewriteCond %{HTTP_USER_AGENT} NetMechanic [OR]
RewriteCond %{HTTP_USER_AGENT} netprospector [NC,OR]
RewriteCond %{HTTP_USER_AGENT} NetResearchServer [NC,OR]
RewriteCond %{HTTP_USER_AGENT} NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} NetZip\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} NetZippy [OR]
RewriteCond %{HTTP_USER_AGENT} NEWT [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nicerspro [NC,OR]
RewriteCond %{HTTP_USER_AGENT} NPBot [OR]
RewriteCond %{HTTP_USER_AGENT} Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} OpaL [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Openfind [OR]
RewriteCond %{HTTP_USER_AGENT} OpenTextSiteCrawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} OrangeBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PackRat [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} pavuk [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PersonaPilot [OR]
RewriteCond %{HTTP_USER_AGENT} pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} PingALink [OR]
RewriteCond %{HTTP_USER_AGENT} Pockey [OR]
RewriteCond %{HTTP_USER_AGENT} Proxy [OR]
RewriteCond %{HTTP_USER_AGENT} psbot [OR]
RewriteCond %{HTTP_USER_AGENT} PSurf [NC,OR]
RewriteCond %{HTTP_USER_AGENT} puf [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Pump [OR]
RewriteCond %{HTTP_USER_AGENT} PushSite [NC,OR]
RewriteCond %{HTTP_USER_AGENT} QRVA [OR]
RewriteCond %{HTTP_USER_AGENT} RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} Reaper [OR]
RewriteCond %{HTTP_USER_AGENT} Recorder [OR]
RewriteCond %{HTTP_USER_AGENT} ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} replacer [NC,OR]
RewriteCond %{HTTP_USER_AGENT} RepoMonkey [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Robozilla [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Rover [NC,OR]
RewriteCond %{HTTP_USER_AGENT} RPT-HTTPClient [OR]
RewriteCond %{HTTP_USER_AGENT} Rsync [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SearchExpress [OR]
RewriteCond %{HTTP_USER_AGENT} searchhippo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} searchterms\.it [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Second\ Street\ Research [OR]
RewriteCond %{HTTP_USER_AGENT} Seeker [OR]
RewriteCond %{HTTP_USER_AGENT} Shai [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sitecheck [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} SlySearch [OR]
RewriteCond %{HTTP_USER_AGENT} SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} snagger [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SpaceBison [OR]
RewriteCond %{HTTP_USER_AGENT} Spegla [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SpiderBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SqWorm [OR]
RewriteCond %{HTTP_USER_AGENT} Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} SurfWalker [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Szukacz [OR]
RewriteCond %{HTTP_USER_AGENT} tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} tarspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Templeton [NC,OR]
RewriteCond %{HTTP_USER_AGENT} TrueRobot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} TV33_Mercator [OR]
RewriteCond %{HTTP_USER_AGENT} UIowaCrawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} URL_Spider_Pro [OR]
RewriteCond %{HTTP_USER_AGENT} UtilMind [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Vacuum [OR]
RewriteCond %{HTTP_USER_AGENT} vagabondo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} vayala [NC,OR]
RewriteCond %{HTTP_USER_AGENT} visibilitygap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} vspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} w3mir [NC,OR]
RewriteCond %{HTTP_USER_AGENT} web\.by\.mail [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Web\ Data\ Extractor [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Web\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} Webclipping [OR]
RewriteCond %{HTTP_USER_AGENT} webcollector [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} webcraft@bea [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webdevil [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webdownloader [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Webdup [OR]
RewriteCond %{HTTP_USER_AGENT} WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} WebHook [OR]
RewriteCond %{HTTP_USER_AGENT} Webinator [OR]
RewriteCond %{HTTP_USER_AGENT} WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} WEBMASTERS [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebMiner [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebMirror [OR]
RewriteCond %{HTTP_USER_AGENT} webmole [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} WebSnake [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Webster [OR]
RewriteCond %{HTTP_USER_AGENT} WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} websucker [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webvac [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webwalk [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} webweasel [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} Wget [OR]
RewriteCond %{HTTP_USER_AGENT} whizbang [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WhosTalking [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Widow [OR]
RewriteCond %{HTTP_USER_AGENT} WISEbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WUMPUS [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Wweb [OR]
RewriteCond %{HTTP_USER_AGENT} WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} XGET [NC,OR]
RewriteCond %{HTTP_USER_AGENT} x-Tractor [OR]
RewriteRule ^.*$ https://www.google.com [R,L]

En français : si une visite arrive avec l'un de ces user-agent, elle sera immédiatement renvoyée vers Google (ou le site de votre choix en changeant l'URL indiquée à la dernière ligne). C'est une méthode qui a le mérite de bloquer les aspirateurs n'ayant pas modifié leur user-agent mais il faudra penser à mettre à jour cette liste pour éviter d'avoir des trous dans votre filet de protection. Je le rappelle, cette méthode n'est efficace que si l'user-agent de l'aspirateur n'a pas été falsifié.

Si cette étape n'était pas suffisante, nous allons voir qu'il existe d'autres solutions afin de bloquer les aspirateurs les plus malins.

Bloquer l'aspirateur avec un script PhP

Revenons d'abord à notre aspirateur. Son rôle est de visiter et de copier votre site à partir d'un crawl des liens qui s'y trouvent. Comme c'est un programme, il va donc effectuer cette requête en un temps qu'aucun être humain ne pourra jamais égaler (c'est à dire en quelques secondes ou quelques minutes, maximum) en passant par des pages qu'aucun humain ne visiterait.
Dès lors, il est assez facile d'imaginer différents scénarios qui permettent de bloquer ces aspirateurs. Je vous en ai trouvé 3 qui me paraissent efficaces :

  1. http://www.1001bd.com/stop_aspirateurs/

    Ce script est en fait un compteur de visite qui bloque l'adresse IP au-delà d'un certain nombre de visite par minute. Dans cette configuration, un aspirateur sera donc bloqué. L'inconvénient de cette méthode est que le script doit être placé sur chaque page du site et qu'il consomme beaucoup de ressources (3 requêtes SQL par page).

  2. http://www.tonsite.info/article55/script-anti-aspirateur-de-site

    Ici, on applique la méthode du champ de mines : l'aspirateur (ou le robot) qui ne respecte pas le chemin balisé se prendra les pieds dans le script, verra son adresse IP ajoutée au fichier .htaccess et sera bloqué. L'internaute lambda ne remarque absolument rien.

  3. http://www.lephpfacile.com/howto/9-comment-faire-un-anti-aspirateur-de-site-en-php

    Le principe de ce script est d'envoyer l'aspirateur sur une page qui lui est dédiée (une page piège) afin de pouvoir bloquer son adresse IP. J'aime bien le principe de l'image de 1px qui est mis en oeuvre dans cet exemple.

  4. http://www.php-astux.info/script-traceip-anti-aspirateur-site-web.php

    L'intérêt de ce script est qu'il actualise celui de RenardRouge (www.1001bd.com) puisqu'il est désormais compatbile avec PhP 7 et qu'il apporte plusieurs évolutions qui étaient proposées par l'auteur initial. Ce script présente en outre une optimisation du code source.

Les plus observateurs d'entre vous ont note que ces 3 solutions ne datent pas d'hier, preuve en est que le fléau de l'aspiration de site est ancien.

Quelles solutions ?

Si vous n'avez pas su protéger votre site à temps, vous arrivez à cette partie de l'article en quête d'une solution juridique pour faire cesser le trouble causé par la présence en ligne d'une copie de votre site.

Les solutions juridiques existent, fort heureusement. La première d'entre elles consiste à agir immédiatement en contactant le registrar et/ou de l'hébergeur où est enregistré le nom de domaine de l'escroc. Voici la marche à suivre :

  1. Identifier l'hébergeur et le registrar du nom de domaine en utilisant un service comme https://www.whois.net.

  2. Envoyez votre plainte à l'adresse mail générique abuse @ nom-du-registrar.com suivant le modèle ci-dessous :

    Abuse Loisel

    Avec ce type de message, mon client a obtenu gain de cause en à peine quelques heures. La preuve en image :

    Bloquage site abus LWS

  3. En cas d'absence de réaction ou de réponse de la part du registrar, il ne vous restera plus qu'à contacter un/e avocat/e spécialisé en droit du numérique pour faire valoir vos droits.

Conclusion

L'aspiration de site n'est pas un phénomène nouveau mais si son utilisation première est louable, force est de reconnaitre qu'elle a été depuis longtemps détournée au profit d'intérêts moins avouables. Il convient donc de protéger son site en appliquant dès que possible les mesures préconisées dans cet article. Et si vous avez besoin d'aide, n'hésitez pas à me contacter.

Si vous avez été victime d'une aspiration, n'hésitez pas à partager votre expérience dans les commentaires car cela pourra aider d'autres personnes.

Daniel Dubois - auteur à web-eau.net

A propos de Daniel

Passionné par le Web depuis 2007, Daniel défend la veuve et l'orphelin du web en créant des sites respectueux du W3C. Fort de son expérience, il partage ses connaissances dans un état d'esprit open source. Très impliqué en faveur du CMS Joomla depuis 2014, il est également conférencier et fondateur du Joomla User Group Breizh.

web-eau.net

29800 Landerneau

06 74 50 27 99

daniel@web-eau.net