jeudi, 30 octobre 2014 00:00

.htaccess: empêcher l'accès de votre site à plus de 150 bots (spams, exploit)

Écrit par

Il reste un autre point important à aborder avec le .htaccess, la sécurité. Grâce à ce petit fichier, vous pouvez empêcher les bots de vous scanner et de vous crawler, vous pouvez limiter l'accès à votre site à des visiteurs de référents plus ou moins douteux, etc. Ici, je vais vous proposer une simple liste clé en main qu'il vous suffira de copier/coller dans votre .htaccess pour vous départir de nombreux bots qui ne font que consommer de la bande passante et potentiellement vous ennuyer.

Un .htaccess ne sert pas qu'à bloquer des référents. Il peut aussi permettre de bloquer des user agent, c'est-à-dire ce qui permet de savoir théoriquement ce qui fait des requêtes à votre site.

Par exemple, chaque navigateur possède son user-agent propre qui permet de l'identifier. Nous sommes d'accord que celui-ci est masquable, mais il faut savoir que nombreux sont les utilisateurs de bots qui ne modifient absolument rien, ce qui limitera déjà certains types d'accès.

Une liste est élaborée par les utilisateurs Joomla depuis des années et revient fréquemment sur les forums. N'importe qui peut utiliser ce bout de .htaccess car il ne dépend en rien du CMS utilisé. J'ai tenté de le tenir à jour le plus possible, ce qui l'a fait passer d'une cinquantaine de bots à 168.

Ainsi, vous pouvez copier ceci dans votre .htaccess afin de limiter l'accès aux spammers, aux siphons (qui aspirent votre site) et aux bots scannant des failles de sécurité:

