2011-08-29 2 views
4

J'ai un webservice implémenté dans grails pour gérer les POST d'un client GWT. Si l'utilisateur se connecte, il peut également accéder au service Web sans GWT juste au-dessus du navigateur.Empêcher le spam sur le service Web JSON RESTful

Ma question est maintenant comment puis-je le sécuriser d'une manière qu'il n'est pas possible de spammer mon service web avec, par exemple, 1000 nouvelles entrées juste en stress mon webservice avec des messages spécifiques (peut-être sur une boucle) une fois connecté?

Il en va de même pour les clients Android ou si j'accorde d'autres développeurs à mon service web et qu'ils pourraient POST des milliers de données dans mon webservice.

Existe-t-il déjà un mécanisme que je peux utiliser?

Merci pour votre aide

Répondre

1

Les utilisateurs de ce api REST doivent être liés à une clé API. Un cryptographic nonce est généralement l'outil de choix. Afin d'obtenir cette clé, l'utilisateur doit être obligé de résoudre un captcha. Chaque clé API doit être limitée à un nombre spécifique de demandes. Si l'utilisateur envoie de nombreuses requêtes, vous devez les indiquer avec un captcha (ce qui peut être une réponse d'erreur à une requête REST). Pour appliquer cette règle, vous devez conserver l'état côté serveur sur chaque client, et là, ce ne serait pas RESTful. En bref, ce que vous demandez n'est pas simplement possible avec REST.

Questions connexes