Anti aspirateur et sites indésirables 

Outils pour webmaster. Trucs et astuces en code HTML, JavaScript, PHP : améliorer son site internet

Les aspirateurs de sites, et les applications "sauvages" du même style, sont la hantise des webmasters. Ces robots vont de lien en lien aspirant à vitesse grand V toutes les pages et les images qu'ils trouvent. Ceci ayant pour effet de diminuer la bande passante, d'encombrer le serveur, générer un grand nombre de hits et ralentir l'accès à votre site aux autres visiteurs. Si vous êtes sur un serveur mutualisé, cela ralentira les autres sites qui partagent avec vous les ressources. Dans ce cas, votre hébergeur fermera votre site jusqu'à ce que vous ayez trouvé une solution technique.
(Voir aussi la page : réduire ses hits.)

Les robots des moteurs de recherche reconnus ont une manière plus civile de visiter votre site. Ils ne le martèlent pas, leur passage est plus discret et ne mobilisent pas toutes les ressources du serveur.
De plus, ces robots sont identifiables et comportent toujours, dans le nom du navigateur, une adresse e-mail ou un lien vers une page web qui explique la manière du spider de surfer sur vos pages avec un lien ou une boite de dialogue pour communiquer vos remarques. Quel en est le résultat observable ? Prenons l'exemple de Pompos, le spider du groupe Iliad. L'analyse des logs montrera qu' il y a plusieurs robots et plusieurs IP qui visitent votre site à des heures ou des jours différents. Voici un extrait des logs d'Outils pour Webmaster :

Date: Wed, 2 Jul 2003 12:57:23 +0200
Navigateur : Pompos/1.3 http://dir.com/pompos.html
Adresse IP : http://212.27.33.165
Nom de domaine : pompos2.dir.com

COMMENT PROSCRIRE CERTAINS ROBOTS
Nota : avant toute chose, assurez-vous de la configuration PHP de votre hébergeur et de la possibilité d'accés à un dossier cgi.

Si vous ne souhaitez pas la visite de certains spiders, aucune technique sophistiquée est nécessaire : une simple mention dans votre fichier robots.txt suffit. Mais il y a aussi ceux qui ne respectent pas ce protocole, c'est ce que nous allons voir plus loin.

Un des moyens pour interdire votre site aux applications qui sont non conformes aux standards du web est d'utiliser le mod_Rewrite dans le fichier .htaccess afin de les exclure. (Voir : code du fichier .htaccess)
Malheureusement, comme la détection se fait en principe sur le nom du USER-AGENT, certains aspirateurs échappent au bannissement car ils peuvent être configurés pour se faire passer comme un simple navigateur Internet Explorer ou Netscape.

Une astuce consiste à les détecter s'ils arrivent sur une page dont la visite est interdite aux spiders des vrais moteurs de recherche et d'indexation (Google, Altavista, Inktomi etc…). Ces derniers respectent tous le protocole suivant :
-    Lorsqu'ils arrivent sur un site, ils recherchent si un fichier robots.txt existe et examinent si leur nom figure dans la liste des spiders interdits. S'ils y figurent, ils ne visitent pas le site. S'ils n'y figurent pas, ils parcourent le fichier robots.txt à la recherche des interdictions écrites par le webmaster et n'iront que sur les dossiers et fichiers qui leur sont autorisés.
-    Lorsqu'ils arrivent sur une page qui leur est autorisée, ils cherchent si existe la balise
<meta name="robots" content="index, follow">
Si la commande " noindex " et/ou " nofollow " est renseignée, ils obéissent à ces instructions et, éventuellement, ne l'indexent pas, ne suivent pas les liens y figurant et continuent l'indexation des autres pages.

TOUS les spiders ne respectant pas ce protocole sont à bannir. Soit, ils récoltent des informations sur votre site pour leur seul intérêt, ce qui ne vous apportera rien en terme de visiteurs, soit ce sont des spiders de peu de technicité rattachés à des moteurs de recherche peu visités, ou bien ce sont des aspirateurs de sites.
Partant de ce principe, nous allons créer une page, en interdire la visite et l'indexation par le fichier robots.txt et la balise <meta name"noindex">. Si la page est visitée et que le lien y figurant est suivit, c'est que se sera par un robot non autorisé, spider ou aspirateur. L'adresse IP sera alors enregistrée et bannie de votre site.