########## Bloquer les bots spam, exploit, siphon
SetEnvIfNoCase User-Agent "^BlackWidow"  bad_bot
SetEnvIfNoCase User-Agent "^Bot mailto:Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."  bad_bot
SetEnvIfNoCase User-Agent "^CherryPicker"  bad_bot
SetEnvIfNoCase User-Agent "^ChinaClaw"  bad_bot
SetEnvIfNoCase User-Agent "^Custo"  bad_bot
SetEnvIfNoCase User-Agent "^Crescent"  bad_bot
SetEnvIfNoCase User-Agent "^DISCo"  bad_bot
SetEnvIfNoCase User-Agent "^DIIbot"  bad_bot
SetEnvIfNoCase User-Agent "^Download Demon"  bad_bot
SetEnvIfNoCase User-Agent "^eCatch"  bad_bot
SetEnvIfNoCase User-Agent "^EirGrabber"  bad_bot
SetEnvIfNoCase User-Agent "^EmailCollector"  bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon"  bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf"  bad_bot
SetEnvIfNoCase User-Agent "^Express WebPictures"  bad_bot
SetEnvIfNoCase User-Agent "^ExtractorPro"  bad_bot
SetEnvIfNoCase User-Agent "^EyeNetIE"  bad_bot
SetEnvIfNoCase User-Agent "^FlashGet"  bad_bot
SetEnvIfNoCase User-Agent "^GetRight"  bad_bot
SetEnvIfNoCase User-Agent "^GetWeb!"  bad_bot
SetEnvIfNoCase User-Agent "^Go!Zilla"  bad_bot
SetEnvIfNoCase User-Agent "^Go-Ahead-Got-It"  bad_bot
SetEnvIfNoCase User-Agent "^GrabNet"  bad_bot
SetEnvIfNoCase User-Agent "^Grafula"  bad_bot
SetEnvIfNoCase User-Agent "^HMView"  bad_bot
SetEnvIfNoCase User-Agent "HTTrack [NC,OR]
SetEnvIfNoCase User-Agent "^Image Stripper"  bad_bot
SetEnvIfNoCase User-Agent "^Image Sucker"  bad_bot
SetEnvIfNoCase User-Agent "Indy Library [NC,OR]
SetEnvIfNoCase User-Agent "^InterGET"  bad_bot
SetEnvIfNoCase User-Agent "^Internet Ninja"  bad_bot
SetEnvIfNoCase User-Agent "^JetCar"  bad_bot
SetEnvIfNoCase User-Agent "^JOC Web Spider"  bad_bot
SetEnvIfNoCase User-Agent "^larbin"  bad_bot
SetEnvIfNoCase User-Agent "^LeechFTP"  bad_bot
SetEnvIfNoCase User-Agent "^libwww-perl[OR]
SetEnvIfNoCase User-Agent "^Mass Downloader"  bad_bot
SetEnvIfNoCase User-Agent "^MIDown tool"  bad_bot
SetEnvIfNoCase User-Agent "^Mister PiX"  bad_bot
SetEnvIfNoCase User-Agent "^Navroad"  bad_bot
SetEnvIfNoCase User-Agent "^NearSite"  bad_bot
SetEnvIfNoCase User-Agent "^NetAnts"  bad_bot
SetEnvIfNoCase User-Agent "^NetSpider"  bad_bot
SetEnvIfNoCase User-Agent "^Net Vampire"  bad_bot
SetEnvIfNoCase User-Agent "^NetZIP"  bad_bot
SetEnvIfNoCase User-Agent "^NICErsPRO"  bad_bot
SetEnvIfNoCase User-Agent "^Octopus"  bad_bot
SetEnvIfNoCase User-Agent "^Offline Explorer"  bad_bot
SetEnvIfNoCase User-Agent "^Offline Navigator"  bad_bot
SetEnvIfNoCase User-Agent "^PageGrabber"  bad_bot
SetEnvIfNoCase User-Agent "^Papa Foto"  bad_bot
SetEnvIfNoCase User-Agent "^pavuk"  bad_bot
SetEnvIfNoCase User-Agent "^psbot"  bad_bot
SetEnvIfNoCase User-Agent "^pcBrowser"  bad_bot
SetEnvIfNoCase User-Agent "^RealDownload"  bad_bot
SetEnvIfNoCase User-Agent "^ReGet"  bad_bot
SetEnvIfNoCase User-Agent "^sitecheck.internetseer.com"  bad_bot
SetEnvIfNoCase User-Agent "^SiteSnagger"  bad_bot
SetEnvIfNoCase User-Agent "^SmartDownload"  bad_bot
SetEnvIfNoCase User-Agent "^SuperBot"  bad_bot
SetEnvIfNoCase User-Agent "^SuperHTTP"  bad_bot
SetEnvIfNoCase User-Agent "^Surfbot"  bad_bot
SetEnvIfNoCase User-Agent "^tAkeOut"  bad_bot
SetEnvIfNoCase User-Agent "^Teleport Pro"  bad_bot
SetEnvIfNoCase User-Agent "^VoidEYE"  bad_bot
SetEnvIfNoCase User-Agent "^Web Image Collector"  bad_bot
SetEnvIfNoCase User-Agent "^Web Sucker"  bad_bot
SetEnvIfNoCase User-Agent "^WebAuto"  bad_bot
SetEnvIfNoCase User-Agent "^WebCopier"  bad_bot
SetEnvIfNoCase User-Agent "^WebFetch"  bad_bot
SetEnvIfNoCase User-Agent "^WebGo IS"  bad_bot
SetEnvIfNoCase User-Agent "^WebLeacher"  bad_bot
SetEnvIfNoCase User-Agent "^WebReaper"  bad_bot
SetEnvIfNoCase User-Agent "^WebSauger"  bad_bot
SetEnvIfNoCase User-Agent "^Website eXtractor"  bad_bot
SetEnvIfNoCase User-Agent "^Website Quester"  bad_bot
SetEnvIfNoCase User-Agent "^WebStripper"  bad_bot
SetEnvIfNoCase User-Agent "^WebWhacker"  bad_bot
SetEnvIfNoCase User-Agent "^WebZIP"  bad_bot
SetEnvIfNoCase User-Agent "^Wget"  bad_bot
SetEnvIfNoCase User-Agent "^Widow"  bad_bot
SetEnvIfNoCase User-Agent "^WWWOFFLE"  bad_bot
SetEnvIfNoCase User-Agent "^Xaldon WebSpider"  bad_bot
SetEnvIfNoCase User-Agent "^Mozilla.*NEWT" bad_bot
SetEnvIfNoCase User-Agent "^[Ww]eb[Bb]andit" bad_bot
SetEnvIfNoCase User-Agent "^WebEMailExtrac.*" bad_bot
SetEnvIfNoCase User-Agent "^Microsoft.URL" bad_botSetEnvIfNoCase User-Agent "^Black Hole" bad_bot
SetEnvIfNoCase User-Agent "^Titan" bad_bot
SetEnvIfNoCase User-Agent "^CopyRightCheck" bad_bot
SetEnvIfNoCase User-Agent "^ProWebWalker" bad_bot
SetEnvIfNoCase User-Agent "^CheeseBot" bad_bot
SetEnvIfNoCase User-Agent "^Teleport" bad_bot
SetEnvIfNoCase User-Agent "^MIIxpc" bad_bot
SetEnvIfNoCase User-Agent "^Telesoft" bad_bot
SetEnvIfNoCase User-Agent "^Website Quester" bad_bot
SetEnvIfNoCase User-Agent "^moget/2.1" bad_bot
SetEnvIfNoCase User-Agent "^WebZip/4.0" bad_bot
SetEnvIfNoCase User-Agent "^Mister PiX" bad_bot
SetEnvIfNoCase User-Agent "^TheNomad" bad_bot
SetEnvIfNoCase User-Agent "^WWW-Collector-E" bad_bot
SetEnvIfNoCase User-Agent "^RMA" bad_bot
SetEnvIfNoCase User-Agent "^libWeb/clsHTTP" bad_bot
SetEnvIfNoCase User-Agent "^asterias" bad_bot
SetEnvIfNoCase User-Agent "^httplib" bad_bot
SetEnvIfNoCase User-Agent "^turingos" bad_bot
SetEnvIfNoCase User-Agent "^spanner" bad_bot
SetEnvIfNoCase User-Agent "^InfoNaviRobot" bad_bot
SetEnvIfNoCase User-Agent "^Harvest/1.5" bad_bot
SetEnvIfNoCase User-Agent "^Bullseye/1.0" bad_bot
SetEnvIfNoCase User-Agent "^Mozilla/4.0 (compatible; BullsEye; Windows 95)" bad_bot
SetEnvIfNoCase User-Agent "^Crescent Internet ToolPak HTTP OLE Control v.1.0" bad_bot
SetEnvIfNoCase User-Agent "^CherryPickerSE/1.0" bad_bot
SetEnvIfNoCase User-Agent "^CherryPicker /1.0" bad_bot
SetEnvIfNoCase User-Agent "^WebBandit/3.50" bad_bot
SetEnvIfNoCase User-Agent "^NICErsPRO" bad_bot
SetEnvIfNoCase User-Agent "^Microsoft URL Control - 5.01.4511" bad_bot
SetEnvIfNoCase User-Agent "^DittoSpyder" bad_bot
SetEnvIfNoCase User-Agent "^Foobot" bad_bot
SetEnvIfNoCase User-Agent "^WebmasterWorldForumBot" bad_bot
SetEnvIfNoCase User-Agent "^SpankBot" bad_bot
SetEnvIfNoCase User-Agent "^BotALot" bad_bot
SetEnvIfNoCase User-Agent "^lwp-trivial/1.34" bad_bot
SetEnvIfNoCase User-Agent "^lwp-trivial" bad_bot
SetEnvIfNoCase User-Agent "^Wget/1.6" bad_bot
SetEnvIfNoCase User-Agent "^BunnySlippers" bad_bot
SetEnvIfNoCase User-Agent "^Microsoft URL Control - 6.00.8169" bad_bot
SetEnvIfNoCase User-Agent "^URLy Warning" bad_bot
SetEnvIfNoCase User-Agent "^Wget/1.5.3" bad_bot
SetEnvIfNoCase User-Agent "^LinkWalker" bad_bot
SetEnvIfNoCase User-Agent "^cosmos" bad_bot
SetEnvIfNoCase User-Agent "^moget" bad_bot
SetEnvIfNoCase User-Agent "^hloader" bad_bot
SetEnvIfNoCase User-Agent "^humanlinks" bad_bot
SetEnvIfNoCase User-Agent "^LinkextractorPro" bad_bot
SetEnvIfNoCase User-Agent "^Offline Explorer" bad_bot
SetEnvIfNoCase User-Agent "^Mata Hari" bad_bot
SetEnvIfNoCase User-Agent "^LexiBot" bad_bot
SetEnvIfNoCase User-Agent "^Web Image Collector" bad_bot
SetEnvIfNoCase User-Agent "^The Intraformant" bad_bot
SetEnvIfNoCase User-Agent "^True_Robot/1.0" bad_bot
SetEnvIfNoCase User-Agent "^True_Robot" bad_bot
SetEnvIfNoCase User-Agent "^BlowFish/1.0" bad_bot
SetEnvIfNoCase User-Agent "^JennyBot" bad_bot
SetEnvIfNoCase User-Agent "^MIIxpc/4.2" bad_bot
SetEnvIfNoCase User-Agent "^BuiltBotTough" bad_bot
SetEnvIfNoCase User-Agent "^ProPowerBot/2.14" bad_bot
SetEnvIfNoCase User-Agent "^BackDoorBot/1.0" bad_bot
SetEnvIfNoCase User-Agent "^toCrawl/UrlDispatcher" bad_bot
SetEnvIfNoCase User-Agent "^WebEnhancer" bad_bot
SetEnvIfNoCase User-Agent "^TightTwatBot" bad_bot
SetEnvIfNoCase User-Agent "^suzuran" bad_bot
SetEnvIfNoCase User-Agent "^VCI WebViewer VCI WebViewer Win32" bad_bot
SetEnvIfNoCase User-Agent "^VCI" bad_bot
SetEnvIfNoCase User-Agent "^Szukacz/1.4" bad_bot
SetEnvIfNoCase User-Agent "^QueryN Metasearch" bad_bot
SetEnvIfNoCase User-Agent "^Openfind data gathere" bad_bot
SetEnvIfNoCase User-Agent "^Openfind" bad_bot
SetEnvIfNoCase User-Agent "^Xenu's Link Sleuth 1.1c" bad_bot
SetEnvIfNoCase User-Agent "^Xenu's" bad_bot
SetEnvIfNoCase User-Agent "^Zeus" bad_bot
SetEnvIfNoCase User-Agent "^RepoMonkey Bait & Tackle/v1.01" bad_bot
SetEnvIfNoCase User-Agent "^RepoMonkey" bad_bot
SetEnvIfNoCase User-Agent "^Zeus 32297 Webster Pro V2.9 Win32" bad_bot
SetEnvIfNoCase User-Agent "^Webster Pro" bad_bot
SetEnvIfNoCase User-Agent "^EroCrawler" bad_bot
SetEnvIfNoCase User-Agent "^LinkScan/8.1a Unix" bad_bot
SetEnvIfNoCase User-Agent "^Keyword Density/0.9" bad_bot
SetEnvIfNoCase User-Agent "^Kenjin Spider" bad_bot
SetEnvIfNoCase User-Agent "^Cegbfeieh" bad_bot

