8797 sujets

Développement web côté serveur, CMS

Bonjour,

J'utilise un formulaire de contact depuis un an et je viens de remarquer dans ma boite de spam pas mal de messages vides dû au fait qu'en activant via url le fichier php qui gère l'envoi, cela m'envoie un e-mail vide.

Serait-il possible d'ajouter une petite ligne de code à mon fichier php pour éviter qu'à la simple visite du lien de ce fichier php un mail me soit envoyé ?

Voici le code en question :


<?php
    //we need to get our variables first
    $email_to =   'mon@e-mail.tld'; //the address to which the email will be sent
    $name     =   utf8_decode($_POST['name']);
    $email    =   $_POST['email'];
    $subject  =   $_POST['subject'];
	$subject .=   " - [Message depuis le site]";
    $message  =   $_POST['message'];
    
    /*the $header variable is for the additional headers in the mail function,
     we are asigning 2 values, first one is FROM and the second one is REPLY-TO.
     That way when we want to reply the email gmail(or yahoo or hotmail...) will know 
     who are we replying to. */
    $headers  = "From: \"$name\" <$email>\r\n";
    $headers .= "Reply-To: $email\r\n";
	$headers .= "Content-Type: text/plain; charset=utf-8\n\r";
    
    if(mail($email_to, $subject, $message, $headers)){
        echo 'sent'; // we are sending this text to the ajax request telling it that the mail is sent..      
    }else{
        echo 'failed';// ... or this one to tell it that it wasn't sent    
    }
?>


En espérant que ce soit possible,

Merci d'avance pour votre aide,

Sub
Modérateur
Bonjour,

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

       [...code d'envoi de mail...]

}


N’exécutera ton code php que si tu atteins cette page via input/submit de ton formulaire


Joyeux anniversaire ! Smiley birthday
Modifié par _laurent (05 Jan 2012 - 11:34)
Merci Smiley lol

Pour le code, je l'ai inséré mais ... du coup il n'envoie plus le mail même si on passe pas le formulaire Smiley decu

Une autre possibilité ?

Merci pour ton aide
if(isset($_POST['email'])){

...

juste, tu ne fais aucune vérification sur les données ?
Ni si le mail est un mail etc ?

Tu n'as pas un peu peur qu'on détourne ton formulaire ?
Il faut absolument faire une verif côté serveur, là les hackers/spammers adorent ce genre de faille pour envoyer leur pourriel (une verif côté client c'est bien pour l'expérience utilisateur, mais ça n'a pas la moindre utilité niveau sécurité)
Modérateur
Mince je ne retrouve plus le tuto dont je m'étais servi à la base Smiley sweatdrop
Modifié par _laurent (06 Jan 2012 - 09:23)