2011-09-09 2 views
1

Bonjour, j'essaie et échoue lamentablement à mettre en place un captcha, surtout parce que je n'ai pas d'expérience asp, quelqu'un pourrait-il m'aider?Honeypot Captcha classique code asp?

Plusieurs pages html ont un formulaire de contact en pied de page, ceci a forme de validation en place et déclenche une page asp qui envoie un courriel & redirige vers thanku.asp. Je voulais ajouter le captcha honeypot, donc ajouté un autre champ [corps] et l'ai caché en utilisant css. J'ai ensuite ajouté le code ci-dessous pour vérifier son null. Lorsque je clique sur Soumettre, le formulaire est traité même lorsque le champ caché contient du contenu. Quelqu'un peut-il repérer où je me trompe?

<div id="captchafield"> 
<input type="text" name="body" value="" /> 
</div> 

<script language=javascript> 

if(!String.IsNullOrEmpty(Request.Form["body"])) 
    IgnoreComment(); 

    </script> 
+3

Vous semblez confondre ASP, ASP.Net, Javascript et C#. – SLaks

Répondre

4

Vous vous trompez en cochant la case avec JavaScript uniquement; vous devriez vérifier qu'il est vide côté serveur et sinon, ignorer/rejeter la soumission. Par exemple.

HTML

<div id="captchafield"> 
    <noscript>Security field; please leave this blank</noscript> 
    <input type="text" name="captcha" value="" /> 
</div> 

ASP

Dim captcha 

captcha = Request.Form("captcha") 

If captcha <> "" Then 
    Response.Redirect("badcontent.asp") 
End If 

' continue 

Qu'est-ce que vous pouvez utiliser JavaScript pour est de cacher le champ captcha et/ou afficher un message qui permet aux utilisateurs de savoir ne pas le remplir si leur JavaScript est désactivé (voir <noscript> dans l'exemple de code ci-dessus). Les robots/scripts ignorent l'avertissement et remplissent le champ et déclenchent votre piège.