System anti spam

Répondre
maxroucool
le 10/02/2007 à 17:46
maxroucool
Slt tlm,

je me demandais, plutot que de mettre des caracteres generés aleatoirement a retaper lors de la validation d'un formulaire, est ce que ca marcherait si je verifiais pendant le traitement des données si le $_SERVER['HTTP_REFERER'] proviens bien de mon site.

Je sais pas comment marchent ces bots, alors je voulais savoir si c'était utile et efficace!?


Merci bp!
+++
i M@N
le 10/02/2007 à 18:14
i M@N
Hello !

Ben nan ... les bots en gros ils font une requête sur google style "guestbook" et ils visitent les pages retournées à la recherche de formulaires dont ils remplissent tous les champs en général.

Donc ton idée n'est pas bonne parce que les bots ne font pas de copie de ta page, ils se contentent de remplir des formulaires, les referers seront donc ceux de ton site.

Parfois avec un input avec un style:"display:none" suffit à les différencier car un visiteur humain ne remplit pas un input qu'il ne voit pas.

Mais le mieux c'est de coupler plusieurs techniques comme ce que je viens de te dire plus un captcha avec un texte / code, image de fond et polices aléatoires auquel tu ajoutes une vérification du contenu de ce qui est posté au niveau de ton traitement (si tu trouve un <a ou un href tu peux être sûr que c'est un bot).

@+...
One Love, One Heart, One Unity.
maxroucool
le 10/02/2007 à 18:41
maxroucool
wai mais une fois qu'ils ont choppé un formulaire, c'est pas un server distant qui remplit les champs de mon formulaire? ca serait plus pratique pour eux!
i M@N
le 10/02/2007 à 18:58
i M@N
Reuh ...

Ben un referer c'est d'où le visiteur vient nan ?
Si il remplit un formulaire de ton site et l'envoie il viendra d'une page de ton site ... smiley

@+...
One Love, One Heart, One Unity.
i M@N
le 10/02/2007 à 18:59
i M@N
... et confonds pas "server" et "bot".
One Love, One Heart, One Unity.
jocker
le 10/02/2007 à 20:21
jocker
alors pour les mailers PHP qui sont spammés par les bots , je viens de travailler sur ce problème cet aprem donc c'est encore tout frais. (je voulais éviter un systeme captcha)

Alors les bots récup les formulaires de contact et apres envoient automatiquement des requêtes. En regardant les logs, on voit qu'il n'y a qu'une seule page (contact.php) qui est visitée donc la méthode du http_referer peut très bien fonctionner. En sachant que cette variable peut être spoofée.

Sur mon site voilà comment je procède. Déjà sur chaque page j'ai un compteur qui calcule combien de visiteurs sont actuellement sur mon site (je log l'ip et l'heure) et à chaque connexion je nettoie et j'actualise la liste.

Ma fonction de log marche comme ca, si l'ip n'existe pas je l'INSERT, sinon je l'UPDATE avec un temps (time + 3 min).

Ma solution, je rajoute un champ spam
DB = IP | timestamp | spam

pendant l'insert spam = 0, apres à chaque update spam = spam+1

et sur ma page contact.php, apres la validation si $spam < 2 alors refuse l'envoi du mail.

Ainsi si le visiteur n'a pas au moins visité une autre page avant il ne peut pas envoyer un mail, mais ca ne m'epeche pas d'afficher la page contact.

Voilà j'espère avoir été assez clair. Je suis en train de me dire que vu que le formulaire est envoyé directement par le bot mais sans passé par la page contact.php (d'où le 1 ip dans les logs), un simple spam < 1 devrait être suffisant.

J'espère en avoir pu aider certains.

++
maxroucool
le 11/02/2007 à 16:13
maxroucool
ok joker, c'est pas con, j'y avais pas penser. J'ai deja une compteur live sur mon site dc ca va pa etre du a faire!

+++
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours