2012-04-10 7 views
0

Für was ich verstehe, sind domainübergreifende AJAX-Anrufe not possible for security reasons.Cross-Domäne AJAX

Ich habe verstanden, dass es möglich ist, es mit JSON-P obwohl zu tun.

Meine Frage: Warum sind Cross-Domain-AJAX-Aufrufe verboten, aber tatsächlich auf eine weniger praktische Weise möglich? Es wäre einfacher, es einfach zu autorisieren.

Wie werden Sie für diese Art von einfachen Szenarien tun soll:

  • einen Ort Geocodierung durch den Aufruf von Google Maps webservice
  • holen Flickr Bilder durch seine webservice
  • Ajax zu einer anderen Domäne, aber es ist die gleiche Anwendung (Serverfarmen zum Beispiel?)
  • ... (das sind nur Beispiele)

Wenn ich diese Aufrufe mit einem serverseitigen Skript umbrechen/übernehmen muss, ist das langweilig und die Zeit ist verloren ... Sie können am Ende keine vollständige Javascript-Anwendung erstellen? (Wenn Sie externe Web Service verwenden möchten meine ich)

Antwort

4

warum sind Cross-Domain-AJAX-Aufrufe verboten

Sie angemeldet sind, Ihre Bank, nicht wahr? OK, ich werde einfach eine Ajax-Anfrage an Ihre Bank stellen und Ihre Kontonummer, Bankleitzahl usw. lesen.

Wie werden Sie für diese Art von einfachen Szenarien

  • Server-Seite Proxy
  • JSON-P
  • CORS

tun soll Wenn ich um diese Aufrufe mit einem serverseitigen Skript zu umhüllen/Proxy zu machen, das ist einfach langweilig nd time lost

Viele Dinge wären einfacher, wenn wir uns nicht um die Sicherheit kümmern müssten. Wir würden Schlösser an Türen, Passwörter auf Konten usw. nicht brauchen.

+0

Sehr große Antwort danke, ich habe nicht an die Sitzungen gedacht. In der Tat ist das ernst;). Allerdings verstehe ich nicht, warum sich JSON-P von einem direkten AJAX-Anruf (in Bezug auf Sicherheit) unterscheidet? Der Anruf wird immer noch vom Client (Browserseite) getätigt? –

+0

JSON-P muss von der Website, die den Dienst hostet, bewusst offen gelegt werden. – Quentin

+0

Ah ok, also ist es absichtlich nicht die Sitzung oder so etwas, dann denke ich. Vielen Dank –