HTTP引用者会是什么?

时间:2009-10-05 03:55:23

标签: http-referer

在以下情况下,HTTP引用者会是什么:

  1. 用户点击网站上的链接,然后到达另一个网站,该网站热链接第三个网站的图片,引荐者在图片上会有什么。
  2. 用户点击转到使用META Refresh的其他网站的链接,将其发送回第一个网站。
  3. 用户点击转到其他网站的链接,该网站包含iframe到第二个网站上的第二个网页,引荐者是原始网站还是第二个网站?
  4. 我似乎无法找到答案,如果我无法在这里得到答案,那么我只会制作页面并对其进行测试。

5 个答案:

答案 0 :(得分:5)

我太懒了,无法尝试解释所有给定的场景,但为了帮助测试,可以轻松创建一个PHP脚本来返回一个图像,告诉我们推荐人是什么:

<?php
  header("Content-type: image/png");
  header("Cache-control: no-cache");
  header("Pragma: no-cache");
  header("Expires: -1");

  $s = "Referrer: " . $_SERVER['HTTP_REFERER'];

  $im = @imagecreate(500, 13)
    or die("Cannot Initialize new GD image stream");
  $black = imagecolorallocate($im, 0, 0, 0);
  imagecolortransparent($im, $black);
  $red = imagecolorallocate($im, 255, 0, 0);
  imagestring($im, 3, 0, 0, $s, $red);
  imagepng($im);
  imagedestroy($im);
?>

如果某个网站使用HTTP重定向进行响应,例如302 Moved Temporarily,那么您的浏览器仍会使用重定向的请求发送原始引荐来源:

<?php
  header("Location: http://[..]/referrer-to-img/referrer.php?redirected");
?>

请注意,例如在Mac上的Safari中,按住Command键并单击(以在新选项卡中打开链接)和Command-Option单击(新窗口)执行设置引荐来源该链接,从上下文菜单中选择“在新标签/窗口中打开链接”(右键单击后)

快乐的测试。 ; - )

答案 1 :(得分:2)

Referer 始终是指当前资源的文档/资源。所以:

  1. 图片热链接的文档的网址。
  2. 与HTTP重定向不同, META刷新将调用浏览器发送 META刷新所在文档的URL。
  3. 就像图片一样, Referer 将是包含框架的文档的网址。

答案 2 :(得分:1)

  1. 推荐人将是第三个网站。

      

    引荐来源始终是HTTP请求的主机。

  2. 推荐人将是不同的网站。

      

    即使页面使用元刷新,它仍然是HTTP请求,并且适用先前的规则。

  3. 推荐人将成为第二个网站。

      

    iframe个请求被视为与新浏览器窗口中的请求一样。

答案 3 :(得分:1)

首先,HTTP Referer可能只是关于各种隐私感知软件客户端甚至某些网关/代理可能会转向它的任何内容。
但是,让我对此嗤之以鼻:

1. That of the second web site
2. That of the second web site
3. pretty sure (not certain) but the second site still seems to be the right response.

无论当前页面是什么,当浏览器发送请求时(无论是图像,重定向,还是其他),[通常]都会发送到请求URL底层的服务器。 [再次,如果没有类型的隐私设备改变此和其他HTTP标头值]

答案 4 :(得分:0)

猜猜,但我非常自信:

  1. 第三个网站会将第二个网站视为推荐人。
  2. 第一个网站将referer视为第二个网站
  3. 第二站点。