欢迎访问分类目录网
快审联系QQ:158925126当前位置:分类目录网 » 站长资讯 » 技术教程 » 文章详细 订阅RssFeed

通过 CSP 指令解决https加载不了http资源问题

来源:本站原创 浏览:3046次 时间:2018-09-24

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

Mixed Content: The page at ‘https://www.n360.cn/‘ 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 的资源,体系庞大,出现疏忽和漏洞也是不可避免的。

通过 upgrade-insecure-requests 这个 CSP 指令,可以让浏览器帮忙做这个转换。启用这个策略后,有两个变化: 页面所有 HTTP 资源,会被替换为 HTTPS 地址再发起请求; 页面所有站内链接,点击后会被替换为 HTTPS 地址再跳转; 跟其它所有 CSP 规则一样,这个指令有两种方式来启用,需要注意的是 upgrade-insecure-requests 只替换协议部分,所以只适用于 HTTP/HTTPS 域名和路径完全一致的场景。

1、HTTP 响应头方式:


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

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

如nginx的配置

配置nginx,在响应中添加一个响应头:
add_header Content-Security-Policy upgrade-insecure-requests;
配置文件如图:

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

可以查看 google 提供的一个 demo(https://googlechrome.github.io/samples/csp-upgrade-insecure-requests/index.html):不过让人不解的是,这个资源发出了两次请求,猜测是浏览器实现的 bug:

二、标签方式

在页面中的头文件加入 meta 头。

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

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

从 W3C 工作组给出的 example(http://www.w3.org/TR/upgrade-insecure-requests/#examples),可以看出,这个设置不会对外域的 a 链接做处理,所以可以放心使用。


公司企业大全

推荐站点

  • 纳米AI搜索 纳米AI搜索

    纳米AI搜索开创全新问答方式,没有套路,直接给答案,让搜索变得简单直观!拍照问、语音搜、听

    www.n.cn
  • 一号屋手赚库 一号屋手赚库

    一号屋手赚库致力于分享最新且免费的手机赚钱软件,在这里,你可以找到各种类型的赚钱app,获

    www.yihaowu.com
  • 事业编招聘网 事业编招聘网

    事业编招聘网(sybzp.cn)事业单位招聘信息基考试资料原创内容网站,主打快速、全面、优

    www.sybzp.cn
  • 4K高清电影下载 4K高清电影下载

    4Kfilm视界是专业的4K电影下载站,本网站页面简洁,提供4K盘HDR杜比视界电影、美剧

    www.4kfilm.cn
  • 百评客 百评客

    百评客深度评测各种赚钱游戏、手机赚钱app,提供客观且真实的评测分析,在这里,你可以更了解

    m.baike5.com
  • 优质设计素材 优质设计素材

    颜格视觉专注海外创意广告设计图片素材下载的网站!提供包括样机素材,平面素材,UI设计,ic

    www.youngem.com
  • 国家智慧教育平台 国家智慧教育平台

    国家智慧教育平台,全称国家智慧教育公共服务平台,是由中华人民共和国教育部指导,教育部教育技

    www.smartedu.cn
  • 鸟说游戏 鸟说游戏

    鸟说是一个聚焦电竞产业的网站,旨在分享不一样的电竞乐趣。我们致力于提供最新的电竞资讯、热门

    www.niaoshuo.com
  • 游软盟 游软盟

    游软盟是一个免费的应用下载网站,为用户提供好玩的手机游戏、实用的手机软件下载,我们也会及时

    app.ufolm.com