Question

Je suis intéressé par le fonctionnement d'une restriction de clé d'API basée sur une URL, telle que celle utilisée par Google pour protéger son service Google Maps.

D'après ce que j'ai compris de cet article & Restriction de l'accès à Ajax Services , " deux parties sont impliquées: premièrement, le service crée une clé spécifique pour un domaine donné à l’aide d’une fonction de hachage à sens unique; et deuxièmement, le service valide la clé en fonction de l'en-tête du référent.

Bien que l'article soit assez explicatif, j'ai toujours du mal à comprendre à quel point la méthode de validation est sûre. Je veux dire, si la clé n'est vérifiée que par rapport au référant, n'est-ce pas assez facile à forger? Je pense qu’un simple " 127.0.0.1 www.mydomain.com " dans le fichier hosts suffira à tromper la validation, et pense que le référent est www.mondomaine.com.

J'ai peut-être mal compris certaines choses et quelques précisions seront appréciées.

Était-ce utile?

La solution

Les " Limitations " la section de l'article que vous citez mentionne spécifiquement la possibilité d'usurper le parrain.

Modifier le fichier hôte peut en effet suffire à forger votre référent, mais uniquement lorsque vous accédez au site à partir de votre propre ordinateur . Cela signifie que vous pouvez abuser de la licence uniquement lors de tests locaux. Ce n'est pas un abus très intéressant.

Pour publier votre application, vous devez usurper le parrain sur les navigateurs de tout le monde , à moins que vous n'utilisiez l'API à partir d'un exécutable exécuté localement, auquel cas vous êtes probablement contrôle total de tous les en-têtes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top