opte Posté 5 Juillet 2007 Posté 5 Juillet 2007 Bonjour, j'ai mis une page contact sur mon site qui permet de remplir un formulaire avec la fonction <form action="mailer.php" method="POST" ... qui envoie le contenu du formulaire vers mon adresse mail et renvoie le visiteur vers un fichier "reponse.html" où on lui dit qu'en cas de non-réponse de ma part il a dû y avoir une erreur dans le formulaire qui ne me permet pas de l'identifier. Depuis quelques jours je reçois plusieurs mails vides : aucun champ n'est renseigné. L'expéditeur est désigné par "nobody" dans ma messagerie puisque ça provient d'un formulaire en ligne. Je n'ai donc aucune possibilité de voir qui a écrit. Y a-t-il un moyen de rajouter une ligne dans mon mailer qui me dit d'où provient le message quand le visiteur ne remplit aucun champ ? Merci pour votre aide opte
Djoule Posté 5 Juillet 2007 Posté 5 Juillet 2007 Je ne sais pas si tu peux verifer d'ou vient un champ vide, mais tu peux completer ton formulaire grace à un controle de champ. Si les champs sont vides, tu invite gentiment l'utilisateur à les remplir Comme ça, si tu reçoit encore de mail vides, c'est que tu as un bug quelque part.
Wolf18 Posté 5 Juillet 2007 Posté 5 Juillet 2007 (modifié) Bonjour opte, oui il est possible de recevoir par exemple l'IP de la machine qui envoie le message. Mais à ta place je bloquerais plutôt l'envoie du message si les champs ne sont pas remplis. if(@$_POST['emetteur'] != "" && @$_POST['sujet'] != "" && @$_POST['message'] != ""{ // les champs sont remplis on peut envoyer le messagemail();} Sinon tu peux aussi essayer de vérifier que le formulaire a bien été posté à partir de ton site grâce à la fonction $_SERVER["HTTP_REFERER"], mettre un captcha pour éviter les spams de robots et vérifier le format de l'adresse email grâce aux expressions régulières. Edit: pour obtenir l'IP -> $_SERVER["REMOTE_ADDR"], il te suffit de l'inclure dans le message que tu reçois. Modifié 5 Juillet 2007 par Wolf18
opte Posté 5 Juillet 2007 Auteur Posté 5 Juillet 2007 Merci pour vos différents conseils. Je suis probablement trop nul pour bien les mettre en pratique. La ligne "$_SERVER["REMOTE_ADDR"]" doit être intégrée telle quelle dans le mailer.php dans le paragraphe "body" ? Voici l'adresse de ma page: http://www.amis-chapelle-victoria.org/Eglise2/Contact.html Merci encore !
Wolf18 Posté 5 Juillet 2007 Posté 5 Juillet 2007 La façon la plus simple est d'insérer un champs caché contenant cette variable, mais ce n'est pas la plus sure à mon avis. <input type="hidden" name="IP" value="<?php echo $_SERVER['REMOTE_ADDR'] ?>">
Portekoi Posté 5 Juillet 2007 Posté 5 Juillet 2007 Pour intégrer l'IP, tu dois l'ajouter lors du traitement du mail uniquement. Mais l'IP ne te donnera pas plus de sécurité. Contrôle en Javascript et PHP que les champs soient bien remplis
captain_torche Posté 5 Juillet 2007 Posté 5 Juillet 2007 Effectues également quelques tests par toi-même : que reçois-tu si tu remplis tous les champs ? Si tu n'en remplis aucun ? Si tu n'en remplis que certains ?
opte Posté 5 Juillet 2007 Auteur Posté 5 Juillet 2007 si je remplis moi-même le formulaire je ne reçois rien - mais cela me le fait avec d'autres sites, je crois que ma messagerie comprend que je me renvoie un message à moi-même, c'est la seule explication que je trouve. J'ai demandé à quelques amis de remplir le formulaire et je le reçois bien comme il faut. Donc c'est bien quelqu'un qui s'amuse à m'envoyer un formulaire vide, ou plutôt en mettant une simple virgule dans chaque champs pour ne pas les laisser vides. J'ai réussi à intégrer la fameuses remote-adress, comment à partir de là je peux voir d'où vient l'envoi ? Merci !
Fun Posté 5 Juillet 2007 Posté 5 Juillet 2007 Il y a des petits malins qui s'amusent à tester les formulaires de contact. Je reçois régulièrement des messages bizarres, et l'adresse IP de la machine expéditrice me renvoie en Chine neuf fois sur dix. Quant au formulaire "en parler à un ami" que j'aime tant, il sert bien aux spammeurs, pas de doute. J'ai eu la flemme de mettre un captcha mais il faudrait...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant