2020-04-22 16:46:34 Referrer-Policy通俗点就是Referrer的策略,指的是当前页面的referer应该如何设置的问题。 这时候Referrer-Policy就应用上了,一般使用方式就是在html里面加一个meta标签来告诉浏览器我们的referer策略 <meta name="referrer" content="origin
这样就可以一定程度上避免其他网站盗取自身服务器信息,或者可以通过referer来实现广告流量引流,说白了,referer是一种客户端带到服务器的客户端信息,而Referrer-Policy则是客户端对这个带信息策略的配置 referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url; 三、API 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 值 no-referrer 整个 Referer 首部会被移除。
Referrer-Policy Referrer-Policy的作用就是为了控制请求头中referrer的内容,目前是一个候选标准,不过已经有部分浏览器支持该标准。 目前Referrer-Policy只包含以下几种值: enum ReferrerPolicy { "", "no-referrer", "no-referrer-when-downgrade", "same-origin Referrer-Policy更改方法 可以有以下5种方法: 1. 通过Referrer-Policy HTTP header设置: Referrer-Policy: origin 2.
标签,并且 name 属性的值为 referer,浏览器客户端将按照如下步骤处理这个标签: 1.如果 meta 标签中没有 content 属性,则终止下面所有操作 2.将 content 的值复制给 referrer-policy
Referrer-Policy 标头以及 JavaScript 中的 referrer 拼写是没有问题的。 所以 HTTP 提供了 Referrer-Policy 标头,其用来监管和限制哪些访问来源信息会在 Referer 中发送(应该被包含在生成的请求当中)。 ?
答案就在 Referrer-Policy 当中,下面就带大家详细讲一下 Referrer-Policy 策略。Referrer-Policy 策略有哪些策略? Referrer-Policy: no-referrer顾名思义,这个策略表示不发送 Referer 信息。 Referrer-Policy: originReferer字段一律只发送源信息(协议+域名+端口),不管是否跨域。 Referrer-Policy: unsafe-urlReferer字段包含源信息、路径和查询字符串,不包含锚点、用户名和密码。 add_header Referrer-Policy "no-referrer";复制代码设置完请求头,最终体现在浏览器 Headers 里字段是:Referrer-Policy: no-referrer
frame-src https://www.youtube.com' resp.headers['X-Content-Type-Options'] = 'nosniff' resp.headers['Referrer-Policy frame-src https://www.youtube.com' resp.headers['X-Content-Type-Options'] = 'nosniff' resp.headers['Referrer-Policy 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 这个头实际上主要围绕referer的配置 当被设置为
Nginx的服务器配置中添加以下响应头: server { listen 80; server_name itlaol.com; # 启用严格隐私模式 add_header Referrer-Policy referrer_policy=no-referrer; Path=/; Max-Age=31536000";}方法2:按目录灵活控制 location / { # 默认禁止Referrer add_header Referrer-Policy "no-referrer";}location /stats/ { # 允许统计页面的Referrer传递 add_header Referrer-Policy "unsafe-url"; 开启后的效果验证手动测试: 在博客中插入测试外链,用浏览器开发者工具查看请求头: # 预期结果Referer: (空值或仅显示域名)在线工具检测: 使用 [SecurityHeaders.com] 扫描博客,检查`Referrer-Policy -->|否| E[保持默认即可] D -->|是| F[仅对敏感页面开启] D -->|否| G[全局开启] F --> H[使用Nginx按目录控制] G --> I[配置Referrer-Policy
选项列表: Referrer-Policy: no-referrer //整个 Referer 首部会被移除。 ) Referrer-Policy: origin //在任何情况下,仅发送文件的源作为引用地址 Referrer-Policy: origin-when-cross-origin //对于同源的请求, 会发送完整的URL作为引用地址,但是对于非同源请求仅发送文件的源 Referrer-Policy: same-origin //对于同源的请求会发送引用地址,但是对于非同源请求则不发送引用地址信息。 Referrer-Policy: strict-origin //在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS) Referrer-Policy: strict-origin-when-cross-origin //对于同源的请求,会发送完整的URL作为引用地址 Referrer-Policy: unsafe-url //无论是否同源请求,都发送完整的 URL(移除参数信息之后)作为引用地址。
下文中,我们则侧重介绍一些和跨站安全相关的响应头—— 一、Referrer-Policy -- 不要问我从哪里来 “互联网”这个词,顾名思义,“互联”才有意义。 --- 出于对保护隐私的考虑,Firefox 和 Chrome 等浏览器引入了一套更精确控制浏览器如何发送「referer」请求头的机制,名叫「Referrer-Policy」。 使用以下几种方式,可以加载和设定不同的「Referrer-Policy」策略: 方法一: 从 WEB 服务器端,整体地返回 Referrer-Policy 响应头: #Nginx配置: add_header Referrer-Policy "no-referrer" always; #Apache配置: Header always set Referrer-Policy "same-origin" 方法二 比如这里的「Referrer-Policy」策略。 二、X-XSS-Protection -- 跨站边界保护 XSS 的全称是 Cross Site Scripting,中文叫“跨站脚本攻击”。
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referrer-Policy no-referrer 整个 Referer 首部会被移除 解决: 通过修改http响应头部的Referrer-Policy字段来指定所使用的referrer规则。 例如nginx添加头部 add_header Referrer-Policy 'no-referrer-when-downgrade'; 直接通过修改html头部meta参数对referrer规则进行指定
--检测到目标Referrer-Policy响应头缺失--> <add name="<em>Referrer-Policy</em>" value="origin-when-cross-origin
了解略少,下面简单聊下 referrer 有关的东西 隐私&安全 通过 referrer 虽然可以简单获取页面访问来源,不过有时候我们是不希望别人采集我们的访问来源,这时候涉及到隐私问题,通过了解 Referrer-Policy 来规范使用,以下是 Referrer-Policy 所有值 enum ReferrerPolicy { "", "no-referrer", "no-referrer-when-downgrade Referrer-Policy 更改方法 通过 HTTP header 设置: Referrer-Policy: origin 通过 <meta> 元素改变 Referrer Policy ,直接修改名为
-- HTTP头中使用错误拼写 --> Referer: https://example.com Referrer-Policy 策略 为了解决隐私问题,W3C 制定了 Referrer Policy 规范,提供了精细的控制机制,现代浏览器支持 Referrer-Policy 来控制 Referer 的发送行为: 策略值 策略 描述 使用场景 no-referrer 不发送 Referer 最高隐私保护 strict-origin-when-cross-origin 综合考虑安全性的策略 现代浏览器默认 unsafe-url 始终发送完整 URL 较少 设置方法 HTTP 响应头: res.setHeader('Referrer-Policy
X-Frame-Options: DENY X-Content-Type-Options 禁用MIME类型嗅探 示例: X-Content-Type-Options: nosniff Referrer-Policy 控制Referer头信息 示例: Referrer-Policy: no-referrer Permissions-Policy 限制浏览器功能访问 示例: Permissions-Policy
picture-in-picture-mode string/Array 否 设置小窗模式: push, pop,空字符串或通过数组形式设置多种模式(如: [“push”, “pop”]) 2.10.3 referrer-policy speaker 扬声器 ear 听筒 picture-in-picture-mode子属性: 合法值 说明 [] 取消小窗 push 路由 push 时触发小窗 pop 路由 pop 时触发小窗 referrer-policy 子属性: 合法值 说明 origin 发送完整的referrer no-referrer 不发送 referrer-policy子属性: 合法值 说明 origin 发送完整的referrer no-referrer
Referrer-Policy Referrer Policy即引用策略,就是从一个页面发出请求时,是否在请求头部定义 Referrer 的设置。 Referrer-Policy "no-referrer"; Cache-Control 指定浏览器的缓存方式,通过逗号分隔。 add_header X-Permitted-Cross-Domain-Policies 'none'; add_header X-XSS-Protection '1;mode=block'; add_header Referrer-Policy
"SAMEORIGIN" X-Download-Options "noopen" X-Content-Type-Options "nosniff" # Referrer-Policy
Craft CMS X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Referrer-Policy
X-Content-Type-Options: nosniff https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options Referrer-Policy 例如,仅允许Referrer中包含当前域名信息,则配置Referrer-Policy: origin https://developer.mozilla.org/zh-CN/docs/Web/HTTP/ Headers/Referrer-Policy X-Frame-Options 用于预防Clickjacking攻击。