https页面引用外部http文件出现“Mixed Content”

Mixed Content: The page at ‘https://www.XXXX.com/’ was loaded over HTTPS, but requested an insecure script ‘http://libs.baidu.com/jquery/1.4.2/jquery.min.js’. This request has been blocked; the content must be served over HTTPS.

刚刚在看小说的时候,发现某小说网站控制台报了俩错误,查看了一下发现是因为,https安全机制页面,引入了baidu的jQuery的文件使用的是http导致的。
http:超文本传输协议
https:添加了加密及认证机制的http成为https,https要比http慢2-100倍

解决方式:

1、可以把外部资源下载到自己服务器上,统一使用https(如果使用的是外部分享邮箱之类的,这种能方法不可取)
2、可以在页面头部加上
<meta http-equiv="<strong>Content-Security-Policy</strong>" content="<strong>upgrade-insecure-requests</strong>">


会把http请求转化为https请求

扩展

Content-Security-Policy(CSP 内容安全政策)

<meta http-equiv="content-security-policy" content="策略集1;策略集2;">


default-src 'self'; img-src https://*; child-src 'none';

  • 作用
  1. 使用白名单的方式告诉客户端(浏览器)允许加载和不允许加载的资源。
  2. 内容安全策略   (CSP) 是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件,这些攻击都是主要的手段

content 内部代码

upgrade-insecure-requests
: 指示 User Agent 将 HTTP 更改为 HTTPS,重写网址架构。 该指令适用于具有大量旧网址(需要重写)的网站。
base-uri
: 用于限制可在页面的 <base> 元素中显示的网址。
child-src
: 用于列出适用于工作线程和嵌入的帧内容的网址。例如:child-src https://youtube.com 将启用来自 YouTube(而非其他来源)的嵌入视频。 使用此指令替代已弃用的 frame-src 指令。
connect-src
: 用于限制可(通过 XHR、WebSockets 和 EventSource)连接的来源。
font-src
: 用于指定可提供网页字体的来源。Google 的网页字体可通过 font-src https://themes.googleusercontent.com 启用。
form-action
: 用于列出可从 <form> 标记提交的有效端点。
frame-ancestors
: 用于指定可嵌入当前页面的来源。此指令适用于 <frame>、<iframe>、<embed> 和 <applet> 标记。此指令不能在 <meta> 标记中使用,并仅适用于非 HTML 资源。
frame-src
: 已弃用。请改用 child-src。
img-src
: 用于定义可从中加载图像的来源。
media-src
: 用于限制允许传输视频和音频的来源。
object-src
: 可对 Flash 和其他插件进行控制。
plugin-types
: 用于限制页面可以调用的插件种类。
report-uri
: 用于指定在违反内容安全政策时浏览器向其发送报告的网址。此指令不能用于 <meta> 标记
style-src
: 是 script-src 版的样式表

参考文档:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP