检查页面是否通过https安全地提供

时间:2020-01-15 17:11:38

标签: javascript security secure-context

我正在创建一个Chrome扩展程序,该扩展程序向网站公开了额外的API。在网站使用这些API之前,如果网站是通过HTTP而非HTTPS服务的,我想显示一个警告。这是因为这些API会减少网络沙箱,如果未验证来自网站的JavaScript来源是否来自正确的参与者,则可能会更加危险。

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

在证书出现问题的情况下,检查location.protocol似乎不准确:How do I determine whether a page is secure via JavaScript?

1 个答案:

答案 0 :(得分:0)

对于较新的浏览器:

window.isSecureContext

您还可以:

window.location.protocol == 'https:'

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