2008-09-09 9 views

Répondre

7

La façon la plus simple est de Définissez un cookie via javascript et vérifiez-le en postback.Toutefois, si vous cherchez à minimiser les spams, vous devriez faire exécuter une tâche simple par le navigateur qui nécessite l'exécution de javascript.Voir le contrôle "Invisibile Captcha Validator" de Phil Haack, qui depuis été inclus dans sa bibliothèque Subkismet: http://haacked.com/archive/2006/09/26/Lightweight_Invisible_CAPTCHA_Validator_Control.aspx

0

Je vois que vous avez accepté la réponse noscript, mais comment allez-vous utiliser cela pour lutter contre le spam? noscript sera al Vous pouvez ajouter un contenu spécial pour les utilisateurs sans JS, mais à moins que vous ne génériez le reste de votre site dans JS, il sera toujours disponible pour les agents utilisateurs sans JS.

Un captcha de quelque sorte est toujours le meilleur pari. En fin de compte, vous essayez d'obtenir que l'agent utilisateur prouve qu'il est contrôlé par un humain, alors faites de votre mieux pour qu'il prouve ce fait réel, au lieu de quelque chose d'autre. Les lecteurs d'écran pour les malvoyants vont généralement sans JavaScript, et beaucoup de gens qui naviguent sur les appareils mobiles ont désactivé Javascript pour accélérer les choses.

+0

la première partie devrait vraiment être un commentaire sur la réponse acceptée ou la question originale ... –

+2

Considérant tout le shebang est d'environ 7 lignes sur mon écran, je ne pense pas avoir les trois premières lignes comme un commentaire sur quelque chose d'autre dans le poste est problématique, d'autant plus qu'il fournit une raison pour le reste de la réponse. –

1

En .net, vous pouvez utiliser Request.Browser.JavaScript pour détecter si le navigateur prend en charge JavaScript. Cependant, l'utilisateur peut encore avoir Javascript désactivé. Une façon laide de vérifier si Javascript est activé, est d'utiliser window.location pour rediriger vers page.aspx? Jscript = true, puis vérifier Request.Querystring pour cette valeur.

1

Alors, vous voulez forcer les utilisateurs à utiliser JavaScript pour utiliser votre site? Je préfère utiliser un simple Captcha. Si vous n'êtes pas un site grand nom, vous pouvez vous en sortir avec des Captchas relativement simples.

C'est ainsi que nous avons réduit le spam sur notre site.

1

Pour être honnête, vous ne devriez pas avoir besoin d'utiliser un langage côté serveur pour détecter le javascript, et de plus, les spammeurs ne sont pas forcément en train d'exécuter javascript. (désolé pour le double négatif) Votre objectif est bon, mais votre approche est fausse - la mise en œuvre d'un CAPTCHA, comme suggéré par quelques-uns de nos pairs, serait une excellente façon de gérer cela.

Questions connexes