gpt4 book ai didi

security - 如何判断网站是否使用 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 14:19:29 25 4
gpt4 key购买 nike

我开发了一个独立的 XULRunner 应用程序,我将其用作浏览器。我没有在应用程序中显示 URL。但我想知道访问的站点是否使用 SSL(即 URL 以 https:// 开头)。如果用户所在的站点部分安全,我想向用户显示一条消息。而且,我想这样做的方法是检查 URL 是否使用 SSL。我做了一些搜索,但到目前为止没有成功,但我没有放弃。任何建议将不胜感激。

我做了一些更改,现在我的 onSecurityChange() 方法如下所示。

onSecurityChange: function(aWebProgress, aRequest, aState) { 
if((aState & Components.interfaces.nsIWebProgress.STATE_IS_SECURE) == 0) {
document.getElementById("lblConnectionStatus").setAttribute("value", "Insecure Connection");
} else {
document.getElementById("lblConnectionStatus").setAttribute("value", "Secure Connection");
}
return 0;

但是,当我从不安全页面过渡到安全页面时,它似乎并没有改变。我已经在 Yahoo 和 Hotmail 上尝试过,看看问题是否出在我正在访问的应用程序上,但它的行为也一样。

关于我可能做错了什么的任何指示?提前致谢。

最佳答案

比这要复杂一些——即使页面本身是通过 SSL 加载的,它也可以嵌入通过纯 HTTP 加载的脚本。这将意味着整个页面 安全,因为不安全的脚本会危及其他所有内容。所以你应该依赖现有的机制,即browser.securityUI property (也可在 tabbrowser 上使用)。答案here解释了如何检查页面的 SSL 状态。

但是,您可能想了解 SSL 状态何时更改。你会 use a progress listener为了那个原因。将调用方法 onSecurityChange() 进行所有相关更改,您需要检查 aState 参数(只有在 aState & Components.interfaces 时连接才是安全的.nsIWebProgress.STATE_IS_SECURE 给你一个非零值)。

关于security - 如何判断网站是否使用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10733419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com