Warum IE XDomainRequest Referer Header nicht sendet

8

Wenn ich CORS in IE über XDomainRequest-Objekt mache, wird der Referer-HTTP-Header nicht gesendet. Gibt es dafür eine offizielle Dokumentation? Ich verstehe voll und ganz, dass das Verweisen auf Referer HTTP-Header grundsätzlich eine falsche Idee ist, aber ohne harte Beweise stehe ich hier fest und kann unseren Architekten nicht beweisen, dass er falsch ist.

Beispielspeicherauszug:

IE Anfrage

%Vor%

Chrome-Anfrage

%Vor%     
Marian Bazalik 14.10.2013, 07:00
quelle

3 Antworten

2

Eric Law (ehemaliger IE-Programm-Manager) hat dies in seinem Blogbeitrag beantwortet, da die erwartete Beschränkung von IE8-Zeiten zurückkommt:

  

Wir wollten sicherstellen, dass das XDomainRequest-Objekt es einem Angreifer nicht erlaubte, eine Anfrage zu stellen, die ein HTML-Formular nicht beantworten konnte. Dies ist wichtig, da der Header Access-Control-Allow-Origin nicht verfügbar ist, nachdem die Antwort zurückgegeben wurde. Daher ist es nicht möglich, vor der Ausgabe der Anforderung anzugeben, ob der Server domänenübergreifende HTTP-Anforderungen akzeptiert. Ohne diese Einschränkungen könnte ein CSRF-Angriff "Fire and Forget" gegen einen Legacy-Server stattfinden, selbst wenn der Server den Header Access-Control-Allow-Origin nicht zurückgibt.

Ссылка

    
Marian Bazalik 16.02.2014, 14:08
quelle
1

Domänenübergreifende Anforderungen ("XDRs") sind anonym, um Benutzerdaten zu schützen. Dies bedeutet, dass Server nicht leicht bestimmen können, wer Daten anfordert. Schützen Sie die Privatsphäre der Benutzer mit domänenübergreifenden Daten, die weder sensibel noch persönlich identifizierbar sind. Um Intranet-Daten daran zu hindern, zu bösartigen Internet-Sites zu gelangen, raten wir Intranet-Sites davon ab, XDR-Daten verfügbar zu machen. So verhindert der IE manchmal XDomainRequest-Objekt aufgrund von Sicherheitsfunktionen.

    
user2801382 23.10.2013 10:25
quelle
0

Laut Microsoft-eigener Seite können Sie dieses neue Objekt verwenden, um dieses Problem zu vermeiden:

%Vor%

Nach W3C können Sie dies verwenden

%Vor%

Es gibt auch eine Bibliothek für IE8 und IE9, um dieses Problem zu vermeiden, aber Sie sollten jquery Ajax verwenden Ссылка

    
Martin 23.10.2013 10:32
quelle