【Javascript】Content-Security-Policy upgrade-insecure-requests

网站扫描出的漏洞解决:检测到目标Content-Security-Policy、X-XSS-Protection/Content-Security-Policy响应头缺失、加密算法等处理修复方法 Content Security Policy (CSP) 通过告诉浏览器一系列规则,严格规定页面中哪些资源允许有哪些来源, 不在指定范围内的统统拒绝,可以服务器添加 Content-Security-Policy 头信息来指定规则解决。connect-src *会使安全进行升级,即一个http页面中所有调用的静态资源会自动升级使用https调用。但这样也会产生很多问题,如果调用的资源实际并不支持https的话,这时如果不是线上环境可以不理会,线上环境使用https就没有这样的问题了。 阅读详情

业务场景

在 https 协议下使用阿里云的 OSS 直传功能时,会出现相关错误提示导致图片无法上传

解决方案

可以在客户端页面 head 元素中添加 CSP meta 标签来解决,可参考如下资料:
https://cloud.tencent.com/developer/section/1189878

代码示例

function set_content_security_policy() {
    if (window.location.protocol == 'http:') return;

    var metas = document.getElementsByTagName("meta");
    var has_set = false;
    for (var i = 0; i < metas.length; i++) {
        if (metas[i].getAttributeNode("http-equiv") != null &&
            metas[i].getAttributeNode("http-equiv").value == "Content-Security-Policy" &&
            metas[i].getAttributeNode("content") != null &&
            metas[i].getAttributeNode("content").value == "upgrade-insecure-requests"
        ) {
            has_set = true;
            break;
        }
    }
    if (!has_set) {
        var meta_new = document.createElement("META");
        var http_equiv = document.createAttribute("http-equiv");
        var content = document.createAttribute("content");
        http_equiv.value = "Content-Security-Policy";
        content.value = "upgrade-insecure-requests";
        meta_new.setAttributeNode(http_equiv);
        meta_new.setAttributeNode(content);
        document.getElementsByTagName("head")[0].appendChild(meta_new);
    }
}

参考资料

https://cloud.tencent.com/developer/section/1189878
http://www.ruanyifeng.com/blog/2016/09/csp.html

【网络安全】Content Security Policy (CSP) 介绍 内容安全策略 (CSP) 是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件,这些攻击都是主要的手段。 阅读详情

相关推荐

【实战】巧用Content-Security-Policy解决HTTPS页面Mixed Content拦截问题

本文详细解析了HTTPS页面中Mixed Content问题的成因及解决方案,重点介绍了如何使用Content-Security-Policy(CSP)的meta标签自动升级不安全请求。通过实战案例和进阶配置技巧,帮助开发者有效解决浏览器拦截混合内容的问题,确保网站安全性和功能完整性。

weixin_30500105的博客 474

解决在浏览器中https请求http资源而报警

错误信息: Mixed Content: The page at 'https://wshop.xxx.com/wxshop/' was loaded over HTTPS, but requested an insecure image 'http://wshop.xxx.com/wxshop//image/A3.jpg'. This content should also be served over HTTPS. 报错原因: HTTPS 是 HTTP over Secure Socket L

YHJ 3146

Mixed Content: The page was loaded over HTTPS, This content should also be served over https解决方案

浏览器对于https链接会自动屏蔽不安全的http链接,就是所谓的Mixed Content。HTTPS页面里动态的引入HTTP资源时,比如引入一个js文件,会被直接block掉的.在HTTPS页面里通过AJAX的方式请求HTTP资源,也会被直接block掉的。

挖掘大数据价值,让决策者快速洞悉趋势,让大众读懂数据背后的故事。 4729

浏览器使用小记 – Content-Security-Policy

个人博客 最近重度使用网关 Kong,对接了一堆难搞的存量系统,遇到很多问题,先扔一个:当 Kong 转发请求后,第三方的响应内容里拼接了完整的资源请求地址,但它看到的只是 Kong 剥掉 https 壳以后的 http 请求,所以拼接出来的地址是 http://…. ,到了浏览器端,根据该地址发起 http 请求时,就会被浏览器 block 掉,开 debug 可以看到提示 csp 或者 mixed。 在有多个组成环节的情况下,一个问题通常就会有多种解法(甩锅应该更形象)。就目前这个问题,淡化 PaaS/

围炉夜话 2793

Claude Code vs Codex

