在iframe中加载外部网站,但不发送HTTP_REFERER


Load external website in iframe but without sending HTTP_REFERER

是否可以在iframe中加载外部网站,但不发送HTTP_REFERER?我只是不想被跟踪。

如果可能的话,怎么做?如果不可能,那么有没有使用div或其他方法的变通方法?

对于带有外部链接的锚点标签,jQuery("a").attr('rel','noreferrer');正在工作,但对于iframe,我未能使其工作。

是否有任何脚本(js或jQuery)使其工作?

这里有一个非常简单的解决方案。在你的文档<head>标签中使用这个,你就可以去了:D

<meta name="referrer" content="none">

meta-referrer标签被放置在HTML的CCD_ 3部分中,并引用了五个状态中的一个,这五个状态控制浏览器如何从您的网站发送推荐人信息。

这五种状态是:

  1. 无:从不通过转诊数据

  2. 降级时无:将推荐人信息发送到安全的HTTPS站点,但不发送到不安全的HTTP站点

  3. 仅来源:发送去掉完整URL的方案、主机和端口(基本上是子域)作为引用,即moz.com/example.html只发送moz.com

  4. 跨来源时的来源:当目标具有相同的方案、主机和端口(即子域)时,无论是HTTP还是HTTPS,都发送完整的URL作为引用人,同时向外部网站发送仅来源的引用信息。(注意:官方规范中有一个拼写错误。未来的版本应该是"交叉来源时的来源")

  5. 不安全的URL:总是以引用者的身份传递URL字符串。请注意,如果您的URL中包含任何敏感信息,这不是最安全的选择。默认情况下,URL片段、用户名和密码会自动删除。

参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta

我在MDN上发现了这一点,并指出将referrerpolicy属性设置为no-referrer可以实现这一点。

示例:

<iframe src="https://www.whatismyreferer.com/" referrerpolicy="no-referrer"></iframe>