前端 Referrer Policy: strict-origin-when-cross-origin
时间: 2023-12-21 07:31:59 浏览: 307
Referrer Policy: strict-origin-when-cross-origin是一种前端安全策略,用于控制浏览器在跨域请求时如何发送Referer头部信息。Referer头部信息包含了当前页面的URL,当浏览器发送请求到另一个域时,会将Referer头部信息一同发送过去。
Referrer Policy: strict-origin-when-cross-origin的含义是,当从一个安全的HTTPS页面跳转到一个非安全的HTTP页面时,浏览器会发送Referer头部信息,但是当从一个非安全的HTTP页面跳转到一个安全的HTTPS页面时,浏览器不会发送Referer头部信息。
这个策略的目的是保护用户的隐私和安全。因为在跨域请求时,如果发送了Referer头部信息,可能会暴露用户的敏感信息。所以在从一个非安全的HTTP页面跳转到一个安全的HTTPS页面时,浏览器不发送Referer头部信息,以保护用户的隐私。
要解决Referrer Policy: strict-origin-when-cross-origin问题,只需要将HTTP协议更改为网站的HTTPS协议即可。确保网站的所有页面都使用HTTPS协议,这样就能避免跨域请求时发送Referer头部信息,从而解决这个问题。
相关问题
前端网页发送请求报错Referrer Policy: strict-origin-when-cross-origin
这个错误通常是因为浏览器的 Referrer Policy 设置引起的。Referrer Policy 是用来控制浏览器在发送请求时是否带上 Referrer 头信息的策略。
"strict-origin-when-cross-origin" 是一种 Referrer Policy 的取值,表示当跨域请求时,只发送来源页面的原始域名(不带路径和查询参数)作为 Referrer 信息,而同域请求会发送完整的 URL 作为 Referrer 信息。
要解决这个问题,可以通过以下方法之一:
1. 在服务器端设置正确的 Referrer Policy。可以在服务器的响应头中添加 Referrer-Policy 头信息来控制浏览器的行为,例如:
```
Referrer-Policy: strict-origin-when-cross-origin
```
这样浏览器在发送请求时就会遵循这个策略。
2. 在前端代码中设置请求的 Referrer Policy。可以在发送请求时,通过设置请求头的方式来指定 Referrer Policy,例如使用 fetch API 发送请求:
```javascript
fetch(url, {
referrerPolicy: "strict-origin-when-cross-origin"
});
```
3. 修改项目中的文件,将请求地址改为同源地址。如果请求的地址与当前页面不同源,可以尝试将请求地址改为同源地址,或者使用代理服务器来处理跨域请求。
referrer policy: strict-origin-when-cross-origin
### 回答1:
"referrer policy: strict-origin-when-cross-origin" 意思是当跨域请求时,Referer 头部将只包含来源域。这意味着,如果请求的 URL 与当前页面的 URL 不在同一个域中,则 Referer 头部将不会包含来源页面的路径和查询字符串。
### 回答2:
referrer policy: strict-origin-when-cross-origin 是一种浏览器安全策略,旨在保护用户的隐私安全。在用户使用浏览器访问网站时,每个网页都会有一个 Referrer(推荐来源),用于告知服务器用户是从哪个网页跳转过来的。但是,若用户从https网页跳转到http网页,或从一个域名跳转到另一个域名,Referrer 中会携带许多用户隐私信息(如搜索的关键词、用户的 IP 地址等),有可能被攻击者窃取和分析,从而对用户的隐私造成威胁。
因此,Web 安全专家在设计浏览器时,增加了 Referrer Policy 配置。其中,referrer policy: strict-origin-when-cross-origin 是其中一种策略。具体来说,它的作用是:在跨域请求的时候,只发送相同源的或者协议相同的 Referrer,不发送携带用户隐私信息的 Referrer,这样就能限制攻击者窃取用户隐私信息的能力。
举个例子,当用户从 https://www.example.com/index.html 页面跳转到 https://www.another-example.com/index.html 页面时,referrer policy: strict-origin-when-cross-origin 就会生效。在请求 https://www.another-example.com/index.html 页面的时候,只会发送 https://www.examples.com 的主机名作为 Referrer,而不会携带任何用户隐私信息。
总之,referrer policy: strict-origin-when-cross-origin 是一种非常重要的浏览器安全策略,能有效防止攻击者窃取用户隐私信息,为用户提供更加安全的网页访问体验。
### 回答3:
referrer policy: strict-origin-when-cross-origin是一个用于在浏览器中控制HTTP请求Referrer HTTP头的策略。这个策略是站在安全性的角度来考虑保障用户隐私和安全的。
当用户在浏览器中在当前域名下跳转至另一个跨域地址时,例如从abc.com跳转到xyz.com,那么通过HTTP头部信息referer会传递一些敏感信息给xyz.com,例如abc.com地址和当前浏览器页面地址等,这可能会导致用户数据泄露的问题。
通过strict-origin-when-cross-origin策略,浏览器会在必要时为请求添加referer信息,但会在请求目标是同一个站点(源)时添加,而不在请求导致跨越时添加(在这种情况下referer信息是没有帮助的)。 这种策略可以最大程度地保护用户隐私,降低数据泄露和恶意攻击的风险。
此外,strict-origin-when-cross-origin还可以在HTTP/2先进的推送功能中起到一定的作用,因为它提供了更多的安全保障,使得资源推送更加安全可靠。
总之,referrer policy: strict-origin-when-cross-origin能够减少攻击分子和敌对方获取用户信息的能力,以保证信息的安全性。这是一种安全保护机制,可以帮助用户更安全地浏览网站,同时保护敏感数据的隐私。
阅读全文