首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制xulrunner网络访问

限制xulrunner网络访问
EN

Stack Overflow用户
提问于 2011-10-02 00:10:19
回答 1查看 318关注 0票数 0

我有一个使用浏览器组件显示HTML内容的xulrunner应用程序。出于安全原因,我想限制浏览器只能访问某个url掩码。

我想把所有的网络都限制在intranet上,比如"*.company.com“。但不仅仅是页面导航,XHR,CSS,脚本和所有的网络。

有谁知道如何实现这一点吗?有没有我可以使用的XPCOM组件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-03 18:34:22

最简单的方法是通过proxy auto-configuration file (假设您的应用程序实际上不需要使用代理)。因此,您应该将network.proxy.type首选项设置为2(使用PAC文件),并将network.proxy.autoconfig_url设置为chrome://.../proxy.js。与proxy.js类似的东西是:

代码语言:javascript
复制
function FindProxyForURL(url, host)
{
    if (shExpMatch(host, "*.company.com"))
    {
        return "DIRECT";
    }
    return "SOCKS localhost:19191";
}

因此,任何对*.company.com的请求都不会使用代理,而对其他主机的请求将被定向到一个本地主机端口,该端口希望是关闭的-因此这些请求将不会成功。这当然是一种技巧,但它足够简单,并且在大多数情况下都能很好地工作。

正确的(但更复杂的)方法是使用content policies。您需要在XPCOM组件中实现nsIContentPolicy,并在content-policy类别中注册该组件。这将确保每个要加载的URL都会调用组件的shouldLoad()方法--您可以返回Ci.nsIContentPolicy.REJECT_REQUEST来阻止加载。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7621382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档