2012-05-31 6 views
5

Ich habe ein wenig über das Arbeiten mit der Cross-Domain-Politik gelesen, und bin mir jetzt bewusst, zwei Möglichkeiten, die für mich arbeiten, aber ich habe Mühe zu verstehen, wie CORS ist sicherer als überhaupt keine bereichsübergreifende Beschränkung.Wie ist CORS sicherer als keine Cross-Domain-Einschränkungen? Es scheint mir, dass es böswillig verwendet werden kann

Wie ich es verstehe, wurde die domänenübergreifende Beschränkung eingeführt, weil theoretisch ein bösartiges Skript in eine Seite eingefügt werden konnte, die der Benutzer anzeigen konnte, die das Senden von Daten an einen Server verursachen konnte, der nicht zugeordnet ist dieselbe Domain) zu der Site, die der Benutzer speziell geladen hat.

Jetzt mit der CORS-Funktion scheint es, als könnte dies von den böswilligen Kerlen umgangen werden, weil es der bösartige Server selbst ist, der die domänenübergreifende Anfrage autorisieren darf. Wenn also ein bösartiges Skript beschließt, Details an einen böswilligen Server zu senden, der eingestellt hat, kann es jetzt diese Daten empfangen.

Ich bin sicher, ich habe hier etwas missverstanden, kann jemand klären?

Antwort

4

Ich denke @dystroy hat einen Punkt, aber nicht alles, was ich gesucht habe. Diese Antwort hat auch geholfen. https://stackoverflow.com/a/4851237/830431

Ich verstehe jetzt, dass es nichts mit der Verhinderung des Sendens von Daten zu tun hat, und mehr mit dem Verhindern von unerlaubten Handlungen zu tun.

Zum Beispiel: Eine Website, bei der Sie angemeldet sind (z. B. ein soziales Netzwerk oder eine Bank), kann eine vertrauenswürdige Sitzung mit Ihrem Browser geöffnet haben. Wenn Sie dann eine dubiose Seite besuchen, können sie aufgrund der URLs keinen Cross - Site - Scripting - Angriff über die Seiten ausführen, auf denen Sie eingeloggt sind (z. B. Spam - Status - Updates, persönliche Daten oder Überweisungen von Ihrem Konto) Cross-Domain-Beschränkungsrichtlinie Der Cross-Site-Scripting-Angriff könnte nur dann ausgeführt werden, wenn der Browser die Cross-Site-Beschränkung nicht aktiviert hätte oder wenn das soziale Netzwerk oder die Bank CORS implementiert hätte, um Anfragen von nicht vertrauenswürdigen Domänen aufzunehmen.

Wenn eine Website (z. B. eine Bank oder ein soziales Netzwerk) entscheidet, CORS zu implementieren, sollten sie sicher sein, dass keine unautorisierten Aktionen oder nicht autorisierte Daten abgerufen werden, sondern eine Nachrichtenwebsite-Inhalts-API oder Yahoo-Pipes hat nichts zu verlieren, indem Sie CORS aktivieren *

3

Sie können einen präziseren Ursprungsfilter als "*" festlegen.

Wenn Sie sich entscheiden, Ihre spezifische Seite zu öffnen, um sie auf einer anderen Seite anzuzeigen, bedeutet dies, dass Sie mit den Konsequenzen umgehen.

Aber das Hauptproblem kann nicht sein, dass ein Server seltsame Daten empfangen kann: das ist nichts Neues: alles, was von einem Server empfangen wird, ist verdächtig. Der Schutz ist hauptsächlich für den Benutzer, der nicht durch eine abnormale Zusammensetzung von Quellen missbraucht werden kann (zum Beispiel kann der in der Lage sein, die eingebetteten Daten zu lesen). Wenn Sie also alle Ursprünge für eine Seite zulassen, geben Sie keine Daten ein, die Sie nur mit Ihrem Benutzer teilen möchten.

+0

Was ist engobing? – Grezzo

+0

Ich meinte Einarbeitung. Entschuldigung für mein schlechtes Englisch. –

Verwandte Themen