【问题标题】:Does http-equiv="refresh" keep referrer info and metadata?http-equiv="refresh" 是否保留推荐人信息和元数据?
【发布时间】:2011-02-28 11:01:01
【问题描述】:

如果我这样设置页面:

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

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

【问题讨论】:

  • 好问题 - 我的猜测是“不”。这是一个新的、单独的请求。

标签: html refresh redirect browser-refresh


【解决方案1】:

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

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

【讨论】:

  • 您链接到的页面显示“奇怪的是,IE 处理 javascript 和元刷新的方式与 FireFox 或 Safari 略有不同。Internet Explorer 在访问目标站点时会将 REFERER 设为空,而 FireFox并且 Safari 会将 REFERER 设置为带有 javascript 或元刷新代码的 URL。”从那以后有变化吗?
  • @Waterfox - 我在本地和 URL 上进行测试,在每种情况下,chrome 和 Firefox 都没有通过引用标头,我在外部站点上还有一个测试要运行,我会在它之后再次发表评论。
  • @Waterfox - 我在远程域上进行了测试,并且 chrome is 通过了推荐人,这意味着它不像我想的那样一致......所以你不能真正依赖这看起来像这样或那样。我假设 Safari 在这方面表现得像 Chrome,但我没有它可以测试。
  • 推荐的重定向类型是什么?其实我不希望通过referrer。
  • @Waterfox - 您可以通过 POST 等方式定向到您拥有的页面,然后让它重定向到您要去的地方......所有另一端都会看到您的 redirect.whatever 页面,所以没什么用...这是向广告商等隐藏数据的常用方法。preferred 方法是 301/302 Http 状态重定向,但这些不会隐藏引荐来源网址。跨度>
【解决方案2】:

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

  • /page.html 有一个元刷新链接
  • /refresh.html 使用元刷新到目的地
  • /destination.html 使用 JavaScript 将引荐来源网址写入页面。

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

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

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

  • 隐藏包含链接的特定页面
  • 从引荐来源网址中删除查询字符串
  • 如果第三方网站托管刷新,隐藏链接的特定网站
  • 删除传入流量的外部引用(在like this 的情况下很有用)

【讨论】:

    【解决方案3】:

    确实,可以通过简单地使用表单来欺骗 FirefoxInternet Explorer,获得相同的重定向结果,使用 preserved referrer延迟提交。

    示例:

    <form action="URL" method="GET" name="redirected"></form>
    <script>
       setTimeout(function() {
          document.forms.redirected.submit();
       }, 1000);
    </script>
    

    【讨论】:

    • 这是实际答案
    • 值得注意的是,使用这种类型的重定向可能会在 Google Chrome 中导致恼人的警告“您要提交的信息不安全”。不过对于安全托管的网站应该没问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多