erreur dans un formulaire

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: erreur dans un formulaire

Message par Ymai »

aleka a écrit :Merci,
encore des questions pour clore (j'espère) ce dossier.

1)
htmlspecialchars encode seulement les spéciaux, donc les accentués apparaîtront normalement!

qu'en est-il alors de la sécurité, est-elle amoindrie ?
et à ce sujet, je répète ma question : pour des raisons anti-spam c'est sur un webmail que les messages seront consultés et non en local, faut-il quand même utiliser htmlentities (ou htmlspecialchars) dans ce cas ?
A partir du moment où le texte frappé par l'utilisateur final peut réapparaître à l'écran (pour confirmation, par exemple), c'est nécessaire.
C'est, à mon avis, encore plus critique dans le cas d'un webmail puisque l'affichage se fera une deuxième fois dans un navigateur. Avec une éventuelle deuxième exécution d'un script malicieux.
2) Je pense en avoir compris l'essentiel du document sur "l'injection de headers dans la fonction mail() de PHP" (http://www.phpsecure.info/v2/article/Ma ... Inject.php).
Ce document m'ayant été conseillé j'imagine qu'il faut mieux suivre la solution proposée ? Il s'agit d'ajouter les dernières lignes à la première :

Code : Tout sélectionner

$from=$_POST["expediteur"]; 
if (eregi("\r",$from) || eregi("\n",$from)){
die("Why ?? :(");
}
Il s'agit de vérifier qu'il n'y a pas de retour à la marge et une nouvelle ligne et dans le texte contenu dans $from. Un utilisateur malintentionné pourrait en profiter pour ajouter des dizaines d'autres destinataires.
Si la séquence "retour+nouvelle ligne" est trouvée, le traitement du script s'arrête (die). L'argument de la fonction die() n'a aucune importance.
D'autres vont plus loin encore:

Code : Tout sélectionner

if(eregi("(\r|\n)",$headers) || eregi("(\r|\n)",$destinataire) || eregi("(cc:|bcc:|from:)",$message_final))
	die "Tu t'es vu quand tu spammes ?..."; 
On parle beaucoup de cette méthode (et d'autres) chez tonton Gogole

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.0.3
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
aleka
Salamandre
Messages : 26
Inscription : 01 nov. 2008, 23:22

Re: erreur dans un formulaire

Message par aleka »

Ymai a écrit :
aleka a écrit :Merci,
encore des questions pour clore (j'espère) ce dossier.

1)
htmlspecialchars encode seulement les spéciaux, donc les accentués apparaîtront normalement!

qu'en est-il alors de la sécurité, est-elle amoindrie ?
et à ce sujet, je répète ma question : pour des raisons anti-spam c'est sur un webmail que les messages seront consultés et non en local, faut-il quand même utiliser htmlentities (ou htmlspecialchars) dans ce cas ?
A partir du moment où le texte frappé par l'utilisateur final peut réapparaître à l'écran (pour confirmation, par exemple), c'est nécessaire.
C'est, à mon avis, encore plus critique dans le cas d'un webmail puisque l'affichage se fera une deuxième fois dans un navigateur. Avec une éventuelle deuxième exécution d'un script malicieux.
a) je me permets d'insister : htmlspecialchars est-il moins efficace en termes de sécurité que htmlentities ? (juste pour comprendre un minimum ce que je fais)
b) c'est le moment pour moi de demander : mais quels sont les effets possibles des scripts malicieux ? Jusqu'à présent je pensais que l'utilisation d'un webmail (vs messagerie sur ordinateur local) établissait une première barrière. Si c'est le cas serait-il plus judicieux d'utiliser un webmail externe et non celui concédé par son hébergeur (que son propre site ne soit pas mis en danger).
Mais dois-je comprendre que le seul affichage d'un message peut permettre au script d'agir sur l'ordinateur local ?
Questions de néophyte voulant éviter les plus gros dangers évitables.


2)
Ymai a écrit :
aleka a écrit :

Code : Tout sélectionner