Mise en oeuvre : mettez sur toutes vos pages, où si cela représente trop de travail, déterminez d'après vos statistiques, quelles sont les 3 pages les plus visitées, ou plus si vous le désirez, en y incluant obligatoirement votre page de garde index.html.
Dans chacune d'elles, vous allez emprunter un caractère quelconque, par exemple celui d'une phrase. Mettez au plus haut de la page ce lien le plus près de la balise <body>.
<a href="nolink.htm" style="color: black; text-decoration: none; background: #FFEBCD" onclick="return false;">?</a>
C'est ce lien que vont emprunter en premier les mauvais spiders. Il n'est pas cliquable par un visiteur et il n'y a donc aucun danger que l'un d'entre eux tombe dans le piège et soit exclu.

Exemple : passez le curseur de la souris sur le point final de cette phrase.

Nota :
- Remplacez ?, qui est un exemple de caractère par un . (point) figurant, par exemple, à la fin de la première ligne écrite et visible de votre page.
- style="color: black; - Remplacez black par la couleur du texte associé. Ne donnez pas la même couleur que votre fond d'écran si celui-ci n'est pas une image gif ou jpg.
- text-decoration: none; - Va éliminer le soulignement que possèdent souvent les liens.
- background: #FFEBCD si vos liens en ont un, remplacez la couleur en exemple.
Vous pouvez aussi mettre après onclick="return false;"  : onmouseover="window.status='NE PAS SUIVRE CE LIEN - PIEGE POUR APPLICATIONS INDESIRABLES'; return true;"    test
ou/et  title="NE PAS SUIVRE CE LIEN - PIEGE POUR APPLICATIONS INDESIRABLES"   test

D'autres styles sont possibles. Cela dépend de la configuration de votre page.
N'utilisez pas une image gif transparente de 1pixel x 1 pixel à la place du point. Certains moteurs n'apprécient pas les liens invisibles et pourraient vous déclasser ou vous exclure.

Ce lien conduit le spider vers une page HTML que vous allez créer et que l'on va nommer nolink.htm. Elle sera écrite telle que ci-après et enregistrée à la racine de votre site :

<html>
<head>
<title>Nolink</title>
<meta name="robots" content="noindex, nofollow">
</head>
<body>
<p align="center"><strong><a href="nolink_trap.htm">Ne pas cliquer sur ce lien</a></strong></p>
<p align="center">&nbsp;</p>
<p align="center"><a HREF="Javascript:history.go(-1)">Retour à la page précédente</a></p>
</body>
</html>

 

La balise <meta name="robots" content="noindex, nofollow"> va donner une chance supplémentaire au spider de ne pas suivre le lien présent dans la page.
En effet, si le spider aurait " oublié " de visiter robots.txt ou que par le plus grand des hasards celui-ci soit mal écrit, la commande " nofollow " va lui rappeler l'interdiction de visite.

La page nolink_trap n'existe pas et va bloquer définitivement l'IP du spider ; ce que nous allons voir plus loin.

Nota : comme les robots sont par essence stupides, ne pensez pas qu'ils vérifient la validité des liens. Non, ce qui les intéressent c'est le lien brut. Pour les plus bêtes d'entre eux, mettez un lien vide juste après <body> d'une des pages (Ex : index.html) où vous aurez installé le lien <a href="nolink.htm" onclick="return false;">?</a> conduisant vers nolink.htm. Ajoutez avant le lien <a href="nolink.htm" onclick="return false;">?</a> :

<a href="nolink_trap.htm"></a>

Pourquoi ajouter un lien vide ?
Certains aspirateurs de sites lorsqu'ils trouvent la balise <meta name="robots" content="noindex, nofollow"> présente dans la page nolink.htm, reécrivent celle-ci, transforment tous les liens en des liens qui leurs sont propres, aspirent la page et vont voir ailleurs sans suivre aucun lien de la page. Pour interdire ce genre d'aspirateur, il sera nécessaire de le faire tomber dans le piège sans passer par l'intermédiaire de nolink.htm. Le lien vide dans une de vos pages (Ex : index.html) servira à cela.

Ouvrez votre fichier robots.txt et ajoutez aux lignes déjà existantes les commandes suivantes :

Disallow: /nolink.htm
Disallow: /nolink_trap.htm

Transférez-le sans attendre sur votre site.

