2016-04-07 3 views
0

Ich habe eine grundlegende Seite, die intern in eine Website eines Drittanbieters eingebunden ist. Wenn auf diese Webseite eines Drittanbieters geklickt wird, wird meine Webseite in einem anderen Tab gestartet.Request.ServerVariables ["HTTP_REFERER"]. ToString() funktioniert nicht in IE11

Beim Start erfasst ich die URL der vorherigen Seite, sodass ich eine bestimmte ID in der vorherigen URL abrufen kann. Dies hat bei IE8 bis IE10 gut funktioniert.
Aber IE 11 wird nicht die vollständige URL überhaupt zurückgeben. Gibt es eine schnelle Lösung, von der irgendjemand weiß?

ich alle haben versucht, die unten aus jeder Freude mit,

Request.ServerVariables["HTTP_REFERER"].ToString() 
ViewState["PreviousPageURL"] = Request.UrlReferrer; 
Request.UrlReferrer.AbsoluteUri; 
string urlName = Request.UrlReferrer.ToString(); 
System.IO.Path.GetFileName(Request.UrlReferrer.AbsolutePath); 

jede Hilfe im Voraus zu schätzen wissen. Vielen Dank,

Antwort

1

Vertrauen Sie dem Client nicht - Sie sollten nicht auf die Referer Header gesendet werden oder richtig sein. Die Google-Suche verwendet einen JavaScript-Trick, um zu verhindern, dass der Header Referer von Suchergebnisseiten gesendet wird - Webmaster können die ursprüngliche Google-Suchseitenadresse nicht mehr erhalten (um die Suchbegriffe aus der Querystring zu extrahieren) - angeblich Dies dient dem Schutz der Privatsphäre der Benutzer.

Andere Gründe sind:

  • Sie einen benutzerdefinierten Datenschutzeinstellungen des Benutzers der Header-
  • von Drittanbietern Sicherheitssoftware (wie Norton Internet Security) zu deaktivieren, dass der Header
  • Netzwerksicherheitshardware deaktiviert, wie HTTP-Proxies oder Firewalls von Unternehmen, die den Header Block
  • eine Browser-Erweiterung

IE11 ändert sich meines Wissens nicht Referer -handling Verhalten.

In den Codebeispielen, die Sie gaben, verwenden die letzten 4 Beispiele alle Request.Urlreferrer, also werden sie alle das gleiche Ergebnis zurückgeben.

+0

danke für das feedback aber gibt es eine fixe oder hilfreiche code ich kann verwenden, um zu erreichen, was ich brauche, googeln herum ich finde die gleiche antwort aber keine lösung oder zu beheben. – user2501938