|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Bonjour,
Je suis en train de développer un formulaire de contact pour mon forum en libre accès. Les visiteurs n'auront pas connaissance de l'email de la personne qu'ils veulent contacter. J'ai filtré les formulaires pour les sécuriser, je n'ai pas prévu de controle sur l'ip, pour, par exemple, limiter le nombre d'envoi de message à 1 toute les 20 secondes, comme je l'ai fait sur le formulaire de participation au forum. Pensez-vous que cela soit utile, vu que je filtre tout de même les données du formulaire ? Comment peuvent-ils détourner le formulaire de contact si il est filtré ? (Par exemple, seules les lettres sont admises dans le textarea et il y a un htmlspecialchars). |
|
|
00
|
|
|
#2 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
|
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Merci pour ton lien.
En fait j'ai déjà lu cette page, d'où les dispositions de filtrage que j'ai adopté. A bien y réfléchir, je pense que si le spammeur est bloqué dans son injection de code, rien ne lui sert de soumettre le formulaire x fois à la minutes. Un avis contraire ? |
|
|
00
|
|
|
#4 | ||
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
Les spammeurs font d'abord du "fishing" en scanant les formulaires web
à la recherche de "passerelles ouvertes". j'ai pu observer sur mes formulaires de contact qu'il bcc à un email à lui (chez aol dans mon cas). Il insère un id dans le message, celui-ci lui servant à retrouver le serveur qui a laisser passer son mail. Ce fishing est très agaçant car cela provoque l'envoi du mail normal au destinataire prévu. Le spammeur a des chances de réussir si il injecte des headers dans un champs qui est lui même inscrit (sans filtrage) dans le 4ème paramètre de la fonction mail. Celà peut être le cas pour un formulaire qui utilise le champ email pour le placer comme Reply-To dans les headers par exemple. Le spammeur que j'ai pu observer tente de remplir différents champs du formulaire avec des injections. Cependant j'ai trouvé un moyen simple de filtrer, tu ajoutes un champ caché avec une constante. par exemple: Code :
Ainsi je test si $_POST['toto']=='toto' et le tour est joué. Pour ce qui est de ta limite à 1 post toutes les 20 secondes, je pense qu'il faut être prudent. Il arrive que des gens se trompent dans une donnée et repostent juste derrière. D'autre part, l'ip n'identifie pas un utilisateur, mais parfois un groupe (derièrre un passerelle dans une entreprise par exemple) cela peut être embètant si un prof présente ton formulaire dans une sale de cours et que tous le monde post. Je pense qu'il te faudrait accèpter plusieurs post de la même IP avant de commencer à ralentir. |
||
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Merci Marcha, pour cette réponse très intéressante.
Quelques questions qui me viennent à l'esprit tout de suite : - Y'a t'il des caractères/mots qui doivent être automatiquement utilisés lors de l'envoi d'un header, dans le but de spammer (ex: inscrire TYPE-MIME). ==> Auquel cas je bloque les envois de formulaire qui comportent ces caractères. - Si je force, avec les regexp, à n'envoyer des messages ne comportant que des chiffres et des lettres ? Cela est-il efficace? - Quand tu dis que le spammeur fait des injections, tu parles d'injections sql ? mysql_real_escape_string l'en empêche alors ? - J'avoue ne pas avoir bien compris le coup de la constante. Voilà déjà quelques questions, si tu veux bien y répondre, peut-être d'autre après (Les autres ne vous privez pas hein |
|
|
00
|
|
|
#6 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
Relis la page dont je t'ai donné le lien ci-dessus
Le champs caché c'est tout simple, le spammeur utilise un programme pour poster, il scan tous les input de ton formulaire et y place des données. du coup, il ne concerve pas la valeur du champs caché et tu le détect ainsi. (Attention, un spammer plus intelligent pourrait la conserver :-) |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Ok j'ai compris le coup du champ caché, merci.
J'ai lu aussi qu'il faut désactiver le "catch-all' pour empêcher les spammeurs de créer des fausses adresses email utilisant le domaine du site spammé. vous savez qeulque chose sur ce sujet ? |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : janvier 2004 Messages : 24 ![]() |
Grosse bêtise. Message retiré.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com