Si vous n'avez pas de fichier robots.txt, recopiez les lignes suivantes dans NotePad, sauvegardez-les sur votre disque dur et transférez ce fichier en ASCII à la racine de votre site.

User-agent: *
Disallow: /nolink.htm
Disallow: /nolink_trap.htm

TRES IMPORTANT : beaucoup de spiders gardent en mémoire le fichier robots.txt de leur précédente visite et ne travaillent pas avec la dernière version présente sur votre site. Il faut donc laisser le temps à tous les spiders d'enregistrer votre nouveau fichier robots.txt avant d'installer définitivement le piège (de 2 à 3 mois).

Un mauvais spider va donc ignorer toutes les commandes prescrites.
-    Il n'examinera pas le fichier robots.txt. Certains le font pour passer inaperçu mais ne tiennent aucun compte des commandes.
-    Il ira en principe automatiquement sur votre page index.html. Si l'action est manuelle, il y a de grandes chances pour que la première visite se fasse sur d'autres pages les plus visitées.
-    Dans votre page index.html il trouvera en premier le lien vers nolink.htm et le suivra.
-    Sur la page nolink.htm, il ne tiendra aucun compte de l'interdiction qui lui est faite de ne pas suivre le lien présent dans la paget. Il suivra donc nolink_trap.htm.
-    Cette requête va l'amener vers le fichier .htaccess où vous aurez mis à la dernière ligne :

# Début Redirect faux lien vers piege.cgi
RewriteRule ^nolink_trap.htm$ /cgi-bin/piege.cgi [L]
# Fin Redirect false link to piege.cgi

Cette réécriture est transparente pour les moteurs d'indexation qui ne la considèrent pas comme une redirection, ce qui aurait pu être pénalisant pour le référencement. Elle va conduire notre spider vers piege.cgi que vous mettrez dans votre dossier cgi-bin

BLOQUER UN INDESIRABLE PAR L'IP
LE FICHIER piege.cgi
(ou piege.pl suivant votre configuration d'hébergement)
Sélectionnez le code ci-dessous (copie automatique dans le presse-papiers) et collez-le dans NotePad.
Vérifiez que vous n'avez pas des retours à la ligne (Ctrl-M) mais bien des retours chariots (visibles dans WORD) : ¶  et qu'il n'y ait pas d'espaces en bout de chaque lignes.
A la première ligne, changez le chemin d'accès de votre dossier cgi-bin et ajoutez " --" à la fin.
    Exemple : écrivez   # !/user/bin/perl --
    plutôt que :   # !/user/bin/perl
Sauvegardez-le sous le nom piege.cgi et transférez-le sur votre site en ASCII par votre client FTP dans votre dossier cgi-bin. Donnez-lui les droits par un CHMOD 755.

Note : sur certaines configurations de serveurs la ligne :
print HTACCESS ("SetEnvIf Remote_Addr \^$remaddr\$ getout \# $date $usragnt\n");
sera nécessairement d'entourée par des guillemets à la partie information
print HTACCESS ("SetEnvIf Remote_Addr \^$remaddr\$ getout \"\# $date $usragnt\"\n");

-    Le fichier piege.cgi va capturer l'adresse IP de l'indésirable, bloquer le fichier .htaccess afin qu'une autre requête ne vienne y écrire quoique ce soit, ce qui aurait pour effet de l'endommager, et l'ouvrir.
-    L'adresse IP sera écrite en tout début de .htaccess et comportera en annexe des informations sur le navigateur employé, la date et l'heure de la visite.
-    Le fichier .htaccess sera refermé pour permettre d'autres requêtes et une page HTML incluse dans piege.cgi s'affichera pour information éventuelle au visiteur .
-    Lorsque le spider indésirable va effectuer une nouvelle requête, il sera donc obligé de passer par .htaccess (voir plus bas) et sera exclu par :

SetEnvIf Request_URI "^(/robots\.txt)$" allowsome
<Files *>
order deny,allow
deny from env=getout
allow from env=allowsome
</Files>

placé en début de fichier. Dans lequel, l'identification de l'intrus aura été précédemment écrite à la première ligne et qui se présentera donc sous la forme:

SetEnvIf Remote_Addr ^217\.128\.115\.30$ getout # Sat Jun 28 18:43:51 2003 Microsoft URL Control - 5.01.4319
SetEnvIf Request_URI "^(/robots\.txt)$" allowsome
<Files *>
order deny,allow
deny from env=getout
allow from env=allowsome
</Files>

La ligne SetEnvIf Request_URI "^(/robots\.txt)$" allowsome contiendra le ou les fichiers que vous autorisez à lire malgré le blocage. En l'occurrence, ici et en exemple, il s'agit de robots.txt.

-    Suivant le trafic de votre site, vous examinez régulièrement votre fichier .htaccess afin de définir quelles sont les IP à supprimer ; nous allons en examiner plus bas le pourquoi. Le nom du navigateur sera une bonne indication pour déterminer si l'exclusion devait être permanente.
Il semble que les IP de plus de 15 jours puissent être effacées et que l'accès leur soit de nouveau autorisé, sauf si une copie des IP précédemment enlevées révèle qu'une ou plusieurs d'entre elles reviennent régulièrement essayer de marteler votre site.
Ceci aura aussi pour effet de ne pas encombrer le fichier .htaccess d'IP inutiles.


Mais ce script ne saurait être complet sans l'interdiction de visite par la détection du USER_AGENT. De cette façon, vous n'exclurez pas définitivement d'innocents internautes qui utiliseront un aspirateur de site référencé dans la liste de .htaccess. Se trouvant bloqués avec l'aspirateur, ils pourront, par contre, continuer tranquillement une visite normale avec leur navigateur, inconscients qu'ils sont de nos problèmes de hits, requêtes, bande passante et autres mauvais spiders.

Le script et la mise en oeuvre de l'interdiction d'accés à votre site par la détection du USER_AGENT est décrite dans d'autres pages. Voici, ci-dessous, un exemple de ce code.

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} almaden [NC,OR]
RewriteCond %{HTTP_USER_AGENT} DirectUpdate [OR]
RewriteCond %{HTTP_USER_AGENT} eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} EmailCollector
RewriteRule ^.* - [F,L]

