4

在以下情况下,HTTP 引荐来源网址是什么:

  1. 用户单击网站上的链接并到达另一个网站,该网站正在热链接来自第三个网站的图像,该图像上的引荐来源是什么。
  2. 用户单击一个链接,该链接转到另一个网站,该网站使用 META Refresh 将他们发送回第一个网站。
  3. 用户点击一个链接到另一个网站,其中包含一个 iframe 到第二个站点上的第二个页面,引荐来源是原始站点还是第二个站点?

我似乎找不到答案,如果我在这里找不到答案,那么我将制作页面并对其进行测试。

4

5 回答 5

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-click(在新选项卡中打开链接)和 Command-Option-click(新窗口)确实会设置该链接的引用者,同时选择“在新选项卡中打开链接上下文菜单中的“选项卡/窗口”(右键单击后)不会.

快乐的测试。;-)

于 2009-10-09T13:14:37.210 回答
2

引用者始终是引用当前资源的文档/资源。所以:

  1. 热链接图像的文档的 URL。
  2. 与 HTTP 重定向不同,META 刷新将调用浏览器发送META 刷新所在文档的 URL。
  3. 就像图像一样,Referer将是包含框架的文档的 URL。
于 2009-10-09T15:30:49.907 回答
1
  1. 推荐人将是第三个网站。

    引用者始终是 HTTP 请求的主机。

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

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

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

    iframe请求的处理方式与新浏览器窗口中的请求一样。

于 2009-10-05T03:57:39.310 回答
1

首先,HTTP Referer 可能是各种隐私感知软件客户端甚至在途中的某些网关/代理上可能变成的任何东西。
然而,让我来分析一下:

1.第二个网站
2.第二个网站
3. 很确定(不确定),但第二个站点似乎仍然是正确的响应。

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

于 2009-10-05T04:02:39.003 回答
0

猜的,但我很有信心:

  1. 第三个网站会将第二个网站视为引荐来源。
  2. 第一个网站将引用者视为第二个网站
  3. 第二个站点。
于 2009-10-05T03:59:05.117 回答