$from=$_POST["expediteur"]; 
if (eregi("\r",$from) || eregi("\n",$from)){
die("Why ?? :(");
}
Il s'agit de vérifier qu'il n'y a pas de retour à la marge et une nouvelle ligne et dans le texte contenu dans $from. Un utilisateur malintentionné pourrait en profiter pour ajouter des dizaines d'autres destinataires.
Si la séquence "retour+nouvelle ligne" est trouvée, le traitement du script s'arrête (die). L'argument de la fonction die() n'a aucune importance.
D'autres vont plus loin encore:

Code : Tout sélectionner

if(eregi("(\r|\n)",$headers) || eregi("(\r|\n)",$destinataire) || eregi("(cc:|bcc:|from:)",$message_final))
	die "Tu t'es vu quand tu spammes ?..."; 
On parle beaucoup de cette méthode (et d'autres) chez tonton Gogole
a) On est bien d'accord que ceci n'importe que pour les champs du header et non par exemple un Textarea qui j'imagine doit pouvoir comporter des retours à la ligne.
b) Je suis aller voir ce qu'on dit chez cet oncle mais c'est bcp trop pour qq'un qui ne s'y connait pas.

J'arrête là les questions et je m'en vais modifier mon formulaire, je le soumettrai au forum.
Encore merci

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Re: erreur dans un formulaire

Message par Fabrice.Tres.Net »

aleka a écrit : a) je me permets d'insister : htmlspecialchars est-il moins efficace en termes de sécurité que htmlentities ? (juste pour comprendre un minimum ce que je fais)
Non.
aleka a écrit : b) c'est le moment pour moi de demander : mais quels sont les effets possibles des scripts malicieux ? Jusqu'à présent je pensais que l'utilisation d'un webmail (vs messagerie sur ordinateur local) établissait une première barrière. Si c'est le cas serait-il plus judicieux d'utiliser un webmail externe et non celui concédé par son hébergeur (que son propre site ne soit pas mis en danger).
Mais dois-je comprendre que le seul affichage d'un message peut permettre au script d'agir sur l'ordinateur local ?
Questions de néophyte voulant éviter les plus gros dangers évitables.
Un webmail permet d'éviter une partie des attaques de son ordinateur, mais ouvre la porte à des attaques de sa messagerie distante.
aleka
Salamandre
Messages : 26
Inscription : 01 nov. 2008, 23:22

erreur dans un formulaire

Message par aleka »

merci

J'ai corrigé la page d'envoi du formulaire en remplaçant htmlentities par htmlspecialchars. Mais les caractères tels que &, <, >,", ne sont pas transformés et restent lisibles. Ce ne devrait pas être le cas, non ?
Excusez-moi si j'ai mal compris qq chose. J'aimerais bien en avoir fini.

Voici le code :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>Envoi.php</title>
</head>
<body>
Voici le message que vous venez d'envoyer.<br>
<br>
<br>
<br>
<?php $n = htmlspecialchars($_POST['Nom']); $p = htmlspecialchars($_POST['Prenom']); $f = htmlspecialchars($_POST['Fonction']); $vp = htmlspecialchars($_POST['VillePays']);$eml = htmlspecialchars($_POST['eMail']);$ms = htmlspecialchars($_POST['Message']);
echo "Votre nom : $n <br />";
echo "Votre prénom : $p <br /><br>";
echo "Votre fonction : $f <br /><br>";
echo "Vous habitez : $vp <br /><br>";
echo "Votre e-mail : $eml <br /><br>";
echo "Votre message : $ms <br />";
$message = "$n \n";
$message .= "$p \n";
$message .= "Fonction : $f \n";
$message .= "Ville Pays : $vp \n";
$message .= "E-mail : $eml \n";
$message .= "Message : $ms \n";
mail ("xxx at yyy.vv", "Contact Web", $message, "From: $n");?><br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>
Par ailleurs, j'ai l'impression que la fonction eregi n'est pas utile pour sécuriser ce type de formulaire. Parce qu'autrement je ne vois pas comment l'utiliser dans la page d'envoi. Ai-je raison ?

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Wysigot 6.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: erreur dans un formulaire

