2010-12-22 4 views
2

Ich bin neu in der Entwicklung von Web-JavaScript und spiele mit Apps und Skripten für einige der öffentlichen APIs im Internet. Wenn eine Site Ihnen einen eindeutigen Schlüssel zur Identifizierung Ihrer Anwendung ausgibt, kodieren Sie diesen in Ihr Skript, damit Sie auf die Sites-API zugreifen können. Aber jeder, der Ihre Site besuchen kann, kann auch die Quelle Ihres JavaScipts einsehen, damit Sie Ihre Site sehen/verwenden können API-Schlüssel.Was tun mit eindeutigen API-Schlüsseln in JavaScript?

Zwar gibt es hier kein direktes Sicherheitsproblem für Ihre eigene Website, heißt das nicht, dass jemand anderen meinen API-Schlüssel nehmen und für seine eigene App verwenden könnte, die völlig anders ist? Wie geht man vor, um das zu sichern oder sicher zu speichern?

Was ist die beste Praxis in dieser Hinsicht?

+0

Welche API zum Beispiel? Warum greifen Sie über das clientseitige JavaScript auf ihre API zu? –

+0

@MK: Verschiedene Google APIs (zB Google Maps API) kommen in den Sinn – nico

+0

Es war eine allgemeine Frage, die eine allgemeine Antwort sucht, aber speziell arbeite ich mit der last.fm API und so meine clientseitige Skriptabfragen für einige Statistiken basierend auf meinen letzten Tracks (so konnte ein Webseitenbesucher zum Beispiel die neusten Statistiken über mich sehen). Ein ähnliches Problem könnte sein, wenn ich auf Twitter für meine neuesten 10 Tweets oder etwas - dasselbe Problem zugreifen würde. – screenglow

Antwort

3

Im Allgemeinen sind API-Schlüssel an eine Domäne gebunden. Selbst wenn jemand versucht, Ihren Schlüssel zu verwenden, funktioniert er nicht auf einer Domäne, sondern auf der Website, für die er ausgestellt wurde.

2

Normalerweise werden diese KEYS einer Domäne zugeordnet. Die Domain einer anderen Person kann Ihren Schlüssel nicht verwenden.

3

APIs bieten typischerweise die Domänenauthentifizierung als Alternative zu einem API-Schlüssel, wenn die API vom clientseitigen Code aus aufgerufen werden muss.