<Limit GET POST>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</Limit>
########## Fin blocage bots spam, exploit, siphon

Notes importantes

  • Placez tout ceci le plus haut possible dans le .htaccess, juste sous "RewriteEngine On"
  • Si vous avez déjà une section "<Limit GET POST> / </limit>" (en principe très haut dans le .htaccess), remplacez-là par celle-ci
  • Testez votre .htaccess (enfin votre site en fait) avec WannaBrowser

 

7 Commentaires

  • Lien vers le commentaire Sacha jeudi, 27 novembre 2014 18:53 Posté par Sacha

    Merci pour cet article. J'ai juste une question; cela nuit-il au référencement ?

    Merci

  • Lien vers le commentaire Plugngeek jeudi, 27 novembre 2014 21:47 Posté par Plugngeek

    Non absolument pas :)

    Aucune modification proposée dans les différents billets sur le .htaccess ne nuit au référencement.

    En fait, c'est même un petit +. Certains des billets sont très orienté optimisation, ce qui plaît à Google (compression gzip, redirection et quelques trucs dont je n'ai pas encore parlé comme les expire headers, etc.) et accessoirement à l'hébergeur.

  • Lien vers le commentaire Brain De Geek mercredi, 21 janvier 2015 11:51 Posté par Brain De Geek

    Merci pour l'astuce je vais l'appliquer et rajouter un lien dans mon article Les meilleurs plugins / extensions / astuces wordpress en 2015. Bonne continuation

  • Lien vers le commentaire Brain De Geek mercredi, 21 janvier 2015 13:18 Posté par Brain De Geek

    J'ai une belle erreur 500...

  • Lien vers le commentaire Plugngeek mercredi, 21 janvier 2015 14:56 Posté par Plugngeek

    C'est une copie de mon .htaccess. Par contre, faut faire vraiment attention au placement. Il y a aussi une alternative pour certains hébergeurs et à mettre à la fin de ton htaccess :

    RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
    RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
    RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
    RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
    RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
    RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
    RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
    RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
    RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
    RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
    RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
    RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
    RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
    RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [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} ^WebCopier [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [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} ^WebStripper [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Zeus
    ## Note: The final RewriteCond must NOT use the [OR] flag.

    ## Return 403 Forbidden error.
    RewriteRule .* - [F]

  • Lien vers le commentaire Fred mercredi, 21 janvier 2015 16:48 Posté par Fred

    Brain de Geek -> ben ouais faut pas copier cette liste bêtement dans ton fichier, faut aussi l'adapter à ton hébergement...

    C'est le b.a.-ba, quoi.

  • Lien vers le commentaire christophe mardi, 27 janvier 2015 16:38 Posté par christophe

    Bonjour,

    tel quel il plante les sites

    enlevez les lignes se terminant par OR et cela fonctionne ( testé sur deux sites ).

Laissez un commentaire

Assurez-vous d'indiquer les informations obligatoires (*).
Le code HTML n'est pas autorisé.