• 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">
  • 相关阅读:
    聊聊昨日ChatGPT全球宕机事件,带给我们的警示
    std::minus
    springcloudalibaba架构(7):Sentinel授权规则和系统规则
    Webmin 远程命令执行漏洞_CVE-2019-15107
    解锁新技能《SkyWalking-aop服务搭建》
    04_服务注册Eureka
    react之Component存在的2个问题
    【自动化测试】基于Selenium + Python的web自动化框架!
    Mysql——》MyISAM存储引擎的索引
    华为机试HJ52
  • 原文地址:https://blog.csdn.net/m0_54434140/article/details/125517407