Referrer Policy for Internet Security All In One
Referrer Policy for Internet Security All In One
网络安全之
引荐人策略
Referrer Policy
- Referrer-Policy:
no-referrer
- Referrer-Policy: no-referrer-when-downgrade
- Referrer-Policy: origin
- Referrer-Policy:
origin-when-cross-origin
- Referrer-Policy: same-origin
- Referrer-Policy: strict-origin
- Referrer-Policy:
strict-origin-when-cross-origin
- Referrer-Policy: unsafe-url
The Referrer-Policy HTTP header controls how much referrer information (sent with the Referer header) should be included with requests.
Aside from the HTTP header, you can set this policy in HTML.
Referrer-Policy HTTP 标头控制请求中应包含多少引用者
信息(与 Referer 标头一起发送)。
除了 HTTP 标头之外,您还可以在 HTML 中设置此策略。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
冷知识:
Referer
是单词拼写错误,为了兼容性,而导致的历史遗留 bug 💩
Referrer-Policy
引用策略 ✅referer
引用来源 ✅
如何破解 Referrer Policy: strict-origin-when-cross-origin
问题 ???
再发送请求时候,修改或者绕过 Referrer-Policy ?
async function test() {
async function parseHTML() {
const url = `http://abczzz.cn/archives/136?page=1`
const html = await fetch(url).then(res => res.text())
console.log(`html =`, html)
}
await parseHTML()
}
await test();
应用场景
- Web 资源
防盗链
盗链
: 是指在自己的页面上展示一些并不在自己服务器上的一些内容, 获取别人的资源地址,绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容;
一般被盗链的都是图片、 可执行文件、 音视频文件、压缩文件等资源;
通过盗链的手段可以减轻自己服务器的负担;
防盗链
原理: 通过 Referer 或者签名,网站可以检测目标
网页访问的来源网页,如果是资源文件,则可以追踪到显示它的网页地址, 一旦检测到来源不是本站,则进行阻止非法访问或者返回指定的版权警告页面或不返回
任何数据
demos
CORS
请求, 是否返回HTML
内容
- 浏览器客户端,同域名 ✅
- 服务器端, 不存在跨域问题,Node.js ✅
- 浏览器客户端,CORS 跨域名 ❌
Referrer Policy: strict-origin-when-cross-origin
❌
- 手动取消请求 referrer ❌ 不好使
<meta name="referrer" content="no-referrer">
- 客户端在请求时, 无法修改 HTTP header 的保留字段
referer
❌
设置 referer
响应头是无效的,这是由于浏览器为了安全起见,无法手动设置部分保留字段,不幸的是 Referer 恰好就是保留字段之一
https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer
引荐来源
(Referer) 和引荐来源政策
(Referrer-Policy) 最佳实践
由于规范中的原始拼写错误,
Referer
标头缺少一个R
。
JavaScript 和 DOM 中的Referrer-Policy
标头和referrer
的拼写是正确的。
<meta name="referrer" content="strict-origin-when-cross-origin" />
fetch(url, {referrerPolicy: 'no-referrer-when-downgrade'});
https://web.dev/i18n/en/referrer-best-practices/
https://web.dev/i18n/zh/referrer-best-practices/
https://web.dev/same-site-same-origin/
refs
https://www.cnblogs.com/xgqfrms/p/17655286.html#5205339
©xgqfrms 2012-2025
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/17655904.html
未经授权禁止转载,违者必究!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2022-08-25 微信小程序性能优化 All In One
2022-08-25 上海图书馆 & 上海图书馆东馆 All In One
2022-08-25 人邮学院 All In One
2022-08-25 2022 居家办公高性价比的电动升降桌选购指南 All In One
2020-08-25 auto switch HTTP protocol Chrome Extension
2020-08-25 Cocos Creator 游戏开发
2020-08-25 大屏监控技术实现