Pourquoi le mixage de ces 2 techniques ?
L'IP d'un visiteur qui aurait été bloqué pour cause d'utilisation d'un aspirateur de site non référencé n'est pas forcément celle qui lui est attribuée définitivement.
-    Un abonné relié à Internet par câble ou ADSL a une IP fixe. Mais il peut changer de fournisseur.
-    Un simple abonné à son IP changée par son FAI à chaque connexion au réseau.

Si le nom de l'aspirateur de l'internaute ne se trouve pas dans la liste des USER_AGENT et qu'il se trouve exclu par piege.cgi, c'est qu'il n'aura pas lu l'avertissement, que vous n'aurez pas oublié de mettre sur votre page d'accueil, le prévenant de ne pas utiliser d'aspirateurs de sites. Mettez un lien, pop-up, info bulle, boîte de dialogue, etc…. C'est pour cette raison aussi qu'un nettoyage des adresses IP exclues est à faire de temps en temps. Ceci afin de ne pas pénaliser des internautes qui voulaient économiser leur temps de connexion à Internet et leur forfait.


Le blocage par le USER_AGENT est nécessaire aussi parce que, pour une raison ou pour une autre, vous ne souhaitez pas figurer dans un moteur de recherche.

En exemple, parmi tant d'autres : " Baiduspider " est le spider d'un moteur de recherche et d'indexation qui, en Chine, est le plus consulté. Le problème vient du fait que l'URL d'Outils pour Webmaster n'est pas reproduite correctement, ce, j'imagine, à la suite d'un bug dans un module de reconnaissance de caractères chinois/caractères romains (mélange de majuscules et de minuscules). Comme ce moteur n'est joignable qu'en chinois, il n'est pas possible de leur demander de corriger cette erreur. Il s'ensuit de nombreux hits sur la page 404 personnalisée. Donc, même si ce moteur de recherche se comporte correctement, il semble qu'il faut lui interdire l'accès momentanément jusqu'à ce qu'il corrige ce bug.