Claude Code 提供了一个生产就绪(production-ready)的实现,包含良好的错误处理、优雅的关闭逻辑、详细注释和文档,以及内置测试。Claude Code 输出了一个可运行的 Next.js + TypeScript 前端,但错过了一些设计里的黄色主题元素;Codex 则生成自己的版本,没有导出设计中的图片,也没严格遵照设计主题。Codex 完成同样功能,但更简洁直接,文档和注释少一些但功能达标。任务都用同样的提示,使用 TypeScript 实现,并在一天内完成。

weixin_49869937的博客 2391

计算机组成与系统结构(第三版) 袁春风主编 课后习题答案讲解 第一、二章 计算机系统概述 数据的机器级表示

计算机组成与系统结构(第三版) 袁春风主编 课后习题答案讲解 第一、二章 计算机系统概述 数据的机器级表示

qq_73523062的博客 2096

https网站不显示小锁【解决办法】

在HTML的head标签中加一段&lt;meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" /&gt;即可 例子: &lt;head&gt; &lt;meta http-equiv="Content-Security-Policy" content="upgrade-insecure-req.

Zilin的博客 2955

遥感常用相关指数和计算方法(植被指数/水体指数/雪和冰指数/矿物指数/地表温度指数/云和阴影指数/农业指数)

遥感常用相关指数和计算方法(植被指数/水体指数/雪和冰指数/矿物指数/地表温度指数/云和阴影指数/农业指数)

m0_64361769的博客 1万+

http升级为https后资源加载失败的解决方案

http升级为https后资源加载失败的解决方案 开发的项目为http协议时都好好的,升级为https后,不仅小图标都消失,就连数据库已有的数据都加载不出来 原因: 因为项目本身采用http的资源(js、css等),换成https后就不解析这些资源了,清了缓存也不行。 只需在html页面的头部head部分,加上这句代码即可: &lt;meta http-equiv="Content-Securit...

兮然Shira的博客 3136

SAP MTO模式实战:从库存管理到成本核算的深度解析

本文深入解析SAP MTO(Make-to-Order)模式在制造业中的应用,从库存管理到成本核算的全流程实战技巧。通过对比MTS模式,详细阐述MTO的核心逻辑、库存管理配置、成本核算路径及与PP模块的集成要点,帮助企业实现按单生产的高效管理,优化库存水平和资金占用。

weixin_29204205的博客 709

CloudCompare横截面工具实战:从点云切片到轮廓提取的完整流程

本文详细介绍了CloudCompare软件中Cross Section工具的核心功能与实战流程。从交互式裁剪框的精准操控,到包络线提取的参数设置与优化,再到内部轮廓提取及批量处理技巧,完整解析了如何从三维点云中高效提取建筑立面、隧道断面等关键轮廓信息,是点云数据处理与分析的实用指南。

weixin_29290963的博客 286

前端js css文件报错net::ERR_SSL_PROTOCOL_ERROR

测试部署后的前端发现界面css、js文件无法展示,报错net::ERR_SSL_PROTOCOL_ERROR。 **最直接的处理方式如下: *删除index.html文件中的 ------content=“upgrade-insecure-requests”***

Quentin0823的博客 7611

OpenFOAM算例文件结构深度解析:以cavity案例为例教你读懂每个文件夹的作用

本文以OpenFOAM经典cavity案例为例,深度解析CFD算例文件结构。详细阐述了0、constant、system三个核心目录的作用:0存放初始与边界条件,constant定义物理属性和网格,system控制求解策略。通过剖析关键文件,帮助用户理解每个参数的意义,掌握从读懂到定制算例的能力,为高效使用这一开源CFD工具奠定坚实基础。

beer8的博客 240

#网页内容http协议自动被转成https协议#

当浏览器遇到这个 meta 标签时,它会遵循其中的指令,将页面中原本使用 HTTP 协议的资源请求(包括 CSS 文件、JavaScript 文件、图片等)自动转换为 HTTPS 请求,以提高网站的安全性,确保数据在传输过程中得到加密保护,防止中间人攻击等安全威胁。页面有<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />这个标签的作用是将网页中所有的 HTTP 请求升级为 HTTPS 请求。

weixin_38626872的博客 365

CS231n+assignment2(一)

cs231n作业二详解+代码

qq_56551150的博客 2411

OP-TEE虚拟化支持详解

