让浏览器不再显示 https 页面中的 http 请求警报

HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错:

Mixed Content: The page at ‘https://www.taobao.com/‘ was loaded over HTTPS, but requested an insecure image ‘http://g.alicdn.com/s.gif’. This content should also be served over HTTPS.

HTTPS改造之后,我们可以在很多页面中看到如下警报:

很多运营对 https 没有技术概念,在填入的数据中不免出现 http 的资源,体系庞大,出现疏忽和漏洞也是不可避免的。

CSP设置upgrade-insecure-requests

好在 W3C 工作组考虑到了我们升级 HTTPS 的艰难,在 2015 年 4 月份就出了一个Upgrade Insecure Requests的草案,他的作用就是让浏览器自动升级请求。

在我们服务器的响应头中加入:

header("Content-Security-Policy: upgrade-insecure-requests");

我们的页面是 https 的,而这个页面中包含了大量的 http 资源(图片、iframe等),页面一旦发现存在上述响应头,会在加载 http 资源时自动替换成 https 请求。可以查看 google 提供的一个demo:

不过让人不解的是,这个资源发出了两次请求,猜测是浏览器实现的 bug:

当然,如果我们不方便在服务器/Nginx 上操作,也可以在页面中加入meta头:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

目前支持这个设置的还只有 chrome 43.0,不过我相信,CSP 将成为未来 web 前端安全大力关注和使用的内容。而upgrade-insecure-requests草案也会很快进入 RFC 模式。

从 W3C 工作组给出的example,可以看出,这个设置不会对外域的 a 链接做处理,所以可以放心使用。

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-10-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏魏艾斯博客www.vpsss.net

如何修改 windows vps 登陆用户名密码

1262
来自专栏雨过天晴

原 签发HTTPS证书 (acme.sh)

2162
来自专栏汇智网教程

windows以太坊私有链开发环境搭建

我们使用官方长期支持的8.10.0LTS版本,点击这个链接下载32位安装包,32位安装包即可用于32位系统,也可用于64位系统。 如果你确认你的系统是64位,也...

4048
来自专栏左瞅瞅,右瞅瞅

Mysql5.5——xtrabackup主从同步

192.168.102.128 linux-node1.example.com (主)

1329
来自专栏FreeBuf

Firefox新增安全机制:附加组件签名机制

根据Net MarketShare的数据显示,2016年8月份Firefox浏览器占全球市场份额7.69%,仅次于Chrome和IE,排名第三。可见,Firef...

1905
来自专栏coding...

Jenkins + Android 自动化打包 发布到蒲公英写在前面准备工作新建任务签名配置一些报错

最先想到的方案当然就是跟iOS一样使用fastlane,查了下相关资料发现fastlane有点重iOS轻Android,于是放弃。找到代替方案,直接使用grad...

501
来自专栏散尽浮华

线上mongodb 数据库用户到期时间修改的操作记录

登陆版权数据库,显示"此用户已到期",数据库使用的是mongodb,顾 需要将此用户的到期时间延长。 ? ? 解决过程: 1)到网站对应tomcat配置里找出等...

1597
来自专栏FreeBuf

如何对iOS App进行打补丁和重新签名

有没有想过在非越狱设备上运行修改后的iOS二进制文件?比如,你可以使用该技术插装app,以进行动态分析。又或者你需要进行GPS欺骗,从而可以在锁区玩Pokemo...

2148
来自专栏跟着阿笨一起玩NET

Windows Server 2008企业64位版防火墙添加端口的方法

原始地址:http://www.veryhuo.com/a/view/48280.html

522
来自专栏FreeBuf

提高Linux安全性:14项检查建立安全的Linux服务器

1 – 记录主机信息 每当您正在使用新的Linux主机进行安全增强时,您需要创建一个文档并记录本文档中列出的项目,工作完成后,您将需要检查这些项目。另外,在开...

1866

扫描关注云+社区