HTTP Referrer和IE7和IE8

时间:2010-03-17 07:27:50

标签: internet-explorer-8 internet-explorer-7 referer

您好我已尝试以下方法在MSIE / IE7和IE8中找到推荐人,但每次都返回空白;

PHP:

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

JAVASCRIPT:

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

有没有人知道问题可能是我在另一个域的页面上使用document.location进行评论,并且可以与所有其他浏览器一起使用,而不是MSIE。

任何帮助都会很棒!

3 个答案:

答案 0 :(得分:5)

HTTP协议不要求HTTP Referer header

  • 仅作为信息
  • 发送
  • 浏览器可以或不可以发送(这可以解释为什么你用某些浏览器获取它,而不是用其他浏览器获取它)
  • 有些防火墙/安全软件可能会删除它,我想,在某些情况下(我已经看到,几年前,如果我没记错的话)
  • 用户可以轻松伪造

这意味着您不能依赖Referer 作为您的应用程序:您可以使用它来提供一些额外的功能,但是您的应用程序必须正常工作,即使它不在那里,或者不正确的。

答案 1 :(得分:1)

HTTP_REFERRER在IE浏览器中不起作用,它适用于所有浏览器,如mozilla,safari,opera等...在IE中,Referrer方法无法识别,当我们将其应用于IE时,它将返回null。实际上使用HTTP_REFERRER本身并不是一个正确的标准,因为我们不能指望它会起作用,因为它不是标准的HTTP HEADER。

答案 2 :(得分:-2)

这是你可能会尝试的黑客攻击:

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