En autre exemple, on peut citer d'autres spiders qui visitent tout à fait normalement votre site mais ne vous apporteront jamais rien en terme de visiteur. On peut citer Almaden, le spider d'IBM, qui parcourt le web, visite toutes les pages des sites, récolte des informations dont personne, à ma connaissance, ne sait de quel genre et pour quel usage. C'est le type de spider à exclure et dont le meilleur moyen est de le faire par .htaccess ; le protocole robots.txt n'étant pas toujours respecté par ce genre de spiders. Il y en a aussi qui surfent de même afin de se constituer une base de données qui servira à déterminer pour leurs clients s'il y a infraction aux droits de copyright. D'autres, comme Netcraft ou Netfactual, se servent de votre site, d'une page, d'une image, pour surveiller l'état du réseau mondial et revendre cette information. Ils ne martèlent pas votre site par un nombre de hits élevé ou ne vous volent pas de la bande passante mais le procédé peut paraître cavalier pour ne pas dire autre chose et mieux vaut les inviter à exercer leurs tests ailleurs.
Avec ces moteurs de recherche, vous ne figurerez jamais dans un annuaire accessible au public et générateur de visites. Ils sont donc à exclure.

Afin d'en bien voir la structure, que vous garderez tel quel, voila ci-dessous le fichier .htaccess que vous recopierez intégralement. De préférence, laissez  les annotations (#) qui vous serviront de repérage au fur et à mesure que votre fichier grossira par l'ajout d'autres codes.

# Début du blocage
SetEnvIf Request_URI "^(/robots\.txt)$" allowsome
<Files *>
order deny,allow
deny from env=getout
allow from env=allowsome
</Files>
# Fin du blocage
Options +FollowSymLinks
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 405 /405.html
# Début du blocage par le USER_AGENT
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR]
RewriteCond %{HTTP_USER_AGENT} almaden [NC,OR]
RewriteCond %{HTTP_USER_AGENT} DirectUpdate [OR]
RewriteCond %{HTTP_USER_AGENT} eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} frontpage [NC,OR]
# etc, etc. Voir la liste mise à jour
RewriteCond %{HTTP_USER_AGENT} Zeus
RewriteRule ^.* - [F,L]
# Fin du blocage par le USER_AGENT
# Début de vos autres codes
# ///////////
# ///////////
# Fin de vos autres codes
# Début de la redirection vers piege.cgi
RewriteRule ^nolink_trap.htm$ /cgi-bin/piege.cgi [L]
# Fin de la redirection vers piege.cgi

Que vous recopierez plutôt par l'intermédiaire de la boîte de dialogue se trouvant ICI .

Suivant la configuration de votre serveur vous devrez ajouter la ligne AuthPAM_Enabled off juste avant RewriteEngine on.
Voir en fin de page les liens nécessaires à la mise en oeuvre du fichier .htaccess et la liste à jour des USER_AGENT



Autres solutions :
Certains scripts d'exclusion fonctionnent sur le principe de la fréquence de visite des pages d'un site. Pour un seul spider, pour une seule adresse IP, plus la fréquence est élevée, plus il y a de chance pour que ce soit un spider indésirable. Mais certains spiders ont compris qu'il ne fallait pas visiter un site "à la sauvage" et respectent la fréquence de visite. Les concepteurs des applications, connaissant les techniques, savent s'adapter. En outre, le réglage du seuil optimum par lequel l'application va déterminer si elle a affaire à un "bon" spider peut être délicate à établir, les spiders des moteurs ayant un comportement différent et changeant, l'état du réseau pouvant aussi ralentir ou accélerer la requête.
Par contre, la solution proposée dans cette page part du principe simple, binaire, pourrait-on dire, que :
-    Le spider obéit aux standards du web et aux instructions du webmaster : c'est un bon robot.
-    Le spider n'obéit à aucune des barrières posées pas le webmaster : c'est un intrus.
Et comme ce dernier ne peut s'empêcher de tout fouiller et suivre tous les liens, c'est là sa faiblesse, il tombe dans piege.cgi.
Comme il n'y a pas que les aspirateurs de sites qui sont générateurs de hits ou consommateurs de ressources, le fichier .htaccess viendra en complément logique des bloqueurs d'aspirateurs.

Conclusion :
La structure simple et logique de ce script donne toutes ces chances aussi bien à l'utilisateur normal qu'aux bons spiders de ne pas tomber dans le piège du faux lien. Mais n'oublions pas qu'en matière d'interdiction d'aspirateurs ou de spiders indésirables, il n'y a pas de solutions efficaces à 100 % car il existe des aspirateurs de sites, que je ne nommerai pas afin de na pas susciter de vocations, qui respectent le protocole robots.txt. Quel que soit le script anti-aspirateur ne pensez pas être à l'abri. En effet, certaines applications recherchent avec Google des mots clefs qui les intéressent (Formmail, images, mp3, etc) et génèrent une base de donnée à partir de ce moteur ou de plusieurs autres pour visiter uniquement les pages sélectionnés sans suivre aucuns autres liens dans le site. Ils ne peuvent donc être détectés par ce script.
D'autres scannent plusieurs pages rapidement, s'arrêtent pendant un certain temps et recommencent un peu plus tard. Ils ne peuvent donc être détectés par l'IP et la fréquence de visite.
Il ne faut cependant pas perdre de vue le but recherché : diminuer drastiquement le trafic inutile sur son site.

