web-dev-qa-db-fra.com

Y a-t-il une raison d'inclure l'IP distant lors de l'utilisation de reCaptcha?

J'implémente reCaptcha de Google dans mon application. Selon la documentation , ma demande d'API doit inclure ma clé secrète et la réponse, et éventuellement l'adresse IP distante de l'utilisateur.

Pour quelles raisons devrais-je inclure l'IP à distance?

20
Mooseman

Parce qu'il pourrait y avoir une redirection DNS/hôtes en place pour permettre au captcha d'être analysé différemment par un utilisateur malveillant

Un scénario possible consiste à exploiter une main-d'œuvre bon marché pour résoudre manuellement les captchas, puis les renvoyer avec le formulaire. Étant donné que le recaptcha ne servira l'image qu'une fois que c'est la façon paresseuse de l'exploiter. (rediriger l'image demandée ailleurs).

Si l'adresse IP qui demande l'image est différente de l'adresse IP qui demande la page, cela indiquerait ce style d'attaque.

12
Damian Nikodem

Dans certains cas, Google a refusé les demandes sans l'IP à distance. Plus tard, ils prendraient n'importe quelle chaîne y compris une chaîne vide. Maintenant, cela semble facultatif. J'imagine qu'ils demandent que l'i.p aide à la sécurité à la fois pour vos besoins et pour empêcher les abus de l'API. Les documents actuels le marquent comme facultatif, alors n'hésitez pas à l'omettre si vous le souhaitez.

https://developers.google.com/recaptcha/docs/verify

Voici un article de Google Groupes de 2010, où la prise en charge de Recaptcha implique que le remoteip peut un jour devenir obligatoire:

https://groups.google.com/forum/#!topic/recaptcha/Q83LJKz4biA

Il ne semble pas que cela se soit produit. mais il semble qu'ils envisageaient de le rendre obligatoire à un moment donné et ne l'ont pas suivi. C'est de la pure spéculation de ma part.

3
baordog

Il y a une autre raison - beaucoup de réseaux internes utilisent aussi recaptcha - comme sur les hotspots WiFi, et des choses comme ça.

Dans ces circonstances, Google considère à la fois l'adresse IP de l'utilisateur et celle du serveur, car ils partagent la même connexion. Donner à Google l'adresse IP locale de l'utilisateur permet à la machine d'évaluation des risques de faire un meilleur travail de suivi des individus qui renforcent la sélection d'images, ce qui autrement mettrait sur liste noire TOUS les utilisateurs.

<tinfoil> Google veut également vos données mais ne peut pas toujours justifier pourquoi </ tinfoil>

3
J.J

Quand je compare mes "scores" avec différents scénarios, je vois ceci:

  1. sans remoteip: scores variables entre 0,7 et 0,9
  2. Avec une "bonne" télécommande: presque toujours 0,9.
  3. avec "mauvais" remoteip: presque toujours 0,7.

Je ne sais pas si ce test donnera toujours les mêmes résultats, mais ce sont les résultats que j'ai obtenus aujourd'hui en le testant plusieurs fois.

Donc, fournir l'ip aide à obtenir un meilleur score, c'est une double vérification côté client et côté serveur qui peut aider à détecter une mauvaise activité.

2
foxontherock