OVH Community, votre nouvel espace communautaire.

form mail en perl avec champs vide anti spam


Escobar.fr
13/04/2011, 05h19
Bonjour Michel1
merci pour cette bonne solution.
Je voudrais juste savoir, en m'excusant 1.000 fois de ne pas le savoir, comment et où peut-on télécharger NMS Formail
Messi ;-)

michel1
02/04/2011, 17h46
voici la solution antispam de formmail

Pour éviter le spam dans formmail on peut ajouter un champs caché par css (pas vu par le visiteur humain mais vu par les robots) ainsi qu'un peu de code dans le formmail ca marche très bien car le robot ne manquera pas de remplir ce champ qui va le tromper et le spam ne sera pas envoyé suite a vérification de formmail pour savoir si ce champ est rempli.

le champs caché

dans le formulaire html on ajoute cette ligne de code:


Dans le fichier css on ajoute cela
.Surname { visibility: hidden; }

Dans le formmail.pl (dont vous avez changé le nom) vous rajoutez ces lignes de code

-dans la section

# USER CUSTOMISATION SECTION
# --------------------------
# Place any custom code here

ajouter ce code :

use CGI;
sub spam {
my $q = new CGI;
my $spamcheck = $q->param('Surname') || '';
if ($spamcheck ne '') {
print "Location: http://www.vatefairevoirespammeur.com\n\n";
exit;
}
}
spam();



-Trouver ensuite la section ci dessous

use CGI;
use POSIX qw(locale_h strftime);
use CGI::NMS::Charset;

-Rajouter # devant use CGI ce qui donne ceci

#use CGI;
use POSIX qw(locale_h strftime);
use CGI::NMS::Charset;


Voila la solution antispam sans captcha pour ceux qui utilisent NMS formmail.

Bien sur à la place de http: // www. vatefairevoirspammeur .com on peut mettre l'Url que l'on veux.

michel1
20/10/2007, 21h25
Ci dessous un antispam sans captcha pour formmail
Cette solution utilise un champs de formulaire caché au visiteur mais pas au robots spammeurs
quand ceux ci vont remplir le champs de formulaire qui doit rester vide et envoyer le formulaire au formmail, le formmail va bloquer l'envoi du mail et rediriger vers l'url que vous voulez.
voir le post formmail avec antispam