2009-02-16 13 views
3

Le projet sur lequel je travaille est un morceau de code HTML statique avec du JavaScript en ligne qui appellera un service Web REST, que je crée moi-même en utilisant .NET 3.5 WCF .Implémentation de captcha dans un environnement de service Web REST sans état

Le JavaScript va saisir quelques détails de l'utilisateur, y compris une adresse e-mail, puis envoyer ces détails au service web via Ajax. Le service Web stockera ensuite les détails dans une base de données.

Puisqu'il s'agit d'un service Web, je suis presque certain qu'il serait apatride.

Cependant, l'exigence pour le projet est que le JavaScript front-end devrait également faire un captcha, pour éviter le spam.

Le site lui-même ne sera disponible que pour quelques semaines (6 semaines maximum), et je ne pense pas que ce soit suffisamment de temps pour que les éventuels attaquants prennent au sérieux le fait d'arrêter le site. Pour cette raison, j'ai envisagé de faire un captcha entièrement côté client, car le captcha traditionnel nécessite des sessions avec état.

Cependant, je suis curieux de savoir quelles mesures de sécurité seraient normalement mises en œuvre dans un environnement sans état, ou si quelqu'un pense que je me trompe au sujet de la validation captcha côté client étant suffisante.

Répondre

1

Vous n'avez peut-être même pas besoin d'un CAPTCHA. Beaucoup de clients de spam sont trop bêtes pour exécuter des choses comme Javascript. Vous pouvez essayer de définir une entrée cachée à une certaine valeur dans Javascript.

Si votre site n'est disponible que pour quelques semaines, je doute que quelqu'un puisse créer un client pour le contourner. Cela dit, cela viserait les utilisateurs sans Javascript, donc je vous recommande de mettre un message à l'écran que le Javascript supprime. Cela aurait le même champ de saisie mais comme une case à cocher avec une étiquette qui explique qu'ils doivent le vérifier pour ne pas être ignoré.