Aurez-vous moins de hits une fois ce script, ou un autre d'ailleurs, mis en place ? Oui et non.
- Oui car le visiteur voyant qu'il ne charge que des pages d'erreur 403 interrompra l'aspiration de votre site.
- Non car si vous avez à faire à un robot mal configuré ou un utilisateur qui est parti boire un café en attendant que le site soit aspiré, l'application, elle, continuera à chercher des liens, à essayer de charger des pages et des images, à effectuer des requêtes sur votre site jusqu'à la fin, même si elle ne récolte que des pages d'erreur 403.
Dans ce cas, vous aurez préservé une partie de vos droits mais le nombre de hits sera exactement le même que si la visite sur votre site se serait effectuée de façon normale. Par contre, la bande passante sera moindre puisque l'aspirateur ne pourra pas télécharger les fichiers.
En ce qui concerne les robots, vous ne sera plus ennuyé car ils élimineront, en principe, votre URL de leur base de données. Quant au particulier, il reviendra peut être mais sera attentif à ce qu'il charge et interrompra alors le processus d'aspiration.

Au bout de quelque temps, vous devriez avoir votre fichier .htaccess tel que suit :

SetEnvIf Remote_Addr ^217\.128\.115\.39$ getout # Sun Jun 29 19:43:40 2003 Microsoft URL Control - 5.01.4319
SetEnvIf Remote_Addr ^172\.180\.49\.156$ getout # Sun Jun 29 15:45:34 2003 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
SetEnvIf Remote_Addr ^217\.128\.115\.30$ getout # Sat Jun 28 18:43:51 2003 Microsoft URL Control - 5.01.4319
# Début du blocage
SetEnvIf Request_URI "^(/robots\.txt)$" allowsome
<Files *>
etc.
etc.


ATTENTION : s'il se présente comme cela :

SetEnvIf Remote_Addr ^64\.241\.243\.127$ getout # Mon Jun 30 13:26:38 2003 Mozilla/4.0 Pompos/1.3 http://dir.com/pompos.html
SetEnvIf Remote_Addr ^217\.128\.115\.39$ getout # Sun Jun 29 19:43:40 2003 Microsoft URL Control - 5.01.4319
SetEnvIf Remote_Addr ^172\.180\.49\.156$ getout # Sun Jun 29 15:45:34 2003 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
SetEnvIf Remote_Addr ^217\.128\.115\.30$ getout # Sat Jun 28 18:43:51 2003 Microsoft URL Control - 5.01.4319
# Début du blocage
SetEnvIf Request_URI "^(/robots\.txt)$" allowsome
<Files *>
etc.
etc.

entre le moment où vous avez mis en ligne votre fichier robots.txt modifié et le reste du script et qu'y figure le spider d'un "bon" moteur de recherche comme Pompos/1.3 http://dir.com/pompos.html, c'est que vous n'avez pas assez attendu entre les deux intervales. Laissez le temps aux moteurs de mettre à jour votre nouveau robots.txt tout en pensant que la balise <meta name"noindex"> aurait pu être lue. Ce qui vous ouvrira la voie à une longue méditation sur les imperfections de la technique et de la difficulté à les résoudre.

Maintenance
Surveillez régulièrement votre fichier .htaccess afin de déterminer s'il bloque bien les spiders indésirables.
- Avec votre client FTP  transférez-le sur votre disque dur.
- Ouvrez-le avec NotePad, éliminez éventuellement les IP inutiles et sauvegardez-le sous htaccess.txt
- Transférez-le en ASCII sur votre site et renommez-le en .htaccess

Si vous voulez automatiser ce processus, employez une tâche CRON, même si votre hébergeur ne vous en donne pas la possibilité.
Si vous voulez ajouter une adresse IP manuellement au fichier .htaccess, voir ICI.

