我已经要求检测是否在互联网或内部网上提供网页,即假设网址为https://accessibleanyway.com,是手机连接到工作wifi还是其他类似他们的网站家庭wifi或电话网络?
有什么不同的方法可以做到这一点?
(1)使用WebRTC获取本地IP地址。没有得到广泛支持
(2)尝试使用jsonp / cors / iframe
访问本地网页2的问题是网页是https,本地资源可能是http,你不能在IE中做。如果我使用本地资源https,那么它是通过自我证书,这意味着在手机上安装CA(你能再购买内联网的证书吗?)
有什么建议吗?
答案 0 :(得分:0)
(2)的问题是同一页面试图使用http和https,即使使用iframe也会遇到问题。
您可以做的是从http加载页面开始,使用iframe访问本地资源,只有在Intranet上才能访问该资源,jsonp可以正常工作。一旦工作或失败,请使用查询字符串中的一些标记重定向到您的起始页面,以表明您是否在Intranet上
如果你在同一个网站(最初可见的身份验证cookie),NB从http跳转到https可能会有一些安全问题,但我认为如果你要去另一个那样会没问题显然,在令牌周围需要一些安全性,否则用户可能只是生成他们自己的,但这取决于个别设置。它显然必须由服务器调用生成,否则有人可能只是读取客户端代码。
NB我认为IP地址方法永远不会起作用,因为在你去那里之前你无法知道公司内部网设置是什么样的,所以它不是一般答案