Message par Ymai »

aleka a écrit :merci

J'ai corrigé la page d'envoi du formulaire en remplaçant htmlentities par htmlspecialchars. Mais les caractères tels que &, <, >,", ne sont pas transformés et restent lisibles. Ce ne devrait pas être le cas, non ?
Ces caractères doivent apparaître comme "eux-mêmes".
Si un visiteur écris <b>Ceci est en gras</b> ou même <script>Ceci est un méchant script de la mort qui tue</script>, on doit voir ces indications telles qu'écrites ci-dessus.
Si le texte "Ceci est en gras" apparaît bien en caractère gras, c'est que la fonction htmlspecalchars n'a pas fait son travail.

[edit]Désolé pour l'autre question; là, je suis à la bourre[/edit]

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.0.3
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
aleka
Salamandre
Messages : 26
Inscription : 01 nov. 2008, 23:22

erreur dans un formulaire

Message par aleka »

merci,
Bon ça prouve que je n'ai pas tout compris. Ceci d'autant plus que je me rends compte que j'avais juste vérifié le message affiché par la page d'envoi mais pas le e-mail reçu dans la messagerie que je viens juste de réceptionner ! :oops:
Mais je ne pense pas être capable actuellement d'en comprendre plus (j'ai prévu d'approfondir bientôt mes connaissances en webmastering).
Si vous pouvez m'indiquer ce que je peux/dois vérifier pour voir si tout fonctionne.
Pour le moment je peux juste dire que dans l'e-mail généré la dernière fois :

les é et ç sont traduits par des carrés
& par &
< par <
> par >
" par "


Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Wysigot 6.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

Probablement un désaccord d'encodage-décodage!

Généralement c'est une mauvaise "traduction" au niveau courrielleur.

Pour en dire + il faut le source du message reçu!
aleka
Salamandre
Messages : 26
Inscription : 01 nov. 2008, 23:22

erreur dans un formulaire

Message par aleka »

Je n'ai toujours pas compris ce que je dois obtenir...

Pour ne pas continuer à vous solliciter comme cela (au moins à ce sujet) et pour pouvoir enfin mettre ce formulaire en ligne, je vous propose de m'indiquer une manière (à ma portée) de tester le formulaire, ou tout au moins la fonction htmlspecialchars.
Par exemple un message avec des expressions précises. J'envoie ce message avec le formulaire et je vous soumets les résultats : le message affiché sur la page d'envoi et celui reçu par le webmestre.

qu'en pensez-vous ?

reste aussi cette interrogation :
Par ailleurs, j'ai l'impression que la fonction eregi n'est pas utile pour sécuriser ce type de formulaire. Parce qu'autrement je ne vois pas comment l'utiliser dans la page d'envoi. Ai-je raison ?
encore merci à tous pour votre disponibilité

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
aleka
Salamandre
Messages : 26
Inscription : 01 nov. 2008, 23:22

erreur dans un formulaire

Message par aleka »

Bonjour,
J'ai recommencé à travailler sur le formulaire, avec les fonctions htlmspecialchars et eregi.

1) J'ai utilisé le formulaire avec le message suivant :
ce formulaire fonctionne-t-il ? Ce serait bien !
<strong>gras</strong>
&
""
'
écrire toujours écrire des c cédille ç à en avoir mal aux à et aux è
et cela donne :
ce formulaire fonctionne-t-il ? Ce serait bien !
<strong>gras</strong>
&
\"\"
\'
�crire toujours �crire des c c�dille � � en avoir mal aux � et aux �
donc les accents ne sont pas rendus. Est-ce normal ?

2) dans le message reçu, dans le champ "expéditeur", on trouve le nom de l'expéditeur donc de l'internaute comme premier argument d'une adresse e-mail sous la forme : nom at (domaine de l'adresse du destinataire).
Ce n'est pas gênant pour la compréhension de l'e-mail mais c'est quand même inattendu.
A propos,ne pourrais-je mettre dans le champ expéditeur l'e-mail de l'internaute au lieu de son nom :

