Wie kann ich einschränken, JSON Zugriff?

Ich habe eine web-Anwendung, die zieht die Daten aus meinem neu erstellten JSON-API.

Meine statische HTML-Seiten dynamisch ruft die JSON-API über JavaScript aus der statischen HTML-Seite.

Wie beschränke ich den Zugriff auf meine JSON-API, so dass nur ich (meine Webseite) aufrufen können, es?

Falls es hilft, meine API ist so etwas wie: http://example.com/json/?var1=x&var2=y&var3=z... das generiert die entsprechenden JSON basiert auf der Abfrage.

Ich bin mit PHP zu generieren mein JSON-Ergebnis ... kann beschränken den Zugriff auf die JSON-API so einfach wie die überprüfung der $_SERVER['HTTP_REFERER'] um sicherzustellen, dass die API wird nur aufgerufen wird, von meiner domain und nicht einen remote-Benutzer?

  • Nur zur Klarstellung, Sie werden versuchen, es so nur Ihre server, können die API verwenden, oder nur Menschen, die die Anzeige von Webseiten auf Ihrem server?
  • Meine JSON-api ist unter: example.com/json?... und ich will nur meine Webseite example.com abrufen können Ergebnisse von meinem JSON-api.
  • Nur aus Neugier, warum willst du dies tun? Es ist irgendwie gegen den Strich geht, das web wäre also gut zu wissen, die Gründe, die hinter der Anforderung.
  • Anstatt einer PHP/Ruby/JSP/etc-Seite generieren, die die Ergebnisse auf meiner web-site .... die ist langsam. Ich habe einfach erstellt eine API erlaubt es mir die Abfrage der Datenbank für meine benötigten Informationen. So, jetzt, was ich Tue, ist einfach eine HTML-Seite lädt super schnell ... und dann haben die Inhalte dymanically in die Seite eingefügt, über die JSON-api. Was ich nicht zulassen möchte, dass jetzt jemand im wesentlichen dump alle Daten aus meiner Datenbank b/c habe ich jetzt erstellt diese API
  • solange Sie nicht ausgesetzt sind, Daten über Ihre API, die könnte eingestuft werden als sensible oder vertrauliche, dann würde ich mich nicht zu kümmern. Wenn Sie sind, jedoch, dann müssen Sie schauen auf SSL und validieren der client irgendwie, bevor Sie den API-Zugriff mit Benutzername/Passwort oder client-Zertifikaten.
  • So, statt der browser einen request an einen server und die Seite gebaut, auf einem high-end-server, den Sie gehen, um mehrere server-Anfragen, und verwenden Sie interpretiert javascript Kopfsteinpflaster der Seite zusammen mit dem mickrig-client. Ich hoffe, dass stellt sich heraus, um schneller für Sie. P. S. Dies ist nur teilweise tongue-in-cheek
  • Es hängt wirklich von der Skalierung und Funktionalität. Auf Skalen haben einige von uns beschäftigen sich mit der statischen HTML-serviert von einem CDN, das ist JSON-Cache als angemessen, wenn veraltete, serviert von Staatenlosen, non-sticky-Cluster, und so weiter. Bei diesen Skalen die Leistung von einem mickrigen netbook oder smartphone pro-client Zwerge von 0,1-0,01% der server core verfügbar für jede parallele Sitzung.

InformationsquelleAutor | 2009-05-13
Schreibe einen Kommentar