8791 sujets

Développement web côté serveur, CMS

bonjour,

voici le bout di code que j'ai récupéré pour faire une messagerie anti-spam sur le site que je suis en train de réaliser. J'aimerais savoir ce qu'il faut faire pour que l'adresse à laquelle le visiteur envoie un message pointe sur la mienne sans que ça se voit....

merci,

Pluton


<div id="ecrire">
	 
     <h1>Ecrire au : Webmestre</h1>
	 <div id="ecrireauteur">

<form action="auteur.php3?id_rubrique=1&amp;id_auteur=1" method='post'><fieldset class="spip_encadrer">

<p><label for="email_message_auteur_1">Votre adresse email</label><br />
	<input type="text" class="forml" name="email_message_auteur_1"
		 value="" size="30" id="email_message_auteur_1"/>
</p>
<p><label for="sujet_message_auteur_1">Sujet</label><br />
	<input type="text" class="forml" name="sujet_message_auteur_1"
		 value="" size="30" id="sujet_message_auteur_1"/>
</p>
<p><label for="texte_message_auteur_1">Votre message</label><br />
<textarea name="texte_message_auteur_1" id="texte_message_auteur_1" rows="10" class="forml" cols="40"></textarea>
</p>
<p style="text-align:right;">
	<input type="submit"  class="spip_bouton" name="valide"
		 value="Envoyer un message" />
</p></fieldset>
</form>

</div>
Bonjour à toi,

Etant donné que tu as posté dans la section langage serveur je suppose que tu utilises quelques chose comme le PHP par exemple.

Dans ce cas la rien de plus facile.

Dans la 1ere page tu as ton formulaire qui pointe sur auteur.php3?id_rubrique=1&amp;id_auteur=1.
La personne tape son adresse, son message puis clic sur "Envoyer le Message".

Dans la 2eme page auteur.php3 tu as ton script d'envoi de mail. Sachant que les page php ne sont pas lisible directement par les internautes tu peux tres facilement mettre ton adresse email dans une variable sur cette page.

Ex :

<?php

$mon_email = "toto@pouet.com";


/* ici le traitement pour l'envoi du mail();*/



Voili voilou en espérant t'avori aider ! Smiley smile
ouep en fait, j'ai posté ici après m'être dit qu'il y avait du php dans le code que je montrais. Ceci dit, à part cette partie, il n'y a pas d'autre php dans mon site. Toutes les pages sont en html. C'est grave ?
Si j'ajoute le code mentionné par Cocci_uk dans un fichier auteur.php3, ça devrait marcher ??

merci.

Pluton

Merci Patidou mais pour l'instant, je vais essayer de faire au plus simple (disons, ce qui me semble être simple....).
pluton a écrit :
Merci Patidou mais pour l'instant, je vais essayer de faire au plus simple (disons, ce qui me semble être simple....).


Mais c'est simple : tu renommes ta page contact.html en contact.php et tu remplaces le code du formulaire par le code copier-coller du formulaire que je t'ai donné.

Ne pas oublier de changer l'adresse du destinataire. Smiley cligne
Modifié par Patidou (07 Sep 2007 - 13:37)
Mmmh. Pour que ça fonctionne avec le script que je t'ai donné, je me demande s'il ne faudrait pas passer l'encodage de la page en utf-8 également. Je ne suis pas sûr.
ouep, désolé mais là je suis perdu.... Quel script ? Le beau de code qui commence par : sans doute un spammeur ! $erreur="Tentative de spam !"; }... ????

Je ne suis pas un pro de la création de site internet et là, je ne comprends plus rien....

Pluton
Voici la page modifiée, il faut modifier la ligne :

$email_webmaster = "mon_mail@existe.pas";


Avec ta propre adresse email. Attention, les messages d'erreurs sont en français, il faudra peut-être les modifier aussi.

P.S. : j'ai fait ça en vitesse au boulot, je n'ai pas pu tester mais ça devrait marcher.
ok, je vais regarder. Depuis, j'ai trouvé un code qui fonctionne bien....

