菜单

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

2019年1月3日 - Bootstrap

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

2015/08/26 · 基础技术 ·
HTTPS,
浏览器

初稿出处:
李靖(@Barret李靖)   

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改造之后,大家得以在无数页面中观察如下警报:

图片 1

洋洋运营对 https 没有技术概念,在填写的数据中难免出现 http
的资源,连串庞大,出现疏忽和漏洞也是不可逆袭的。

clipboard.png

CSP设置upgrade-insecure-requests

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

在我们服务器的响应头中参与:

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

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

咱俩的页面是 https 的,而这些页面中带有了大气的 http
资源(图片、iframe等),页面一旦发觉存在上述响应头,会在加载 http
资源时自动替换成 https 请求。可以查阅 google
提供的一个 demo

图片 2

唯独令人不解的是,那一个资源发出了五回呼吁,揣摸是浏览器实现的 bug:

图片 3

本来,假诺我们不便民在服务器/Nginx
上操作,也足以在页面中出席 meta 头:

XHTML

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

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

现阶段协理那些设置的还只有 chrome 43.0,但是自己相信,CSP 将变成将来 web
前端安全努力关怀和接纳的始末。而 upgrade-insecure-requests 草案也会迅速进入
RFC 格局。

从 W3C
工作组给出的 example,可以见到,这几个装置不会对别国的
a 链接做拍卖,所以可以放心使用。

1 赞 收藏
评论

图片 4

WebView不援助Https请求(需认证),这一个时候我们得以由此重写onReceivedSslError这多少个方法并实施handler.proceed
()这些主意,能够高达页面呈现的意义

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图