OP-TEE虚拟化支持解析 OP-TEE提供实验性虚拟化方案,支持多虚拟机共享安全执行环境。核心特性包括: 配置选项:CFG_VIRTUALIZATION启用虚拟化,CFG_VIRT_GUEST_COUNT限制虚拟机数量并分配均等内存资源; Hypervisor协作:需实现虚拟机生命周期通知、SMC参数转换、内存固定等关键协议; 当前限制:仅支持Armv8架构,硬件资源共享有限,采用静态内存配额机制; 架构实现:通过MMU分区切换和扩展内存分配器实现多租户隔离,Nexus核心层管理虚拟机上下文。该方案适用于

Linux内核架构师 109

SpringBoot jar无法访问静态文件

问题描述:SpringBoot Jar上传服务端后无法访问js,css等文件? 问题分析: 通过服务器检查功能我发现我的文件通过地址无法访问到。 这时我进行查看本地项目进行对比。 检查下本地localhost的请求方式。 在这里我我发现我本地是使用HTTP方式请求的静态资源,服务器是使用HTTPS请求的静态资源。由于我的服务器只是用来学习和测试新技术的所以没有进行备案只能...

qq_40244614的博客 1959

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

在不同平台分别配置适合的 Content-Security-Policy (CSP) 策略

有两个平台需要部署 但是一个平台需要使用https 一个需要http,在这种情况下,需要为两个平台分别配置适合的 Content-Security-Policy (CSP) 策略,而不是在同一个 index.html 中强制设置 upgrade-insecure-requests。

qq_43259264的博客 445

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

页面调用百度地图但是使用了https证书之后不显示

目前支持这个设置的还只有 chrome 43.0,不过我相信,CSP 将成为未来 web 前端安全大力关注和使用的内容。如果换上去了之后页面地图还是不显示的话,是因为https下 需要使用3.0的版本js 这个就需要密钥ak。首先百度地图使用的都是http请求链接,但是安装了证书之后会觉得这个http不安全,所以默认请求失败。这里的ak密钥需要替换成你自己申请的ak密钥。

yhl20202020的博客 685

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

https协议的nginx请求http协议tomcat,出现静态文件js访问不到的情况!

问题的根源应该就是浏览器的安全机制,不允许在嵌套在https的页面中进行http请求吧,结合google想到这个应该可以在nginx那边加个重定向或者header来解决!访问https://1.1.1.1:443/aaa,页面出现静态js,css请求失败!这里这个就是处理https反向代理http时候静态资源的关键。

weixin_50344807的博客 1016

js http请求_浏览器 Upgrade-Insecure-Requests:1 请求头的作用

今天在调试网站时,发现 html 请求头中有个 Upgrade-Insecure-Requests:1 参数,查了一下相关的资料,感觉挺有意思,记录一下。html Upgrade-Insecure-Requests:1 请求头HTTP Upgrade-Insecure-Requests 请求头向服务器发送一个客户端对HTTPS加密和认证响应良好,并且可以成功处理的信号,可以请求所属网站所有的HTT...

weixin_39587822的博客 1274

微信公众号测试号

申请测试账号:doc=1。

weixin_44347152的博客 651

Nginx配置之:http请求转换为https

Nginx 全站https 反向代理 Tomcat 遇到静态文件.js,.css文件仍走http,出现block-all-mixed-content错误时,可使用CSP指令将http资源转换为https 关键配置为: add_header Content-Security-Policy upgrade-insecure-requests; 完整配置: server { ...

diaoliyi1350的博客 5131

content=upgrade-insecure-requests-强制转http为https

upgrade-insecure-requests强制转http为https

Quentin0823的博客 1808

upgrade-insecure-requests

今天写代码时发现一个问题,npm run build生成dist包部署的到服务器上时,发现静态文件的地址的请求头是https,找了许多办法,例如,在config/index.js中添加代码https: true,发现还是解决不了问题,最后解决办法是: 把index.html中的这行代码注释掉: <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 它的意思就是会在加载 h...

山谷里的杂货铺 1432

nginx add_header Content-Security-Policy “upgrade-insecure-requests;connect-src *“;

背景是这样 后端写了个静态网页,页面里面有对资源http的调用,导致js在请求时,报了个错 Mixed Content: The page at 'https://huangkaikang.com/' was loaded over HTTPS, but requested an insecure frame 'http://huangkaikang.com/resume/'. This request has been blocked; the content must be served over

小猪佩奇工作室 8021
上一篇: 【PHP】与命令行的交互
下一篇: 【Redis】centos 安装 redis
November's  chopin
博客等级 码龄10年 10粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值