2010-12-15 112 views
0

Je me demande s'il existe une bonne solution pour empêcher les soumissions automatiques de formulaires/POST. Serait-il possible d'ajouter un champ de formulaire avec un côté serveur généré par jeton qui serait unique pour chaque formulaire affiché sur le site, mais avec un moyen de vérifier si ce jeton a bien été généré par mon application et non par l'utilisateur , sans avoir à sauvegarder tous les jetons dans une base de données?Authentification par formulaire HTML pour prévenir les attaques de courrier indésirable/POST

IMO si l'application peut savoir que les données proviennent d'un formulaire généré par l'application (c'est-à-dire qu'elle utilisait une logique uniquement connue de l'application), qu'elle ne traiterait le formulaire.

Une suggestion pour un tel algorithme?

EDIT: En d'autres termes, je peux générer une chaîne:

1) quand je reçois en arrière, je peux reconnaître en tant que chaîne que je généré,

2) savent qu'il a été utilisé une seule fois,

3) prendrait trop de tentatives utilisateur pour générer cette chaîne sur le côté client,

4) cette chaîne ne doit pas être persisté par l'application

Répondre

0

Vous serez probablement intéressé par Hashcash. J'ai essayé de tricher sur un blog en votant plusieurs commentaires, mais j'ai abandonné quand j'ai vu que cette méthode est un peu compliquée pour les humains pour générer ces valeurs.

+0

s3v3n, merci pour un conseil. La seule chose qui ne fonctionnerait pas est qu'une fois que le client a trouvé le hachage correct, il peut le réutiliser plus d'une fois (semble-t-il) pendant la période de 48 heures. –

+0

Comme je me souviens dans ce script, une fois un hachage a été utilisé, il a été régénéré. Donc, il n'y a vraiment aucun problème de sécurité avec cela. Le nom de ce plugin est en fait TopComments et est un plugin Wordpress. Consultez ce lien pour la source http://svn.wp-plugins.org/top-comments/trunk/top-comments.php – s3v3n