我编写了一个使用AngularJS v1.6.4
和angular-google-maps 2.4.1 2017-01-05
的网络应用程序。
我已经使用 Microsoft Edge , Google Chrome , Mozilla Firefox 进行了测试,一切都很好。
但是,当尝试在 Tor浏览器中查看我的应用时,即使开发者控制台(F12)没有显示任何错误,也无法正确加载。
是否因为以下代码(通过 GeoIP 获取用户位置)与Tor策略不匹配?
XmlDocument doc = new XmlDocument();
doc.Load("http://www.freegeoip.net/xml");
XmlNodeList nodeLstLatitude = doc.GetElementsByTagName("Latitude");
visitor.ipLatitude = nodeLstLatitude[0].InnerText;
XmlNodeList nodeLstLongitude = doc.GetElementsByTagName("Longitude");
visitor.ipLongitude = nodeLstLongitude[0].InnerText;
答案 0 :(得分:1)
默认情况下禁用Javascript(或至少不启用完全),以防止浏览器指纹识别。
它确实允许一些javascript,因为大多数网站都需要它才能运行。
您可以通过在Tor的设置面板中启用所有类型的javascript内容来运行Angular应用程序,但是没有人会这样做。
由于Angular的核心包装器如$document
和$window
,以及通过$templateCache
和$localStorage
(安装时)使用本地存储,它可能永远不会运行在Tor的默认设置上。
浏览器或设备指纹识别用于通过收集设备分辨率,浏览器版本等特定信息来创建访问者的个人资料。
如果您在Chrome控制台中输入navigator
或window
,则可以自行查看,这只是Javascript可以跟踪的一小部分内容。
这意味着,您可以识别用户的返回访问,即使您已注销,清除缓存和Cookie,每次访问时切换IP(Tor)等。这不是您在使用Tor时所需的。
有关详细信息,请参阅Device Finterprinting的wiki条目,或关于此主题的in-depth paper。
答案 1 :(得分:0)
Tor浏览器并非旨在开发复杂的角度应用程序。但是如果您的目标是tor浏览器,那么默认情况下会禁用javascript,如果您熟悉firefox,启用/禁用JS与firefox相同,因为Tor浏览器是基于FF构建的。 如果您只是查看设置,启用它是微不足道的。