2010-01-19 4 views
10

Ich habe die Frage hier in SO "jQuery Linking vs. Download" gelesen und irgendwie verstehe ich es nicht."Gleiche Herkunft Politik" und Skripte von Google geladen - eine anfällige Lösung?

Was passiert, wenn Sie eine Seite unter http://yourserver.com hosten, aber jQuery-Bibliothek von http://ajax.googleapis.com laden und dann die in jQuery-Skript definierten Funktionen verwenden?

Wird in diesem Fall die "selbe Ursprungsrichtlinie" nicht berücksichtigt? Ich meine, können Sie AJAX Anrufe zurück zu http://yourserver.com machen?
Wird das ausgeführte JavaScript als aus yourserver.com kommend betrachtet?

Mein Punkt hier ist, wissen Sie nicht, was der Benutzer von einem Drittanbieter-Server heruntergeladen hat (sorry, Google), und immer noch der Code auf seinem Computer ist so gut wie der, den er von Ihrem Server herunterladen würde?

EDIT: Bedeutet es, dass, wenn ich einen Webstatistikzähler von einer dritten Partei verwende, ich nicht sehr gut weiß, könnten sie etwas Code injizieren und in meine Webdienste aufrufen, als ob ihr Code Teil von war Bergwerk?

+0

(Wenn Sie über http laufen, ist das nicht so Sie wissen, woher der Code stammt.) –

Antwort

6

Der Besitzer der Website http://yourserver.com/ sollte den Inhalt vertrauen, auf den er von anderen Servern (in diesem Fall von Google) verweist. Die gleiche Ursprungsrichtlinie gilt nicht für "Skript" -Tags.

Natürlich haben die Skripte der fremden Server (sobald sie geladen sind) Zugriff auf das gesamte DOM: Wenn also der fremde Inhalt kompromittiert wird, kann es zu Sicherheitslücken kommen.

Wie bei vielen Dingen in der Web-Welt, kommt es auf Vertrauen und kontinuierliche Verwaltung.

bearbeiten:

Ist es _that bedeuten, wenn ich eine Web- Statistikzähler aus einer 3rd-Party verwenden ich nicht sehr gut kennen, könnten sie „injizieren“ einige Code und rufen in meine Webdienste, als ob ihr Code Teil von mir wäre?

Ja.

+0

Vielen Dank für die Antwort. Ich markiere es als akzeptiert, obwohl ich immer noch nicht die Idee von Skripten von Drittanbietern auf meiner Seite mag. Aber, wie Sie sagen, das kommt auf Vertrauen an ... oder kein Vertrauen ;-) – naivists

1

Ja, die Richtlinie gilt nicht für <script> Tags.

Wenn jemand den Skriptspeicher von Google hacken könnte, würde dies jede Seite betreffen, die von jeder Domäne bedient wird, die google.com als Host für Skripts verwendet.

+0

Die selbe Ursprungsrichtlinie ist eine Reihe von Regeln für JavaScript. – rook

+0

Ich verstehe was es ist. Mein Punkt ist, dass es nicht für Skripte gilt, die von