检测浏览器是否在Intranet上

时间:2016-05-21 20:01:09

标签: cross-domain intranet

我已经要求检测是否在互联网或内部网上提供网页,即假设网址为https://accessibleanyway.com,是手机连接到工作wifi还是其他类似他们的网站家庭wifi或电话网络?

有什么不同的方法可以做到这一点?

(1)使用WebRTC获取本地IP地址。没有得到广泛支持

(2)尝试使用jsonp / cors / iframe

访问本地网页

2的问题是网页是https,本地资源可能是http,你不能在IE中做。如果我使用本地资源https,那么它是通过自我证书,这意味着在手机上安装CA(你能再购买内联网的证书吗?)

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

(2)的问题是同一页面试图使用http和https,即使使用iframe也会遇到问题。

您可以做的是从http加载页面开始,使用iframe访问本地资源,只有在Intranet上才能访问该资源,jsonp可以正常工作。一旦工作或失败,请使用查询字符串中的一些标记重定向到您的起始页面,以表明您是否在Intranet上

如果你在同一个网站(最初可见的身份验证cookie),NB从http跳转到https可能会有一些安全问题,但我认为如果你要去另一个那样会没问题

显然,在令牌周围需要一些安全性,否则用户可能只是生成他们自己的,但这取决于个别设置。它显然必须由服务器调用生成,否则有人可能只是读取客户端代码。

NB我认为IP地址方法永远不会起作用,因为在你去那里之前你无法知道公司内部网设置是什么样的,所以它不是一般答案