Page 1 sur 1
Envoyer un mail sécurisé
Posté : 30 sept. 2015, 09:55
par foetus69
Bonjour,
Je cherche le moyen d'envoyer un mail au format HTML via PHP mais de façon sécurisée.
J'entends par là de sécuriser ce qui est envoyé, vérifier les données etc... je ne sais pas quelle genre de menaces ou script on peut envoyer dans un formulaire de contact.
Si vous avez des informations et une solution je suis preneuse

Re: Envoyer un mail sécurisé
Posté : 30 sept. 2015, 12:44
par @rthur
Bonjour,
Il faut que tu filtres les données que tu reçois de ton formulaire pour être sûr de ne mettre dans le mail que ce que tu es en droit d'attendre.
PHP a une fonction dédiée à cela qui s'appelle
filter_var()
Tu peux faire un test que l'adresse e-mail indiqué soit correct avec le
filtre de validation FILTER_VALIDATE_EMAIL :
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) die("Adresse e-mail incorrecte");
Et tu peux nettoyer le texte à ajouter en message avec le
filtre de nettoyage FILTER_SANITIZE_STRING :
$message = filter_var($_POST['message'], FILTER_SANITIZE_STRING);
Re: Envoyer un mail sécurisé
Posté : 30 sept. 2015, 14:12
par ynx
Salut,
En complément de la réponse précédente, si ton mail est au format html, ne pas oublier d'utiliser la fonction htmlspecialchars (ou htmlentities) pour éviter les failles XSS.
Bonne journée
Re: Envoyer un mail sécurisé
Posté : 30 sept. 2015, 16:03
par @rthur
En complément de la réponse précédente, si ton mail est au format html, ne pas oublier d'utiliser la fonction htmlspecialchars (ou htmlentities) pour éviter les failles XSS.
En fait, le filtre FILTER_SANITIZE_STRING que je proposais supprime déjà toutes les balises et encode les caractères spéciaux donc devrait être suffisant.
Si les utilisateurs peuvent poster des balises, il existe le filtre FILTER_SANITIZE_SPECIAL_CHARS qui correspond effectivement à un htmlspecialchars() en encore + puissant
Re: Envoyer un mail sécurisé
Posté : 01 oct. 2015, 09:54
par foetus69
Kikoo,
Si je comprends bien dans mon traitement je dois vérifier que l'adresse email est bonne puis si c'est le cas j'applique les filtres sur chaque champ posté ?
Mais comment vérifie t-on en amont et avec les filtres que de l'info a bien été saisie ?
Merci de votre aide.
Re: Envoyer un mail sécurisé
Posté : 01 oct. 2015, 10:15
par @rthur
Mais comment vérifie t-on en amont et avec les filtres que de l'info a bien été saisie ?
Avec la fonction empty()
Re: Envoyer un mail sécurisé
Posté : 01 oct. 2015, 11:03
par foetus69
Ok @rthur, je pensais utiliser isset.
Donc la bonne logique c'est de faire
Si l'email est valide
Que les champs nom, prénom, profession sont renseignés
J'applique les filtres et j'envoie, c'est bien ça ?
Peux-tu me donner un exemple d'injection ou de script qui peut être fait pour voir si ce que je mets en place est protégé ou non.
MERCI
Re: Envoyer un mail sécurisé
Posté : 01 oct. 2015, 21:34
par or 1
Re: Envoyer un mail sécurisé
Posté : 02 oct. 2015, 10:27
par foetus69
Merci beaucoup les garçons.
Donc la bonne logique c'est bien de vérifier si l'email est valide, que les champs nom, prénom, profession sont renseignés et après d'appliquer les filtres, c'est bien ça ?