ceetro
Messages postés2Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention25 février 2011
-
21 févr. 2011 à 22:49
ceetro
Messages postés2Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention25 février 2011
-
25 févr. 2011 à 16:08
Bonjour,
je savais pas trop où poster mon message, dans la section php ou la section javascript...
je m'explique :
J'ai un site internet qui affiche le contenu de mes différentes rubriques par un système coda slider. Système plaisant pour ne pas avoir à recharger tout le temps les pages quand on change de section.
Dans ma rubrique contact, j'ai un formulaire d'envoi mail en javascript lié à un php qui envoie le mail directement sur ma boite.
Le problème est que du coup j'me ramasse plein de spam de bot qui injèctent des champs vides ou des données dans mon formulaire vu que les tests sur les champs sont dans le javascript
(l'intérêt est de pouvoir afficher le message d'erreur pour l'utilisateur avec un alert, on recharge toujours pas la page)
J'aimerais donc pouvoir effectuer des tests sur le php une fois que le javascript a validé les informations requises pour l'envoi mail.
Voici mon morceau de javascript qui gère le html (trouvé sur le net)
var nom="";
var prenom="";
var mail="";
var tel="";
var objet="";
var commentaire="";
document.getElementById("boutonEnvoyer").onclick=envoiMail;
function envoiMail(){
if ((document.getElementById('nom').value=="")||(document.getElementById('mail').value=="")||(document.getElementById('objet').value=="")||(document.getElementById('commentaire').value=="")||(document.getElementById('commentaire').value=="Écrivez ici votre message")){alert("Erreur !\nVous n'avez pas renseigné les champs correctement.")}else{
xhr=new XMLHttpRequest;
xhr.open("POST",'../envoiemail.php',true);
xhr.onreadystatechange=function(){
if(xhr.readyState==4){ alert("Merci ! \n nous avons bien reçu votre mail. \n Nous tâcherons de vous répondre dans les plus brefs délais.");} }
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("nom="+document.getElementById('nom').value+"&prenom="+document.getElementById('prenom').value +"&mail="+document.getElementById('mail').value +"&tel="+document.getElementById('tel').value +"&objet="+document.getElementById('objet').value +"&commentaire="+document.getElementById('commentaire').value);
} }
Et voici le contenu de envoiemail.php (trouvé également sur le net) :
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention 8 janvier 20144 25 févr. 2011 à 15:10
La bonne démarche consiste à supprimer (au moins provisoirement) tous les tests en javascript, voués au confort de l'utilisateur, pour mettre au point ceux effectués en PHP, seuls valables en définitive.
Bon courage. Il y a beaucoup d'informations sur la sécurisation des formulaires sur la toile...