2017-10-11 1 views

Antwort

1

Eigentlich, was Sie nicht tun können (im Browser) ist die Antwort 302. Der zweite ist der einzige, den du bekommen würdest. Dieses Verhalten ist absichtlich, wie es in den Fetch API spec erklärte:

Redirects (eine Antwort, dessen Status oder interne Reaktion der (falls vorhanden) Status ist eine Umleitung Status) nicht an APIs ausgesetzt. Durch das Freigeben von Weiterleitungen können Informationen verloren gehen, die bei einem Cross-Site-Scripting-Angriff nicht anderweitig verfügbar sind.

In node.js können Sie jederzeit auf Weiterleitungen verzichten.

+0

Das Beispiel sagt 'Ein Abruf zu https://example.org/auth, der ein Cookie mit der Bezeichnung HttpOnly enthält, könnte zu einer Weiterleitung zu https: //other-origin.invalid/4af955781ea1c84a3b11 führen. Diese neue URL enthält ein Geheimnis. Wenn wir Redirects enthüllen, wäre dieses Geheimnis durch einen Cross-Site-Scripting-Angriff verfügbar. "Ich bin total verloren durch" Wenn wir Redirects entlarven ", was bedeutet das? Diese Umleitung URL ist tatsächlich ausgesetzt, können wir diese Umleitung URL aus der Antwort-Header sehen, können wir nicht ?? – Blake

+0

Aber JavaScript-Code im Browser kann diese Antwort überhaupt nicht sehen. Es wird nur die letzte Antwort in der Kette angezeigt, nachdem alle Weiterleitungen verfolgt wurden. Der Browser wird die 302-Antwort sehen und seinem Standort-Header folgen, ohne JavaScript jemals davon wissen zu lassen. – Touffy

Verwandte Themen