首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Referrer-Policy策略应用

Referrer-Policy策略应用

作者头像
OECOM
发布于 2020-07-01 08:55:17
发布于 2020-07-01 08:55:17
1.3K00
代码可运行
举报
文章被收录于专栏:OECOMOECOM
运行总次数:0
代码可运行

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
代码运行次数:0
运行
AI代码解释
复制
<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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
个人博客是否应该禁止浏览器跳转时携带Referrer?一份全面指南
当你点击博客中的外链时,浏览器默认会将当前页面的URL作为**Referrer(引用来源)**传递给目标网站。这一机制虽然有助于统计流量来源,但也可能泄露读者隐私。本文将从技术原理、隐私风险、配置方法等角度,探讨个人博客是否需要开启「禁止传递Referrer」功能。
李洋博客
2025/07/11
3960
个人博客是否应该禁止浏览器跳转时携带Referrer?一份全面指南
【网络安全】前端程序员务必掌握的图片防盗链
在 http 协议请求中 header 里会带个 Referer 字段。通过图片服务器检查 Referer 是否来自规定的域名(白名单),而进行防盗链。 在浏览器中输入防盗链图片地址是能直接访问的。
andyhu
2022/12/14
9250
Referrer Policy那些事
今天还是像往常一样看自己的博客。突然发现我的网站统计显示某文章访问次数有1W+,心里不由得惊喜一番。结果发现每篇文章都是1W+。访问次数统计用的是不蒜子提供的免费服务(https://busuanzi.ibruce.info/)。难道出问题了?不由得打开f12看了下,发现请求的referrer为https://huai.pub/而不是某文章的具体页面。
yumusb
2020/10/26
2.8K0
浅析HTTP请求中的referrer和Referrer-Policy
本文将介绍一个涉及安全和隐私的http请求头中的字段—referrer,以及如何通过Referrer Policy去修改referrer的值或者是显示与否。
码农编程进阶笔记
2021/12/27
2.9K0
浅析HTTP请求中的referrer和Referrer-Policy
http 策略之 Referrer-Policy
说道referer ,大家想必知道的清楚一些。referer是用来防止 CORS(跨站请求伪造)的一种最常见及有效的方式。对于自身服务器,通过客户端发来的请求中带有的referer信息,可以判断该请求是否来源于本网站。这样就可以一定程度上避免其他网站盗取自身服务器信息,或者可以通过referer来实现广告流量引流,说白了,referer是一种客户端带到服务器的客户端信息,而Referrer-Policy则是客户端对这个带信息策略的配置。
码农编程进阶笔记
2021/12/29
1.7K0
Chrome 新的默认 Referrer-Policy : strict-origin-when-cross-origin
如果你的站点有使用 Referer 标头收集网页的访问来源信息,则此策略变化可能对你的程序造成影响,请仔细阅读。
ConardLi
2020/11/19
105.6K0
Chrome 新的默认 Referrer-Policy : strict-origin-when-cross-origin
HTTP Referer 教程
互联网也是一样,你不会无缘无故访问一个网页,总是有人告诉你,可以去那里看看。服务器也想知道,你的"引荐人"是谁?
ruanyf
2020/01/22
2.8K0
HTTP系列之Referer和Referrer policy简介
referrer policy是unsafe url的,ok,下面介绍一下Referer和referrer policy
SmileNicky
2019/11/04
3.9K0
一个拼写错误让整个互联网一起犯错
在 Web 开发的世界里,有这样一个字段——它每天默默地工作着,记录着用户的来源,保护着网站的安全,却因为一个历史性的拼写错误而成为了程序员们茶余饭后的谈资。它就是 HTTP 头部中的 Referer 字段。
wayn
2025/06/19
1560
一个拼写错误让整个互联网一起犯错
学习 HTTP Referer
HTTP 中 Referer 字段在工作中或许并不会吸引你的注意,隐藏在 Network 的请求之下,但是却有着非常重要的作用。平常你一定会遇到一些问题需要去排查,假如这个问题在你排查完全部代码后,依然没有解决,这个时候你会怎么办?此时我们就需要将排查问题的角度转换一下,切换到 HTTP 协议上。
每周聚焦
2022/08/10
1.9K0
利用 leancloud 记录 referrer 访问来源
最近 leancloud 后台记录了部分页面访问是从 pages 目录来访的,这个目录是之前还没使用二级域名 blog 前使用的,后面加了 blog 之后就不再用 pages 目录来访问页面了,现在想要了解访问 pages 目录的源头都在哪里(一般在谷歌)一般来说,通过前端统计信息比较有限,我们想要拿到一部分访问者的信息需要一些特定的 api ,比如访问 ip 地段,用户基本访问源等等,这里主要聊下如何将获取到的信息储存到 leancloud 数组内。
2Broear
2024/03/12
2730
利用 leancloud 记录 referrer 访问来源
【html】referrer值的设置小记
当html页面中引入跨域的资源时(image,js,css等),可在html的header中加上
一朵灼灼华
2022/08/05
6.3K0
<meta name=“referrer“ content=“never“>简介
注意:此方法会破坏浏览器原有的 referer 策略,所有从包含了上面标签的页面中发起的请求将不会携带referer。慎用!
无刺鱼
2022/03/29
1.8K0
WEB安全防护相关响应头(下)
前篇“WEB安全防护相关响应头(上)”中,我们分享了 X-Frame-Options、X-Content-Type-Options、HTTP Strict Transport Security (HSTS) 等安全响应头的内容。下文中,我们则侧重介绍一些和跨站安全相关的响应头——
天存信息
2021/06/07
3K0
WEB安全防护相关响应头(下)
国产github崩了?是防盗链啦~
右键复制这张图片的地址,放到一个第三方的在线编辑器中,发现图片变成gitee的logo了
用户9899350
2022/07/29
7380
国产github崩了?是防盗链啦~
防盗链
网站资源都有域的概念,浏览器加载一个站点时,首先加载这个站点的首页,一般是index.html或者index.php等。页面加载,如果仅仅是加载一个index.html页面,那么该页面里面只有文本,最终浏览器只能呈现一个文本页面。丰富的多媒体信息无法在站点上面展现。
Tom2Code
2022/04/15
1.8K0
防盗链
图片和视频防盗链简单介绍
一. 防盗链原理 http 协议中,如果从一个网页跳到另一个网页,http 头字段里面会带个 Referer。图片服务器通过检测 Referer 是否来自规定域名,来进行防盗链。 设置突破防盗链方法 1. 使用apache文件FileMatch限制,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的根目录(就是www/html目录),这样子别人就没有办法盗连你的东东了~~ SetEnvIfNoCase Referer "^http://kuaisho
smy
2018/04/03
3.6K0
解决 strict-origin-when-cross-origin 问题
使用90版本之后的谷歌浏览器, 在部署前端项目后, 调用后端接口出现 strict-origin-when-cross-origin, 并且静态资源被拦截的情况
时间静止不是简史
2023/02/23
15.5K0
解决 strict-origin-when-cross-origin 问题
Geekpwn 2020云端挑战赛 Noxss & umsg
前两天看了今年Geekpwn 2020 云端挑战赛,web题目涉及到了几个新时代前端特殊技巧,可能在实战中利用起来难度比较大,但是从原理上又很符合真实世界的逻辑,这里我们主要以解释题目为主,但是也探索一下在真实场景下的利用。
LoRexxar
2023/02/21
5830
Geekpwn 2020云端挑战赛 Noxss & umsg
突发,gitee 图片崩了,深度解析原因!
在本文中,我以 https://gitee.com/Topcvan/js-notes-img/raw/master/%E5%AE%8F%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97.png 这个图片为例,重现下事发过程。
山月
2022/04/11
1.7K0
突发,gitee 图片崩了,深度解析原因!
相关推荐
个人博客是否应该禁止浏览器跳转时携带Referrer?一份全面指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档