前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Referrer-Policy策略应用

Referrer-Policy策略应用

作者头像
OECOM
发布2020-07-01 16:55:17
1.2K0
发布2020-07-01 16:55:17
举报
文章被收录于专栏:OECOM

2020-04-22 16:46:34

Referrer-Policy通俗点就是Referrer的策略,指的是当前页面的referer应该如何设置的问题。

Referer

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。我们众所周知的图片防盗链采用的方式就是判断referer,允许某个域名的来源可以访问图片,服务器接口也可以通过referer来判断是否允许请求者请求该页面或接口,做到保护限制的作用。

一般情况下我们都会允许referer为空时访问,所以这也为避开防盗链开了一个后门。这时候Referrer-Policy就应用上了,一般使用方式就是在html里面加一个meta标签来告诉浏览器我们的referer策略

代码语言:javascript
复制
<meta name="referrer" content="origin">

referer策略值

referer策略一般有以下几种值

  • no-referrer
  • no-referrer-when-downgrade
  • origin
  • origin-when-cross-origin
  • same-origin
  • strict-origin
  • strict-origin-when-cross-origin
  • unsafe-url

no-referrer

整个 Referer 首部会被移除。访问来源信息不随着请求一起发送。这种情况一般用在当前页面对referer没有任何的需求时,可以采用这种野蛮的方式来屏蔽掉所有的referer。

no-referrer-when-downgrade(未设置时的默认值)

在没有指定任何策略的情况下用户代理的默认行为。在同等安全级别的情况下,引用页面的地址会被发送(HTTPS->HTTPS),但是在降级的情况下不会被发送 (HTTPS->HTTP)。

origin

在任何情况下,仅发送文件的源作为引用地址。例如 https://www.oecom.cn/page.html 会将 https://www.oecom.cn/ 作为引用地址,正常情况下会将当前页面的url发送过去。

origin-when-cross-origin

对于同源的请求,会发送完整的URL作为引用地址,但是对于非同源请求仅发送当前url的源。这种情况应用在同源对于referer的来源有业务需求,对于非同源的请求不想暴露过多的请求来源。

same-origin

对于同源的请求,会发送完整的URL作为引用地址,但是对于非同源请求则不发送引用地址,即referer为空。这样我们可以采用这种方式来规避允许referer为空的防盗链设置

strict-origin

在同等安全级别的情况下,发送页面的源作为引用地址(HTTPS->HTTPS),但是在降级的情况下不会发送 (HTTPS->HTTP)。这种和默认的策略区别就在于此种方案只发送源,而不发送全URL

strict-origin-when-cross-origin

对于同源的请求,会发送完整的URL作为引用地址;在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS);在降级的情况下不发送此首部 (HTTPS->HTTP)。

unsafe-url

无论是同源请求还是非同源请求,都发送完整的 URL(移除参数信息之后)作为引用地址。一般用于本身业务自有多个域名,但依然想统计referer信息。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Referer
  • referer策略值
    • no-referrer
      • no-referrer-when-downgrade(未设置时的默认值)
        • origin
          • origin-when-cross-origin
            • same-origin
              • strict-origin
                • strict-origin-when-cross-origin
                  • unsafe-url
                  相关产品与服务
                  云服务器
                  云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档