Detection robots SPAM

WRInaute discret
Bonjour,

Pour mon site, je suis en train de développer une sorte de tag cloud car les solutions clés en mains ne me satisfaisaient pas!

En gros lors de visite sur certaines pages de mon site, j'execute une requete SQL INSERT permettant d'enregistrer un "tag".

Il m'a été facile d'empécher l'execution de cette requete SQL par les robots des grands moteurs de recherches (détection via HTTP_USER_AGENT).

Mais en consultant ma table SQL de tag je me suis appercut d'un nombre considérable de lignes venant de robots SPAMMEUR (date des insert proches, ip différentes, user agent modifié pour approché ceux des naigateur).

Avez-vous des idées pour détecter automatiquement ces robots SPAMMEUR ?
 
WRInaute discret
Le "tag" est un mot clé présent dans l'adresse web de la page !

Ma requete sql insert dans une table le date, le tag, l'adresse et le user agent .
 
WRInaute accro
en clair, c'est un mini système de stats, c'est ça ?
dont tu as déjà exclu des robots (user agents connus) et tu voudrais exclure aussi les robots spammeurs.
2 solutions :
bloquer par rapport à une certaine vitesse de crawl
mettre un lien vers une page bloquée par robots.txt et si cette page est demandée, bloquer l'ip
 
WRInaute discret
Leonick a dit:
en clair, c'est un mini système de stats, c'est ça ?

Oui un mini système de stat utiles pour les internautes

Leonick a dit:
bloquer par rapport à une certaine vitesse de crawl

Difficile à faire car j'ai déja mis en place un bloquage par vitesse de crawl basé sur l'adresse ip (en gros pour bloquer le multi rafraichissement) mais le problème de ces robots c est qu'ils ont une adresse ip qui change tout le temps

Leonick a dit:
mettre un lien vers une page bloquée par robots.txt et si cette page est demandée, bloquer l'ip

Je suis pas sur d'avoir compris... En plus je pense que ces type de robots ce moque pas mal du fichier robots.txt

Le problème du bloquage par ip est de connaitre la plage d'ip à bloquer :?

Si d'ailleurs vous avez une sorte de liste d'adresse ip à bannir ???
 
WRInaute accro
Selection A a dit:
Leonick a dit:
mettre un lien vers une page bloquée par robots.txt et si cette page est demandée, bloquer l'ip

Je suis pas sur d'avoir compris... En plus je pense que ces type de robots ce moque pas mal du fichier robots.txt
d'où justement son intérêt.
Tu mets un lien sur ta page d'accueil vers paslire.html en indiquant (ne pas suivre ce lien - pour l'internaute) et tu bloques paslire.html dans robots.txt
le robot spammeur va suivre tous les liens de la page et, ne s'occupant pas de robots.txt, va lire ta page paslire.html et là, tu bloques l'ip :twisted:
 
WRInaute discret
ok j'ai compris. C'est la bonne vieille technique du pot de miel !

Par contre j'aime pas trop l'idée d'un lien sur la page d'accueil... Faudrait trouver une solution transparente pour l'utilisateur mais mes connaissances avec robots.txt sont limités.

Dans un script php je met :
Code:
include("mapage.php");
et dans mon robots.txt je met :
Code:
Disallow:  /mapage.php

Est ce que les robots "gentils" vont lire mapage.php ?
 
WRInaute discret
En utilisant
User-Agent: *
Disallow: /mapage.php
les robots bien élevés ne doivent pas parcourir la page.
Malheureusement, Yahoo version 3 et d'autres vont la lire...
Pour les robots spammeurs, de toutes façons, cela ne sert à rien puisqu'ils ne consultent pas robots.txt
De plus, ils utilisent des proxies.
La détection automatique est risquée et difficile.
Une méthode assez efficace pour éviter ces robots, c'est de rediriger la requête vers la page après avoir initialisé un cookie ou une variable de session quand l'User Agent n'est pas celui d'un robot connu.
Ces robots n'acceptent pas d'être redirigés.
 
WRInaute discret
Dan_A a dit:
Une méthode assez efficace pour éviter ces robots, c'est de rediriger la requête vers la page après avoir initialisé un cookie ou une variable de session quand l'User Agent n'est pas celui d'un robot connu.

Tu peux etre plus claire je n'ai pas compris :(
 
Discussions similaires
Haut