Petit piège en direct : certains spammers parcourent le web à la recherche des pocesseurs de la célèbre application FormMail qui n'aurait pas les derniers correctifs. Ils visitent ainsi votre site à la recherche de celle-ci pour la squatter en fouillant dans le dossier cgi. Si vous voulez les bloquer, faites une copie de piege.cgi et renommez la FormMail.cgi.
Vous pouvez aussi créer d'autres variantes à partir des statistiques constatées dans les logs de ce site :

cgi/FormMail.cgi
cgi/FormMail.pl
cgi-local/FormMail.cgi
cgi-local/FormMail.pl
cgi-bin/formmail/FormMail.cgi
cgi-bin/formmail/FormMail.pl

Pour repérer dans le fichier .htaccess la liste des IP bannies venant de FormMail, ajoutez les lignes suivantes dans piege.cgi :

- en début de code $application = "FormMail";   Vous pouvez aussi ajouter d'autres applications.

- puis modifier la ligne :
print HTACCESS ("SetEnvIf Remote_Addr \^$remaddr\$ getout \# $date $usragnt\n");
par :
print HTACCESS ("SetEnvIf Remote_Addr \^$remaddr\$ getout \# $date $usragnt $application\n");

 

* Pour ceux qui possèdent l'application Sendmail (sur presque toutes les plateformes UNIX), vous pouvez ajouter à la fin de piege.cgi le code suivant qui vous enverra un mail à chaque blocage d'un intrus.

# Variables pour fonctions du mail
$remaddr = $ENV{REMOTE_ADDR};
$host = $ENV{REMOTE_HOST};
$provenance = $ENV{'HTTP_REFERER'};
$lang = $ENV{'HTTP_ACCEPT_LANGUAGE'};

# Envoie d'un e-mail avec SendMail
open(MAIL, "|/usr/sbin/sendmail -t") || die "Content-type: text/text\n\nImpossible ouvrir /usr/sbin/sendmail!\n";
print MAIL "To: nom\@domaine\.com\n";
print MAIL "From: nom\@domaine\.com\n";
print MAIL "Subject: Un aspirateur a été bloqué sur le site XX\n";
print MAIL "L'adresse IP : \^$remaddr\$ a été bloquée le $date \n";
print MAIL "Navigateur utilisé : $usragnt \n";
print MAIL "Nom de domaine : $host \n";
print MAIL "Provenance : $provenance \n";
print MAIL "Langue : $lang \n";
close(MAIL);

dans ce cas, n'oubliez pas de ne laisser que le dernier "exit;" à la fin du script et de modifier éventuellement le chemin de Sendmail..

RECOMMANDATION : les lignes de codes copiées à l'écran doivent être recopiées dans le Bloc-Notes (Notepad) avant d'être intégrées dans vos pages web en ayant soin de contrôler qu'il n'y ait pas d'espaces en bout de lignes et de véritables retour chariots.
Lors de vos essais, n'oubliez pas de vider le cache Internet, le cache de votre éditeur HTML et le dossier TEMP de Windows.

ATTENTION : la mise en oeuvre de ce script peut être délicate. Vous devrez vous renseigner auprés de votre fournisseur sur les configurations des applications citées ici (Apache, PHP, PERL, Sendmail etc).
* Pour ceux qui auraient une configuration plus restrictive, imposée par leur hébergeur, cliquez ICI
* Pour ceux qui souhaiteraient travailler en PHP, cliquez ICI

Bien évidemment, vous n'essayerez pas de tester si le script fonctionne sur ce site : il fonctionne et vous seriez bloqués.

Liens connexes qui vous serviront dans l'environnement du fichier .htaccess

Limiter le nombre de hits  -  Interdire les aspirateurs(1)  -  Interdire les aspirateurs (2)  -  Liste générale des applications et aspirateurs indésirable, écriture .htaccess  -   Ecriture du fichier .htaccess (et htpasswd)  -  Liste vérifiée des applications et aspirateurs indésirables  -  Autres applications vérifiées  -  .htaccess et liste vérifiée des applications indésirables   -  Info par mail d'une erreur 401,403,404,405  -  Page personnalisée d'erreur  -  Le fichier robots.txt  -  Ecriture et redirection avec htaccess  -  Mot de passe avec .htaccess et .htpasswd  -  Codez vos mots de passe  -  Interdire l'affichage de ses images  -  CHMOD  -  Les codes d'erreurs 

Retour

Copyright www.toulouse-renaissance.net ©