Code : Tout sélectionner

"From: $eml"); 
au lieu de

Code : Tout sélectionner

"From: $np"); 
.

3) Il n'est pas sûr du tout que j'ai bien implémenté le contrôle des headers (eregi).

Merci pour votre aide.
L'idée est d'obtenir des messages relativement compréhensibles tout en assurant un minimum de sécurité.

voici le code (plutôt long...)

le formulaire

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>Contact</title>
  <style type="text/css"></style>
  <style title="MaFeuilleCss" media="all"
 type="text/css">
#conteneur {
margin-left: 2%;
background-color: #f4eee4;
font-family: Arial,Helvetica,sans-serif;
width: 96%;
font-size: small;
text-align: justify;
}
#entete {
width: 100%;
background-color: transparent;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
#menu {
float: left;
width: 100px;
background-color: #b8b093;
font-weight: inherit;
}
#texte {
margin-left: 105px;
background-color: transparent;
padding-left: 20px;
padding-right: 30px;
}
#pied {
clear: left;
background-color: transparent;
}
#menuh {
background-color: #8c8670;
color: white;
}
h1 {
margin-top: 0;
margin-bottom: 0;
color: #756f5d;
}
h2 {
margin-top: 0;
color: #7b7562;
}
#menuv {
margin: 0;
padding: 0;
width: 85px;
list-style-type: none;
list-style-image: none;
list-style-position: outside;
font-weight: inherit;
display: block;
color: #ffffff;
}
#menuv li {
border: 1px solid #660000;
background: #cc0000 none repeat scroll 0% 50%;
color: #ffffff;
margin-bottom: 1px;
padding-top: 10px;
padding-bottom: 10px;
font-weight: inherit;
padding-left: 5px;
margin-left: 8px;
}
#menuv li a {
padding: 4px 0;
background: #cc0000 none repeat scroll 0% 50%;
display: block;
color: #ffffff;
line-height: 1em;
text-decoration: none;
}
#menuv li a:hover, #navigation li a:focus, #menuv li a:active {
background: #990000 none repeat scroll 0% 50%;
text-decoration: underline;
}
img {
}
.ImageCentre {
}
h3 {
color: #6b6555;
}
top {
font-size: x-small;
text-align: right;
}
.ImageVignetCouv {
border-style: none;
float: right;
}
  </style>
</head>
<body>
<div id="conteneur">
<div id="entete">
<h1><a name="HautPage"></a>Contact</h1>
</div>
<div id="menuh"><br>
</div>
<div id="menu"><br>
<br>
<ul id="menuv">
  <li><a href="index.html">Accueil</a></li>
  <li><a href="Ouvrage.html">L'ouvrage</a></li>
  <li><a href="Auteur.html">L'auteur</a></li>
  <li><a href="Achat.html">Achat</a></li>
  <li><a href="Contact.html">Contact</a></li>
  <li><a href="Partenaires.html">Partenaires</a></li>
</ul>
<br>
<br>
<br>
<br>
</div>
<div id="texte">
<br>
Si vous voulez vous pouvez communiquer vos suggestions, vos remarques
...<br>
<br>
N'oubliez pas d'indiquer votre e-mail pour la réponse.<br>
<br>
<br>
<form method="post" action="envoi.php" name="Contact">
Nom Prenom : &nbsp; &nbsp; &nbsp; <input size="25"
 name="Nom" maxlength="24"><br>
  <br>
Fonction :&nbsp; <input size="33" name="Fonction"
 maxlength="32"><br>
  <br>
  <br>
Ville-Pays :&nbsp; <input size="28" name="VillePays"
 maxlength="27"><br>
  <br>
E-mail :&nbsp; <input size="35" name="eMail"><br>
  <br>
  <textarea name="Message" rows="15" cols="50">votre
message</textarea><br>
  <br>
  <br>
  <br>
Valider <input name="val" value="OK" type="submit">
&nbsp;ou&nbsp; <input name="recom"
 value="recommencer" type="reset"><br>
  <br>
  <br>
  <br>