merci,

Pluton
Ok. Encore une chose : un bon formulaire doit aussi empêcher les robots spammeurs de l'utiliser. C'est ce que fait celui-là.
salut

a écrit :
un bon formulaire doit aussi empêcher les robots spammeurs de l'utiliser. C'est ce que fait celui-là.


en l'état, surement pas.les constantes sont plus appropriées pour le mail et toutes données sensibles.les injections d'headers çà vous parle?vous les traiter mais pas correctement, en php en tout cas.

j'ai fait ça en vitesse au boulot, je n'ai pas pu tester mais ça devrait marcher.


j'ai bien compris mais quand même...ce code est purement et simplement suicidaire.et pour finir, strip_tags est plus utile que htmlspecialchars ainsi que die pour les erreurs.

if (isset($_POST["envoyer"])){


on s'en fout, le problème n'est pas là.

et un code du genre :


$nom  = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';
$domaine = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)';
$regex = '/^' . $nom . '+' . '(\.' . $nom . '+)*' . '@' .  '(' . $domaine . '{1,63}\.)+' . $domaine . '{2,6}$/i';


pour le test d'e-mail, serait le bienvenu.de plus, par empirisme, je sais que les robots, rien ne les arrètes, sauf, l'humanité...donc, une question banale et bétement humaine est aujourd'hui obligatoire avant validation et traitement.c'est beaucoup plus éfficace que tous les captcha.une autre chose, les array et le in_array de php parrent toutes tentatives de cracks prévues et pour les valeurs non prédictibles, trim et strip_tags sont obligatoires.

un lien sympà pour la vérification du mail et autres
en rapport au dernier message, keran, vous parlez à qui ? à Patidou ?
Bon, j'ai finalement réussi à faire ce que je voulais. Vous pouvez peut-être me dire ce que vous en pensez en allant sur le site ?

merci,

Pluton
Salut Keran,

Comme tu l'as remarqué je ne suis pas développeur, ce formulaire était destiné au départ à être intégré dans les pages connexes de Dotclear 1.2.X, ce que j'avais fait à l'époque et n'ai jamais reçu aucuns spams.

Maintenant je suis bien conscient que les robots finiront pas passer un jour ou l'autre mais en attendant une meilleure méthode ça peut dépanner notre ami. Je n'aime pas trop (en tant qu'utilisateur) les formulaires à devinettes. Je préfère les solutions comme celle-ci, ou avec ouverture de session ou avec une combinaison de noms de champs qui changent et d'autres cachés (testés aussi avec succès sur un livre d'or).
Modifié par Patidou (07 Sep 2007 - 23:00)
re

a écrit :
en rapport au dernier message, keran, vous parlez à qui ? à Patidou ?


à vous deux bien sur.

a écrit :
en attendant une meilleure méthode ça peut dépanner notre ami.


oui et soit en remercier mille fois, mais ce type de code étant franchement dangereux, j'intervient, par conscience php Smiley cligne

a écrit :
Je n'aime pas trop (en tant qu'utilisateur) les formulaires à devinettes.


moi non plus mais un truc du genre, le résultat de 3x20, ce n'est pas insurmontable et çà suffit.

si quelqu'un à la solution universelle contre le spam, qu'il me là communique. Smiley lol mais la connaissance du risque réduit le risque Smiley cligne
Modifié par keran (07 Sep 2007 - 23:49)
a écrit :
et donc, ce que j'ai choisis n'est pas très bien ??


je ne sais pas! ma réaction était plus en rapport avec le code de patidou.maintenant, votre choix, il vous appartient.à vous de voir ce qui vous sied le mieux.moi, je ne peux que mettre l'accent sur le fait qu'un formulaire en ligne est une aubaine pour tout les enfoirés de la terre, spammeurs ou non et que, de ce fait il doit faire l'objet de toute votre attention.

//pour raphael ou un(e) modo

c'est frustrant de ne pas avoir le message d'origine pour la réponse.