0

我正在创建一个向网站公开额外 API 的 chrome 扩展。在网站可以使用这些 API 之前,如果网站是通过 HTTP 而不是 HTTPS 提供的,我想显示一个警告。这是因为这些 API 减少了 Web 沙箱,如果来自网站的 JavaScript 源未经验证来自正确的一方,则可能会更加危险。

有没有一种可靠的方法可以用来检查网站是否通过 HTTPS 提供服务?
也许是 chrome 扩展 API(例如在内容脚本中)?

如果证书出现问题,检查location.protocol似乎可能不准确:如何通过 JavaScript 确定页面是否安全?

4

1 回答 1

0

对于较新的浏览器:

window.isSecureContext

你也可以:

window.location.protocol == 'https:'

但是,如果网页协议是 https 但证书无效并且网页继续在非安全上下文中加载,则这可能是错误的。

于 2020-01-15T17:14:17.280 回答