• HTTP Referrer-Policy缺失(diwei)


     新的Referrer Policy规定了五种Referrer策略Referrer Policy States如下:

    No Referrer策略
    属性值:no-referrer 
    意义:任何情况下都不发送 Referrer 信息。

    No Referrer When Downgrade策略
    属性值:no-referrer-when-downgrade
    意义 :仅当发生协议降级时不发送Referrer信息(如 HTTPS 页面引入 HTTP 资源,从 HTTPS 页面跳到 HTTP 等)时不发送 Referrer信息。这个规则是现在大部分浏览器默认所采用的。

    Origin Only策略
    属性值:origin
    意义:发送只包含host部分的 Referrer。启用这个规则,无论是否发生协议降级,无论是本站链接还是站外链接,都会发送 Referrer信息,但是只包含协议+host部分(不包含具体的路径及参数等信息)。

    Origin When Cross-origin策略
    属性值:origin-when-crossorigin
    意义:仅在发生跨域访问时发送只包含host的Referrer,同域下还是完整的。它与Origin Only的区别是多判断了是否Cross-origin。需要注意的是协议、域名和端口都一致,才会被浏览器认为是同域;

    Unsafe URL策略
    属性值:unsafe-url 
    意义:无论是否发生协议降级,无论是本站链接还是站外链接,统统都发送 Referrer 信息。正如其名,这是最宽松而最不安全的策略;

        怎么应用上面的Referrer策略呢?主要有两种方法,一种是在服务端使用响应头信息控制,一种是使用页面中meta标签属性控制。

    1.服务端对Referrer的控制,以Nginx为例。直接在Nginx的响应上增加定义该Referrer-Policy响应头信息即可:

    #nginx中增加对Referrer的控制
    add_header  Referrer-Policy  "origin-when-crossorigin";
    add_header 'Referrer-Policy' 'origin';
    add_header 'Referrer-Policy' 'unsafe-url';

    2.可以在页面中meta标签属性控制

    #的html响应元素中控制
    <meta name="referrer" content="no-referrer">
    <meta name="referrer" content="no-referrer-when-downgrade">
    <meta name="referrer" content="origin">
  • 相关阅读:
    java源码系列:HashMap底层存储原理详解——6、演示1.7底层实现原理验证-如何使用哈希算法、数组存储
    学会解决问题的方法
    HarmonyOS—LocalStorage:页面级UI状态存储
    c# 画球
    大商创多用户商城系统 多处SQL注入漏洞复现
    Python Selenium 基本使用(详细步骤)
    探索Docker:原理、安装与基础应用
    Biotinyl Cystamine_CAS:128915-82-2_生物素半胱胺
    .NET静态代码织入——肉夹馍(Rougamo)发布2.2
    企业架构LNMP学习笔记39
  • 原文地址:https://blog.csdn.net/m0_54434140/article/details/125517407