Spam formulaire

Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012
- - Dernière réponse : sylvain64520
Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013
- 24 oct. 2012 à 15:33
bonjour

je reçois régulierement ce type de mail par le biais de formulaires en ligne.

identite = [mailto:under4166@aol.com under4166@aol.com]
musique = days
Content-Type: multipart/alternative; boundary=ffb04a579d97a320aac349fe32e49cad
MIME-Version: 1.0
Subject: lahertys setting yourself up
bcc: [mailto:bajfla1@aol.com bajfla1@aol.com]

This is a multi-part message in MIME format.

--ffb04a579d97a320aac349fe32e49cad
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

they should travel. he evening previous, tto paid his last visit to the preacher. hey spoke together a long time about the deceased grandfather. he preacher gave up several papers to tto among them also
--ffb04a579d97a320aac349fe32e49cad--

ce n'est qu'une partie, j'ai tester plusieurs solutions, sans succés, il(s) arrive(nt) toujours à passer.la dernière en date ressemble à ceçi :

$header = 'from:adresse.com';
if (eregi("%0A|%0D|\\n+|\\r+)/i",$header)){
die("tentative de modification des paramétres! le message ne sera pas envoyé.");
}
$recipient = [mailto:'envoi@aol.com' 'envoi@aol.com'];
if (eregi("/(%0A|%0D|\\n+|\\r+)(content-type:|to:|cc:|bcc:)/i",$recipient)){
die("tentative de modification des paramétres! le message ne sera pas envoyé.");
}
$subject = 'Formulaire';
if (eregi("%0A|%0D|\\n+|\\r+)/i",$subject)){
die("tentative de modification des paramétres! le message ne sera pas envoyé.");
}

d'après ceçi : http://www.phpsecure.info/v2/article/MailHeadersInject.php

je cherche à comprendre comment il arrive à remplir des champs qui ne sont que des checkbox ou radio, comme par exemple

identite = [mailto:under4166@aol.com under4166@aol.com]
musique = days

ces deux champs correspondent à des boutons radios...est ce qu'il est possible qu'il lise le fichier php servant au traitement du formulaire? si oui, comment le protéger? j'ai aussi tenter çà : http://ppan.net/webdev/formulaire-anti-spam.php

le captcha n'est pas non plus très fiable.que faire? subir?

ils ne savaient pas que c'était impossible, alors ils l'on fait. [http://www.guitweb.com/ mon modeste site]
Afficher la suite 

11 réponses

Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
Salut,

quel est ton code xhtml et PHP qui te permet de lire ton formulaire et d'envoyer un mail en fonction du dit formulaire ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Commenter la réponse de cs_Anthomicro
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012
0
Merci
salut anthomicro

çà n'à rien à voir mais ta classe template version php5, top.

les variables sont initialisés comme çà :

$niveau = $_POST['niveau']; //box et radios
$repcours = trim(htmlentities($_POST['repcours'])); //champ txt

je teste comme çà :

if (isset($_POST['envoi'])){


if (empty($ident)&&empty($musique)...etc) {
unset($ident,$musique..etc);
echo "vous tentez de soumettre un formulaire vide&hellip;ce qui ne sert &agrave; rien.http://www.guitweb.com/ mon modeste site]
Commenter la réponse de bj33
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012
0
Merci
oups!

il manque la question que je voulais poser.

$message ="
identite = $ident
musique = $musique";

le retour à la ligne après la variable message est t'il judicieux? n'est-ce pas là la faille? htmlentities est t'il utile sur les checkbox et radios?

ils ne savaient pas que c'était impossible, alors ils l'on fait. [http://www.guitweb.com/ mon modeste site]
Commenter la réponse de bj33
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
En fait j'aimerais voir ce que tu mets dans le $header et dans le $recipient

sinon vaudrait mieux utiliser isset() avant de déclarer des variables car

$niveau = $_POST['niveau']; //box et radios
$repcours = trim(htmlentities($_POST['repcours'])); //champ txt

pourra renvoyer une erreur.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Commenter la réponse de cs_Anthomicro
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
Heu je viens de revoir ton premier post pour ces variables...

$header = 'from:adresse.com';
if (eregi("%0A|%0D|\\n+|\\r+)/i",$header)){
die("tentative de modification des param&eacute;tres! le message ne sera pas envoy&eacute;.");
}

en fait à mon avis, vérifie plutôt que l'adresse mail a bien le format d'une adresse mail plutôt que de rechercher d'hypothétiques des \n dans les headers ;) le site expreg.com pourra t'aider.

Sinon rajoutes un code imagé qui empêchera les robots de poster via ton formulaire :)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Commenter la réponse de cs_Anthomicro
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012
0
Merci
<< Sinon rajoutes un code imagé qui empêchera les robots de poster via ton formulaire :)

j'y pense.mais comme certains robots sont capables de lire le code de l'image...

<< à mon avis, vérifie plutôt que l'adresse mail a bien le format d'une adresse mail

malheureusement ce n'est pas la solution miracle car ce qu'il s'agit d'éviter c'est l'injection dans les headers.

ils ne savaient pas que c'était impossible, alors ils l'on fait. [http://www.guitweb.com/ mon modeste site]
Commenter la réponse de bj33
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
"j'y pense.mais comme certains robots sont capables de lire le code de l'image..."

Trouves m'en un et après on en reparle (lol)

"malheureusement ce n'est pas la solution miracle car ce qu'il s'agit d'éviter c'est l'injection dans les headers."

Justement, si l'injection peut se faire, c'est que le mec rentre une adresse email de contact fausse, qui n'a donc pas le format d'une vraie adresse mail.
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Commenter la réponse de cs_Anthomicro
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012
0
Merci
<< Trouves m'en un et après on en reparle (lol)

j'ai pû lire çà sur nombre de site.c'est faux?

<< Justement, si l'injection peut se faire, c'est que le mec rentre une adresse email de contact fausse, qui n'a donc pas le format d'une vraie adresse mail.

ok! enregistrer.merçi.

ils ne savaient pas que c'était impossible, alors ils l'on fait. [http://www.guitweb.com/ mon modeste site]
Commenter la réponse de bj33
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
"j'ai pû lire çà sur nombre de site.c'est faux?"

C'est pas faux, mais le nombre de ces robots pouvant lire les images est comment dire... proche de zéro. Pourquoi ? parce que c'est très compliqué à faire, et que le jeu n'en vaut pas la chandelle.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Commenter la réponse de cs_Anthomicro
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012
0
Merci
ok.je vais voir ce qu'expreg.com peut m'apporter.merci pour ces pistes.

ils ne savaient pas que c'était impossible, alors ils l'on fait. [http://www.guitweb.com/ mon modeste site]
Commenter la réponse de bj33
Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013
0
Merci
Perso j'utilise des captcha sur mes sites et je n'ai plus de problème de robot.

Tu peux utiliser un autre système plus simple est qui n'est pas visible niveau html dans le formulaire : le système d'opération : tu demandes à l'utilisateur de résoudre une opération mathématique et de l'écrire dans un champ.

Ca fonctione très bien aussi.
Commenter la réponse de sylvain64520