Erklärung von crossorigin in HTML5

K

Kamui Shirou

Aktives Mitglied
Thread Starter
Dabei seit
11.06.2007
Beiträge
119
Reaktionspunkte
2
Hallo zusammen,

kann mir jemand die Verwendung von crossorigin im link-Attribut erklären? Ich hab schon gegoogelt und gebingt, aber es findet sich nichts und ich blicke bei der Spezifikation des W3C an dieser Stelle nicht durch.

Ich verstehe es so:

crossorigin="use-credentials" => Es wird geprüft, ob fremden Seiten zugelassen sind
crossorigin="anonymous" => Fremdzugriffe sind nicht erlaubt
Attribut nicht gesetzt => No CORS-Status

Was ist bitte der No CORS-Status, sind meine Annahmen sonst richtig und wie spielt das Credential-Flag mit ein?

Könnte bitte jemand etwas Licht ins Dunkel bringen?
 
Moin,

hier mal ein älterer Artikel dazu, der allerdings bereits im google-cache liegt:
Cross-Origin Resource Sharing (CORS) über Apache HTTP

Es sind nicht nur die Attribute allein, sondern auch die jeweiligen "Server Http Header" –
diese benötigen u.a. für CORS einige Angaben, die sie dann ausliefern können / dürfen usw.

Ich verstehe es so, daß wenn man CORS benutzen möchte, beide bzw. alle beteiligten Server
einen eingerichteten bzw. angelegten CORS-Status benötigen.
Soll eine Sub-Resource einer anderen Domain, zu dem (Origin-) Clienten, geladen werden,
dann bedarf es beidseitig im Http-Header die CORS Angaben; wegen der allgemeinen Same-Origin-Policy (SOP).
Sind keine CORS-Abfragen im Http-Header eingericht, dann steht: No CORS-Status
 
Schon mal danke!

Verstehe ich das so richtig:

1. Um die Same-Origin-Policy zu umgehen, muss ich Server Http Header hinzufügen. Wenn ich diese weglasse, können externe Quellen nicht geladen werden.
2. Ist der Server Header gesetzt, entscheide ich mich mit crossorigin="anonymous" dafür, die externe Quelle ohne Cookies etc. zu laden. Mit crossorigin="use-credentials" lade ich externe Quellen mit Cookies etc., wenn die Seite zugelassen ist.
3. Mit No CORS obliegt die Entscheidung, was passiert vollständig den Servereinstellungen.

Muss ich damit anonymous in HTML setzen, um möglichst an der Same Origin Policy festzuhalten? Oder gibt es diesen sicheren Status mit Einführung von crossorigin nicht mehr? Oder ist der No CORS-Status die alte Einstellung? Oder kann ich das Attribut weglassen, da die Entscheidung serverseitig getroffen wird?
 
hast du konkreten bedarf oder willst du das ganz allgemein wissen?
 
Muss ich damit anonymous in HTML setzen, um möglichst an der Same Origin Policy festzuhalten? Oder gibt es diesen sicheren Status mit Einführung von crossorigin nicht mehr? Oder ist der No CORS-Status die alte Einstellung? Oder kann ich das Attribut weglassen, da die Entscheidung serverseitig getroffen wird?

Die Entscheidung wird browserseitig getroffen. Dem Server ist das prinzipiell egal, wer da anfragt.
Wenn Du eine Webapp hast, die nur mit ihrem "eigenen" Server kommunizieren soll, brauchst Du gar nichts machen, denn das ist das Standardverhalten.
 
Du meinst, No CORS ist die Standardeinstellung und die erlaubt nur Kommunikation mit dem eigenen Status?
 
Zurück
Oben Unten