2010-03-17 11 views
7

Hallo, ich habe versucht, den Referrer in MSIE/IE7 und IE8 zu finden, aber jedes Mal leer zurück;HTTP-Referrer und IE7 und IE8

PHP:

<? 
echo $_SERVER['HTTP_REFERER']; 
?> 

javascript:

document.write('Thanks for visiting from ' + document.referrer); 

Hat jemand wissen, was das Problem sein könnte ich referering von einer Seite auf eine andere Domain mit document.location und Arbeit gut mit allen anderen Browsern minus MSIE.

Jede Hilfe wäre großartig!

Antwort

5

Die HTTP Referer header wird nicht durch das HTTP-Protokoll erforderlich:

  • Es wird nur als Informationen gesendet
  • Der Browser kann oder nicht, es senden (Welche würde erklären, warum du bist es mit einigen Browsern bekommen, und nicht mit einigen anderen)
  • Einige Firewall/Sicherheitssoftware könnte es entfernen, nehme ich an, in einigen Situationen (Ich habe das vor einigen Jahren gesehen, wenn ich mich erinnere, richtig ly)
  • Es kann vom Benutzer

die leicht gefälscht werden bedeutet, dass Sie nicht auf dem Referer für Ihre Anwendung verlassen können: Sie können es einige zusaetzliche functionnality bieten können, aber Ihre Anwendung muss arbeiten auch wenn es nicht da ist oder nicht korrekt.

+1

Kennt jemand besonderen Umstände, warum IE8 oder IE7 würde sich weigern, einen Referrer zu senden, die es bezeichnet wurde? Betrachten Sie einen Standardbrowser, keine Firewall. – cocacola09

+0

@ cocacola09 Diese Seite behauptet, dies sei ein Fehler http://webbugtrack.blogspot.de/2008/11/bug-421-ie-fails-to-pass-http-referer.html – DanFromGermany

1

HTTP_REFERRER funktioniert nicht im IE-Browser funktioniert gut für alle Browser wie Mozilla, Safari, Oper etc ... Referrer-Methode erkennt nicht in IE wird Null zurückgeben, wenn wir es für IE anwenden. Die Verwendung von HTTP_REFERRER selbst ist kein richtiges Kriterium, da wir nicht erwarten können, dass es funktioniert oder nicht, da es kein Standard-HTTP-HEADER ist.

+0

'HTTP_REFERER', nicht' HTTP_REFERRER '. – DCShannon

-2

Hier ist ein Hack Sie könnten versuchen:

var referLink = document.createElement('<a href="' + theUrl + '" target="' + theWindow + '"></a>'); 
    document.body.appendChild(referLink); 
    referLink.click();