在嵌入式 Gecko 浏览器中阻止 https url

发布于 2024-07-04 17:20:03 字数 330 浏览 12 评论 0原文

我有一个嵌入了 gecko 浏览器的应用程序。 当我尝试访问任何 https url 时,应用程序崩溃,因为此时 nss 尚未正确初始化。 崩溃发生在 PK11_TokenExists() 中。 我想阻止我的浏览器呈现 https 网站。 如果用户单击 https 链接,我可以在 nsIURIContentListener 的 OnStartURI() 中阻止该加载。但是,如果用户输入 orkut.com,我不会在 OnStartURI() 中知道它是 http url 还是 https url(即是否是是否使用 SSL)。 我想知道在这种情况下如何阻止 https 网址?

谢谢 杰布斯普72

I have an application in which a gecko browser is embedded. The application is crashing when I try to access any https url's because nss is not properly initialised at this point. The crash is in PK11_TokenExists(). I want to block my browser from rendering https sites. If a user clicks on a https link I can block that load in OnStartURI() of nsIURIContentListener.But if the user types in say orkut.com I wont know in OnStartURI() whether its a http url or a https one(i.e. whether it will use SSL or not). I wanted to know how I can block https url's in such cases?

Thanks
jbsp72

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽袖吟 2024-07-11 17:20:03

我首先尝试找出应用程序在 HTTPS/SSL 连接上崩溃的原因。 我认为解决崩溃比试图避免它更好。

I would first try to figure out why your application is crashing on HTTPS/SSL connections. I think it would be better to fix the crash than trying to avoid it.

澉约 2024-07-11 17:20:03

您可以通过以下方式实现:

实现 nsIWebProgressListener 接口的 OnStateChange 方法。

检查参数aStateFlags:如果此参数包含标志STATE_IS_DOCUMENTSTATE_START,则正在导航到新位置。

要查找 URL,请使用参数 aRequest。 它具有 nsIRequest 类型,但将其转换为 nsIChannel 类型。 然后读取 URI 属性。 这包含正在导航到的 URL。

如果 URI 以“https”开头,请通过调用参数 aRequestcancel 方法并传递 NS_BINDING_ABORTED 作为参数来中止导航。

You can implement this the following way:

Implement the OnStateChange method of the nsIWebProgressListener interface.

Check the parameter aStateFlags: If this parameter contains the flags STATE_IS_DOCUMENT and STATE_START, then a new location is being navigated to.

To find out the URL, use the parameter aRequest. It has type nsIRequest, but cast it to type nsIChannel. Then read the URI property. This contains the URL being navigated to.

In case the URI starts with "https", abort the navigation by calling the cancel method of the parameter aRequest, passing NS_BINDING_ABORTED as a parameter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文