Ich verwende "Request.UrlReferrer.AbsoluteUri"
in meinem Projekt, um die URL zu erhalten, wo meine Anwendung gehostet wird. Ich bin in der Lage, die URL zu bekommen, wenn ich von "http" Host umgeleitet werde, aber ich bekomme null, wenn ich von "https" Host umgeleitet werde. Wie kann ich "UrlReferrer AbsoluteUri"
von beiden "http und https" bekommen?Request.UrlReferrer ist NULL für HTTPS
6
A
Antwort
6
Überprüfen Sie die tatsächlichen http-Daten mit einem https-aware Inspector wie Fiddler. Viele Browser einfach nicht den Referrer bei der Kommunikation über https senden, in diesem Fall gibt es einfach keine Möglichkeit, es zu bekommen.
Wenn Sie besitzen die Ursprungssite, könnten Sie etwas in die Abfragezeichenfolge als Ersatz hinzufügen, aber das ist es.
Nicht überraschend, da HTTPS sicher sein soll ... – Aron
@Aron gut, das hängt davon ab, was es bedeutet, sicher zu sein * von *, und am häufigsten bedeutet dies: Verhinderung der Inspektion durch andere als das Ziel, und haben Vertrauen, dass der Server ist, wer es sagt. Der http-Referrer hat keinen Einfluss darauf. Die Privatsphäre von *, woher sie kam *, ist nicht wirklich mit https verbunden und ähnelt mehr dem "Inkognito-Modus", "privatem Surfen" oder was auch immer ein bestimmter Browser diese Funktion anruft. Aber: wenn sie es bei der Verwendung von https einschließen wollen: gut –
Ah gut gut. Ja. Sicherheit ist ein Wort, das nur im Kontext dessen Sinn macht, vor dem Sie sich schützen. Aber wie auch immer das Problem ist ... außerhalb der Tech-Welt (und sogar innerhalb eines RIESIGEN Anteils der Tech-Welt) benutzen die Leute das Wort sicher als einen magischen booleschen Zustand. Daher denke ich, dass Browser bei der Verwendung von HTTPS eher auf der sicheren Seite sind. – Aron