[besoin aide] petit code php

WRInaute occasionnel
bonjour,

comme je le disais recement dans le post suivant ( https://www.webrankinfo.com/forum/t/a-qui-ca-sert.62415/ ), j'en ai marre des spamers de formulaires (mais comme tout le monde ici) mais me refuse a utiliser un captcha car c'est trop reducteur (pas accessible a tous), je prefererais un test logique, comme le preconise Matt May ici
http://www.w3.org/2004/Talks/0319-csun-m3m/ (tres bon billet au demerant)

j'ai commencé a mettre ca en place ==> -http://www.leblason.fr/fr/acces-contact.html mais pour l'instant j'ai juste trouvé une verification de selection de bouton radio avant envoit du formulaire (un pauv' truc javascript dans le head)

Je me demandais si quelqu'un serait assez gentil et competant (mais ca j'en doute pas) pour me "pondre" un petit bout de code php pour que la verification d'envoit avant formulaire soit pertinante (bonne reponse uniquement) et bloque tout le reste.... d'avance un grand merci

voici le script php trouvé et utilisé sur mon site (c'est du basique

Code:
<?php 

$msg = "prenom:\t$prenom\n";

$msg1 = "nom:\t$nom\n";

$msg2 = "adresse:\t$addresse\n";

$msg3 = "phone:\t$telephone\n";

$msg4 = "email:\t$email\n";

$msg5 = "commentaire:\t$commentaires\n";



$recipient = "h0tel@l3blas0n.fr";
$subject = "resa l3blas0n.fr";

$mailheaders = "From: Contactfr <> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail("$recipient"," $subject", "$msg
$msg1
$msg2
$msg3
$msg4
$msg5
", "$mailheaders");

J'ai pas grand chose a offrir a part ma reconnaissance et eventuelement 50% de reduction sur mon hotel si le codeur veut s'echapper un peu et passer un week end en touraine (evidement offre soumise a conditions.... pas en haute saison, reduction sur le prix de la chambre, et derniere condition que la verification du formulaire soit evidement efficace, le reste j'suis flexible). Et si le codeur n'a pas d'adresse gmail, j'peux lui en offrir une (ce c'etait pour rire !)

merci et bonne journee
 
WRInaute accro
question bete qui me vient à l'esprit... j'ai modifié récemment le nom de la page pour se créer un accès sur mon forum... et les bots sont un peu "paumés" et donc ils spamment plus en s'inscrivant

Ce ne serait pas possible de changer le nom de cette page à chaque visite ? genre nom-id.php

Le bot ne sait pas où est la page... et hop finito ... il trouvera peut etre mais l'adresse du formulaire ne pourra plus tourner d'un robot à l'autre... c bete ce que je dit ?

J'ai fini mon HS :)
 
WRInaute passionné
deja dans ta page tu affiches ton email...
h0t3l@l3blas0n.fr
tu devrais plutot l'ecrire en javascript, exemple:
Code:
<script language="JavaScript"><!--
var name = "hotel";
var domain = "leblason.fr";
document.write('<a href=\"mailto:' + name + '@' + domain + '\" class=\"lien2\">');
document.write(name + '@' + domain + '</a>');
// --></script>
comme ca les robots auront plus de mal à le voir

et pour ton formulaire tu peux aussi rajouter une champ masqué, ex:
Code:
<!-- <input name="c_nom" value="vatecoucher" /> -->

et dans ton script php tu fais:
Code:
if (!$c_nom)
{
mail("$recipient"," $subject", "$msg 
$msg1 
$msg2 
$msg3 
$msg4 
$msg5 
", "$mailheaders"); 
}

cad que le visiteur normal ne verra pas ce champ qui n'est pas activé, donc n'enverra pas cette variable a ta page php, alors que le robot con, va l'envoyer

et sinon ptetre mettre que moins de choix dans ta question, et un truc plus idiot (style: 2+4= ?)
 
WRInaute passionné
Perso j'utilise un champ hidden codé (et basé sur la date), qui laisse une certaine durée de vie au formulaire (5 minutes). A la soumission, je vérifie la conformité de ce champ. C'est trivial mais ça marche :wink:
 
WRInaute occasionnel
c'est pas idiot du tout ca (comme toutes les autres solutions), on pourrait partir du principe qu'un bot remplis le formulaire en moins de 10 secondes (et encore ya de la marge, ca doit plustot etre instantanné) et mettre une variable qui fait que le formulaire doit etre remplis en au moins 30 secondes (sachant qu'un humain met plus que 30 sec. pour remplir un formulaire basique avec adresse email !
 
WRInaute discret
Le formulaire furtif est la meilleur solution.
Mais le champs furtif ne doit pas être caché avec type="hidden", trop facile à voir par un robot. Mais en CSS.

De plus, vous faites changer le nom du champs aléatoirement. Et il n'y as plus qu'à vérifier si il est bien vide :p
 
WRInaute discret
Bonjour,

J'utilise pour ma part un dispositif que j'ai bidouillé à partir du script pris sur le site -http://www.cryptographp.com qu'on peut voir sur ma page -http://www.studio-2000.net/liens.php. J'en suis très satisfait.

@+
 
Discussions similaires
Haut