+1 Le controle sur le sujet et les mails saisie suffit.Envoyé par Djakisback
Pour comment pour les parano, il suffit de virer les \ncc: et \nbcc:
+1 Le controle sur le sujet et les mails saisie suffit.Envoyé par Djakisback
Pour comment pour les parano, il suffit de virer les \ncc: et \nbcc:
le problème c'est que si l'on veut faire un traitement du mail ligne à ligne, ça peut posés des problèmes.
mais oui, sinon, c'est pas utile
Ou pour eviter l'incrustation de bcc, on peut toujours ajouter du decors et plus de probleme genre :Envoyé par juJuv51
$comment="********************\n".$comment."\n*****************";
Si le spameur veur incruster ces cc et bcc ils vont partir dans le decor
Merci j'y aurais pas pensé
(mais je suis trop parano pour ne pas viré les caractères indésirables :p)
je reviens vers vous.
Plus aucun spam sur le mail server, bonne chose, mais je recois des formulaires vides quand même (une bonne centaine sur une nuit) malgré mon code pour vérifier si tous les champs sont remplis :
code sur ma page avec le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <script language="JavaScript"><!-- function checkFields() { missinginfo = ""; if (document.form.name.value == "") { missinginfo += "\n - Nom"; } if ((document.form.email.value == "") || (document.form.email.value.indexOf('@') == -1) || (document.form.email.value.indexOf('.') == -1)) { missinginfo += "\n - E-mail"; } if (document.form.city.value == "") { missinginfo += "\n - Ville"; } if (document.form.country.value == "") { missinginfo += "\n - Pays"; } if (document.form.comments.value == "") { missinginfo += "\n - Commentaires"; } if (missinginfo != "") { missinginfo ="______________________________________________\n" + "Vous n'avez pas rempli correctement tous les champs :\n" + missinginfo + "\n______________________________________________" + "\nS'il vous plait, vérifiez et réessayer à nouveau !"; alert(missinginfo); return false; } else return true; } // --> </script>
code sur ma page de confirmation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php $name = preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", $_POST['name']); $email = preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", $_POST['email']); $city = preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", $_POST['city']); $country = preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", $_POST['country']); $comments = preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", $_POST['comments']); $messageToSend .= "\n"; $messageToSend .= "Nom : ".addslashes($name)."\n"; $messageToSend .= "Ville : ".addslashes($city)."\n"; $messageToSend .= "Pays : ".addslashes($country)."\n"; $messageToSend .= "Message : ".addslashes($comments)."\n"; // envoyer message $to = "ma083028@skynet.be"; $subject = "Guestbook site FR"; $from = "From: ".addslashes($email)."\r\n"; mail($to, $subject, $messageToSend, $from); ?>
Salut, tu fais ta vérif coté client en JS, il suffit au robot de désactiver le JS et c'est bon. Il faut que tu la fasses soit en JS + PHP soit que PHP, bye
Je présume que tu fais un truc du genre <form onsubmit="return checkFields()"> ?
Enleve le onsubmit, remplace ton bouton input type submit par un type button, et met ta fonction en onclick.
<input type=button value="envoyer" onclick="checkFields()">
Et bien sur modifi ta fonction checkfield pour qu'elle submit le formulaire au lieu de renvoyer true.
Ensuite quand tu auras fait ça, si le robot n'a pas de javascript il ne passera pas.
Puis bien enttendu, recontrole que les champs soit bien saisi du coté php, sinon fait des exit.
ok merci pour ta réponse.
j'ai changé mon code comme tu me l'as conseillé ... du coté de mon mail server, plus aucun mail n'est envoyé à des milliers de personnes chaque jour (le principal), mais je reçois tout de même des formulaires avec publicités non désirées pour viagra ou autre ....
Viagra ? tu es sur qu'ils passent par ton formulaire, que tu reçois pas ton spam directement sur ton email ?Envoyé par tomguiss
non je suis quand même pas si bête que cela
non je recois bien un mail qui provient de mon formulaire du site ... mais les champs sont bien remplis du genre :
donc je sais pas trop....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6Email : adrian_price@hairdresser.net Nom : Adrian Price Ville : Vanconta Pays : Zimbabwe Message : <a href=\"http://pregnant.maisielotus.com/pregnant-creampie.html\"> pregnant creampie </a> <a href=\"http://pregnant.maisielotus.com/pregnant-photos.html\"> pregnant photos </a> <a href=\"http://pregnant.maisielotus.com/free-pregnant-porn.html\"> free pregnant porn </a> <a href=\"http://pregnant.maisielotus.com/pregnant-guppy-fish.html\"> pregnant guppy fish </a> <a href=\"http://pregnant.maisielotus.com/pregnant-rapid-belly-expansion.html\"> pregnant rapid belly expansion </a> <a href=\"http://pregnant.maisielotus.com/pregnant-love.html\"> pregnant love </a> <a href=\"http://pregnant.maisielotus.com/pregnant-sex-videos.html\"> pregnant sex videos </a> <a href=\"http://pregnant.maisielotus.com/huge-pregnant.html\"> huge pregnant </a> <a href=\"http://pregnant.maisielotus.com/pregnant-women-naked.html\"> pregnant women naked </a> <a href=\"http://pregnant.maisielotus.com/trying-to-get-pregnant-quickly.html\"> trying to get pregnant quickly </a>
Dans ce cas une seule solution, captchaEnvoyé par tomguiss
http://fr.wikipedia.org/wiki/Captcha
C'est quand même fou à quel point le Spam peut remporter de l'argent, aux point de pouvoir payer des personnes pour spammé à la main...Contournement
Il y a plusieurs approches pour mettre en échec un CAPTCHA :
* on peut utiliser une main-d’œuvre humaine pour les reconnaître
tu peux faire un captcha a intellectuel aussi, facile a faire et chiant pour un robot
Additioner ces 3 chiffres : 2 + 1 + 3 (un robot trouvera 213 )
Ou quel est l'animal présent sur cette photo....
J'avais déjà rencontrer ce genre de script mais sans image (je trouvé ça bidon)
mais le coup de posé une question en fonction d'une image, ou encore faire un calcule simple, c'est vraiment un très très bonne idée...
Merci
oui bonne idée, je vais implémenter ce code dans les formulaires qui posent problème, les 9/10 ne sont pas infectés, mais deux m'envoyent des centaines de mails par jour .... du moment qu'ils ne soient pas envoyés en masse à des personnes autres que moi, ce n'est pas grave, au sinon mon provider me bloque encore mon mail server...
je vous tiendrai au courant dans l'après-midi.
Ok, mais tu as raison de faire attention avec l'envoie de mail massif, parce que les providers montre les dents rapidement.
Au fait, ma fonction de controle de mail ressemble a ça :
Et la fonction qui controle le sujet et message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function isemail($email) { if(preg_match("/^[0-9a-z_]([-_.]?[0-9a-z])*@[0-9a-z][-.0-9a-z]*\\.[a-z]{2,3}[.]?$/",$email)) { $host = substr(strstr($email, '@'), 1); if($host=='mondomaine.com') return FALSE; if (getmxrr($host, $validate_email_temp)) return TRUE; if(checkdnsrr($host,"ANY")) return TRUE; return FALSE; } return FALSE; }
Ha oui, et je rajoute l'ip du posteur en premiere ligne de mon message.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 //type=0 pour sujet, 1 pour message function strctrl($str,$type=0) { $str=stripslashes(str_replace(array('MIME','bcc:','cc:','multipart','Content-Type'),'#####',$str)); if(!$type)return preg_replace("`\\x00|\\x0a|\\x0d|\\x1a`", "", strtolower($str)); return preg_replace("@^[`\\x00|\\x0a|\\x0d|\\x1a`]+@", "", $str);; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager