我正在创建一个Chrome扩展程序,该扩展程序向网站公开了额外的API。在网站使用这些API之前,如果网站是通过HTTP而非HTTPS服务的,我想显示一个警告。这是因为这些API会减少网络沙箱,如果未验证来自网站的JavaScript来源是否来自正确的参与者,则可能会更加危险。
是否可以使用可靠的方法检查网站是否通过HTTPS服务?
也许是chrome扩展API(例如在内容脚本中)?
在证书出现问题的情况下,检查location.protocol
似乎不准确:How do I determine whether a page is secure via JavaScript?
答案 0 :(得分:0)
对于较新的浏览器:
window.isSecureContext
您还可以:
window.location.protocol == 'https:'
但是,如果网页协议为https,但是证书无效并且该网页继续在非安全上下文中加载,则可能是错误的。