par
cktoon » 02 oct. 2006, 10:09
Bonjour,
J'ai un problème de spam sur un formulaire, j'aimerais avoir de l'aide pour sécuriser tout ça, pouvez-vous m'aider ?
Je simplifie les choses, disons que j'ai 3 champs : email de l'expéditeur / message / sujet du message
Le formulaire utilise la méthode post, et est traité dans la même page :
Code : Tout sélectionner
<form name="form1" method="post" action="">
Sujet : <input name="sujet" type="text" />
Email : <input name="email" type="text" />
Message : <textarea name="message" cols="50" rows="5"></textarea>
<input name="valider" value="Valider et envoyer" type="submit" />
</form>
Je récupère les valeurs dans 3 variables :
Code : Tout sélectionner
$sujet=stripslashes($_POST['message']);
$email=stripslashes($_POST['email']);
$message=stripslashes($_POST['message']);
Je nettoie les chaines de caractères :
Code : Tout sélectionner
$sujet= ereg_replace("(cc:|bcc:|from:)"," -nospam- ",$sujet);
$email= ereg_replace("(cc:|bcc:|from:)"," -nospam- ",$email);
$message = ereg_replace("(cc:|bcc:|from:)"," -nospam- ",$message);
Et j'envoie les données :
Code : Tout sélectionner
$entete='MIME_Version: 1.0\r\n';
$entete.='Content-type:text/plain; charset="iso-8859-15"\r\n';
$entete.='Content-Transfer-Encoding:quoted-printable\r\n';
$entete.='From:'.$email.'\r\n';
$destinataire = ledestinataire_AROBASE_domaine.com
$envoi = mail($destinataire, $sujet, $message, $entete);
Pouvez-vous me dire quelles sont encore les failles ?
Y-a-t-il moyen de falsifier les entêtes encore ? ou d'injecter du code qui utilise la fonction mail pour envoyer des spams via le formulaire ?
Merci de votre aide
Bonjour,
J'ai un problème de spam sur un formulaire, j'aimerais avoir de l'aide pour sécuriser tout ça, pouvez-vous m'aider ?
Je simplifie les choses, disons que j'ai 3 champs : email de l'expéditeur / message / sujet du message
Le formulaire utilise la méthode post, et est traité dans la même page :
[code]<form name="form1" method="post" action="">
Sujet : <input name="sujet" type="text" />
Email : <input name="email" type="text" />
Message : <textarea name="message" cols="50" rows="5"></textarea>
<input name="valider" value="Valider et envoyer" type="submit" />
</form>
[/code]
Je récupère les valeurs dans 3 variables :
[code]$sujet=stripslashes($_POST['message']);
$email=stripslashes($_POST['email']);
$message=stripslashes($_POST['message']);[/code]
Je nettoie les chaines de caractères :
[code]$sujet= ereg_replace("(cc:|bcc:|from:)"," -nospam- ",$sujet);
$email= ereg_replace("(cc:|bcc:|from:)"," -nospam- ",$email);
$message = ereg_replace("(cc:|bcc:|from:)"," -nospam- ",$message);[/code]
Et j'envoie les données :
[code]$entete='MIME_Version: 1.0\r\n';
$entete.='Content-type:text/plain; charset="iso-8859-15"\r\n';
$entete.='Content-Transfer-Encoding:quoted-printable\r\n';
$entete.='From:'.$email.'\r\n';
$destinataire = ledestinataire_AROBASE_domaine.com
$envoi = mail($destinataire, $sujet, $message, $entete);[/code]
Pouvez-vous me dire quelles sont encore les failles ?
Y-a-t-il moyen de falsifier les entêtes encore ? ou d'injecter du code qui utilise la fonction mail pour envoyer des spams via le formulaire ?
Merci de votre aide