&nbsp;<top><a href="#HautPage">top</a></top><br>
&nbsp;</form>
<div id="pied"><br>
</div>
</div>
</div>
</body>
</html>
la page d'envoi

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>Envoi.php</title>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <style type="text/css"></style>
  <style title="MaFeuilleCss" media="all"
 type="text/css">
#conteneur {
margin-left: 2%;
background-color: #f4eee4;
font-family: Arial,Helvetica,sans-serif;
width: 96%;
font-size: small;
text-align: justify;
}
#entete {
width: 100%;
background-color: transparent;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
#menu {
float: left;
width: 100px;
background-color: #b8b093;
font-weight: inherit;
}
#texte {
margin-left: 105px;
background-color: transparent;
padding-left: 20px;
padding-right: 30px;
}
#pied {
clear: left;
background-color: transparent;
}
#menuh {
background-color: #8c8670;
color: white;
}
h1 {
margin-top: 0;
margin-bottom: 0;
color: #756f5d;
}
h2 {
margin-top: 0;
color: #7b7562;
}
#menuv {
margin: 0;
padding: 0;
width: 85px;
list-style-type: none;
list-style-image: none;
list-style-position: outside;
font-weight: inherit;
display: block;
color: #ffffff;
}
#menuv li {
border: 1px solid #660000;
background: #cc0000 none repeat scroll 0% 50%;
color: #ffffff;
margin-bottom: 1px;
padding-top: 10px;
padding-bottom: 10px;
font-weight: inherit;
padding-left: 5px;
margin-left: 8px;
}
#menuv li a {
padding: 4px 0;
background: #cc0000 none repeat scroll 0% 50%;
display: block;
color: #ffffff;
line-height: 1em;
text-decoration: none;
}
#menuv li a:hover, #navigation li a:focus, #menuv li a:active {
background: #990000 none repeat scroll 0% 50%;
text-decoration: underline;
}
img {
}
.ImageCentre {
}
h3 {
color: #6b6555;
}
top {
font-size: x-small;
text-align: right;
}
.ImageVignetCouv {
border-style: none;
float: right;
}
  </style>
</head>
<body>
<div id="conteneur">
<div id="entete">
<h1><a name="HautPage"></a></h1>
<h1>Contact</h1>
</div>
<div id="menuh"><br>
</div>
<div id="menu"><br>
<br>
<ul id="menuv">
  <li><a href="index.html">Accueil</a></li>
  <li><a href="Ouvrage.html">L'ouvrage</a></li>
  <li><a href="Auteur.html">L'auteur</a></li>
  <li><a href="Achat.html">Achat</a></li>
  <li><a href="Contact.html">Contact</a></li>
  <li><a href="Partenaires.html">Partenaires</a></li>
</ul>
<br>
</div>
<div id="texte">
<br>
<em>Voici le message que vous venez d'envoyer.<br>
S'il ne vous satisfait pas, n'hésitez pas à recommencer.</em><br>
<br>
<br>
<br>
<?php $np = htmlspecialchars($_POST['Nom']); $f = htmlspecialchars($_POST['Fonction']); $vp = htmlspecialchars($_POST['VillePays']);$eml = htmlspecialchars($_POST['eMail']);$ms = htmlspecialchars($_POST['Message']);
echo "Votre nom :<strong> $np </strong><br /><br>";
echo "Votre fonction :<strong> $f </strong><br /><br>";
echo "Vous habitez :<strong> $vp </strong><br /><br>";
echo "Votre e-mail :<strong> $eml </strong><br /><br>";
echo "Votre message :<strong> $ms </strong><br />";
$message = "$np \n";
$message .= "Fonction : $f \n";
$message .= "Ville Pays : $vp \n";
$message .= "E-mail : $eml \n";
$message .= "Message : $ms \n";
mail ("destinataire at domaine", "Contact Web", $message, "From: $np");
if (eregi("\r",$np) || eregi("\n",$np)){ 
die("Pourquoi spammer ? :("); 
}?><br>
<br>
<br>
</div>
</div>
</body>
</html>
Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Wysigot 6.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

