IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Sécurisation formulaire mail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 16
    Par défaut Sécurisation formulaire mail
    Bonjour,

    Je suis actuellement en train de mettre en place un formulaire de contact qui envoi un mail grâce à la méthode POST. Je n'ai aucun problèmes dans l'envoi et réception de données, cependant je suis un peu perdu au niveau de la sécurisation.
    Tout d'abord, est ce qu'il y a un intérêt à sécuriser un formulaire de contact vu qu'il n'y a aucun accès à une base de données ?
    Si oui, je suis un peu perdu avec toutes les méthodes, laquelle utilisée, htmlentities, stripslashes, strip_tags ?
    Et pour finir, j'ai un problème dans l'affichage du mail pour tout ce qui est accent ou caractères spéciaux, je pensais que ça se réglait avec un en-tête de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= 'From: "'.$from.'" <'.$email.'>'."\n";
    $headers .= 'Reply-To: '.$email."\r\n";
    $headers .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $headers .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $headers .= 'X-Mailer:PHP/' . phpversion()."\r\n";
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut


    Je ne peux pas répondre à toutes tes questions, mais concernant la sécurisation, il y a 2 niveaux :
    - Sécurisation des variables reçues : un bon htmlspecialchars te débarrassera des balises HTML (que tu ne veux probablement pas voir interprétées du côté du destinataire de l'e-mail) et des attaques XSS ; strip_tags étant à mon avis un peu extrême, et la gestion des slashs inutile dans ce contexte
    - Sécurisation du formulaire : elle est très importante pour éviter les envois automatisés créant du flood voire du spam sur la boîte destinataire. Tu dois donc protéger ton formulaire à l'aide, par exemple, d'un CAPTCHA (je te conseille reCaptcha, dont l'intégration est facile, qui gère l'accessibilité, et qui est plutôt efficace).

    Pour les problématiques d'encodage, je ne peux que te conseiller d'envoyer ton e-mail en UTF-8 (compatible avec plus de clients mail), en dehors de ça je suis assez peu compétent. Si tu ne veux pas te prendre la tête, utilise une bibliothèque comme phpmailer, qui s'occupe de tout ça

  3. #3
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 495
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 495
    Par défaut
    si tu ne veux pas trop te prendre la tete pour la securisation de ton formulaire :
    - test si les champs sont vides (surtout celui qui contient le corps du message)
    - utilise filter_var() (avec FILTER_VALIDATE_EMAIL) si tu ne veux pas te prendre la tete avec des regexp
    - si tu ne veux pas ajouter de capcha :
    ajoute un hidden
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" id="email" name="email" value="" />
    (appel le email, contact...'fin, un truc que les bots auraient envie de remplir) et si ce champ est remplis, c'est que c'est un bot, et tu n'envois pas le mail.

    => on dira que ce sont des astuces rapides et facile a mettre en place, ce ne sont pas les meilleures. (rien ne vaut quelques bonnes lignes de codes)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    Membre extrêmement actif
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Par défaut
    en complément de ce que les autre ont dit, je te conseille d'utiliser un charset avec UTF-8 ça t'évitera tous les problèmes liés aux accents et autres
    aussi il faut verifier le format de l'adrese email par une expression régulière il y a un exemple dans les forum de developpez.com le lien est le suivant :
    http://www.developpez.net/forums/d963010/webmasters-developpement-web/javascript/expression-reguliere-validation-email/

    a++
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 16
    Par défaut
    Merci pour toutes vos réponses, j'ai donc opté pour htmlspecialchars() et utf-8, tout est ok sauf les apostrophes qui sont précédés d'un antislash et les guillemets mais c'est normal.
    Sinon j'avais déja fait le test sur l'adresse mail et pour voir si les champs sont bien remplis, mais pas le input hidden

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Mail] Sécuriser formulaire mail
    Par LhIaScZkTer dans le forum Langage
    Réponses: 7
    Dernier message: 14/02/2007, 09h55
  2. Ajouter texte à un Formulaire mail
    Par Pias dans le forum Langage
    Réponses: 7
    Dernier message: 05/11/2006, 19h05
  3. formulaire mail
    Par Kevchenko dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 18/08/2006, 15h04
  4. Formulaire mail et caractères accentués
    Par Yael dans le forum Langage
    Réponses: 13
    Dernier message: 30/03/2006, 09h41
  5. [PEAR][HTML_QuickForm] Formulaire mail
    Par keiser1080 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 24/03/2006, 00h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo