14

如果我设置这样的页面:

<html><head><meta http-equiv="refresh" content="0;url=http://internic.net/"></head><body></body></html>

执行重定向时,浏览器会发送推荐人信息和其他元数据吗?

4

3 回答 3

13

在这里进行测试时,Firefox 和 IE不会,但 Chrome确实会发送引荐来源网址(尽管这也不一致),无论它是否进入同一个域。

鉴于我找不到任何说明应该是标准行为的规范,并且 W3C 通常不鼓励 META 重定向,我不确定您是否可以依赖此一致性。

于 2010-06-06T19:39:43.143 回答
3

我对此做了一些额外的测试。我涉及三个 URI(都在同一个域上):

  • /page.html其中有指向元刷新的链接
  • /refresh.html它使用了对目标的元刷新
  • /destination.html它使用 JavaScript 将引荐来源网址写入页面。

page.html我通过打开并单击链接在几个浏览器中运行了测试,然后观察目标上的引用者是什么。结果如下:

  • Internet Explorer - 无推荐人
  • Firefox - 没有推荐人
  • - 推荐人:http://example.com/refresh.html
  • Safari - 推荐人:http://example.com/refresh.html
  • Opera - 推荐人:http://example.com/refresh.html

没有一个浏览器http://example.com/page.html像使用 301 或 302 重定向那样显示为引荐来源网址。所以元刷新在一定程度上可以用来掩盖引用者:

  • 隐藏包含链接的特定页面
  • 从引用者中删除查询字符串
  • 如果第三方站点托管刷新,隐藏链接的特定站点
  • Remove the external referrer on incoming traffic (useful in situations like this)
于 2014-06-18T11:00:14.087 回答
2

Indeed, it's possible to trick Firefox and Internet Explorer, getting the same redirection result, with preserved referrer, by simply using a form with delayed submit.

Example:

<form action="URL" method="GET" name="redirected"></form>
<script>
   setTimeout(function() {
      document.forms.redirected.submit();
   }, 1000);
</script>
于 2018-10-25T11:59:19.023 回答