1) Pour les caractères mal affichés, c'est un problème d'encodage-décodage!
Grossièrement tu envois des caractères japonais, et le courrielleur essaye d'afficher des caractères français, cela ne va pas marcher!

Lis http://www.geckozone.org/forum/viewtopi ... 614#421614
pour une idée sur le problème
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

Code : Tout sélectionner

function EnvoyerMail($destinataire, $nom, $email, $sujet, $texte)
{
$expediteur   = "machin@free.fr";  /* ici le website, pas l'expediteur du formulaire!*/
$sujet        = "[de mon Website] ".$sujet;
$reponse      = $email;  /* adresse de l'expéditeur du formulaire */

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";  /* encodage message */
$headers .= "From: $expediteur\r\nReply-To: $reponse\r\n";
// Additional headers
//$headers .= 'To: Jean <jean@example.com>, Pierre <pierre@example.com>' . "\r\n";
//$headers .= 'Cc: bidule@free.fr' . "\r\n";
//$headers .= 'Bcc: coucou@example.com' . "\r\n";

$texte = stripslashes($texte);
$texte="<strong>$nom   $email</strong> a ecrit via mon site web : <br />$sujet<br /><em>$texte</em>";

return(mail($destinataire,$sujet,$texte,$headers)); 
}  //----------------------------------- fin EnvoyerMail
Cette fonction permet d'envoyer un mail en format html avec un encodage 8859-1 !
aleka
Salamandre
Messages : 26
Inscription : 01 nov. 2008, 23:22

erreur dans un formulaire

Message par aleka »

merci.
Cette fonction permet d'envoyer un mail en format html avec un encodage 8859-1 !
ce qui signifie que "mail" ne peut réaliser cet encodage ?

J'ai mis du temps à comprendre que "envoyermail" est une fonction à créer et non une fonction préexistante (je trouvais bizarre qu'elle soit en français).

Si je comprends bien je dois substituer cette fonction à "mail". Je vais essayer de le faire ce qui implique que je la comprenne dans le détail.

A bientôt donc pour la soumission du résultat.

En attendant qq'un pourrait-il me dire si à part ces pbs de lecture pour le webmaster, le formulaire (+ page d'envoi) est correct du point de vue de la sécurité, ou plutôt d'une sécurité minimum ? (cf code dans message du 08 Nov 2008 7:52)

merci beaucoup


Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Wysigot 6.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
aleka
Salamandre
Messages : 26
Inscription : 01 nov. 2008, 23:22

Re: erreur dans un formulaire

Message par aleka »

aleka a écrit :merci.
Cette fonction permet d'envoyer un mail en format html avec un encodage 8859-1 !
J'en déduis que "mail" ne peut réaliser cet encodage.

J'ai mis du temps à comprendre que "envoyermail" est une fonction à créer et non une fonction préexistante (je trouvais bizarre aussi qu'elle soit en français...).

Si je comprends bien je dois substituer cette fonction à "mail". Je vais essayer de le faire, ce qui implique que je la comprenne dans le détail.

A bientôt donc pour la soumission du résultat.

En attendant qq'un pourrait-il me dire si à part ces pbs de lecture pour le webmaster, le formulaire (+ page d'envoi) est correct du point de vue de la sécurité, ou plutôt d'une sécurité minimum ? (cf code dans message du 08 Nov 2008 7:52)

merci beaucoup


Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Wysigot 6.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

La fonction "mail" ne réalise pas directement l'encodage, c'est le serveur SMTP (d'envoi) qui encode le message lors de l'envoi en fonction du contenu de l'header !
En l'absence de jeux de caractères précisé, le message sera "encodé" par défaut, certainement de l'ASCII US pur!

Pour la sécu, cela devrait aller!
aleka
Salamandre
Messages : 26
Inscription : 01 nov. 2008, 23:22

erreur dans un formulaire

Message par aleka »

OK, merci pour l'info.
Je ne pourrai me remettre au formulaire que dans quelques jours.
à bientôt donc


Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Wysigot 6.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités