- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
由于 Apple 的 iOS9 将 ssl 请求限制到任何类型的服务器的新安全机会,我遇到了麻烦。
实际上,我想使用默认值,不允许任何类型的连接NSAllowsArbitraryLoads: false
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
</dict>
当然有些连接是有意的,我从自己的服务器以及第三方服务器检索数据。
您现在可以嗅探由第三方工具生成的应用流量,或者您可以使用记录所有网络流量的方式,引用此处: How can I figure out which URL is being blocked by App Transport Security?
在此日志中很容易追踪所有发生的错误(查找错误代码并不难)。通过这种方式,由于负载限制,我可以很容易地看到正在建立和可能失败的连接(当然,优秀的软件工程师心知肚明;))
尽管来自 Google Analytics,但任何类型的第三方跟踪器或自己的网络设置都运行良好。起初我下载了最后的示例代码并查看了它们,当然你不能指望一个库已经支持最新的 beta 系统,不过,我试了一下。一旦 NSAllowsArbitraryLoads 设置为 false/NO,它就会失败
即使对第三方的限制尽可能少,我也无法让它运行:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>ssl.google-analytics.com</key>
<dict>
<key>NSRequiresCertificateTransparency</key>
<true/>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
还尝试了 google-analytics.com 并包含子域 NSIncludesSubdomains:true。而且,当浏览器中的简单网站调用“https://google-analytics.com”重定向到“https://www.google.com/analytics/”时,我还尝试允许 google.com 作为额外的异常(exception)域,但也失败了。
甚至查看了支持的 ssl-ciphers,我认为它们在这里没有问题:
nmap --script ssl-enum-ciphers -p 443 ssl.google-analytics.com
| TLSv1.2:
| ciphers:
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 256) - C
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (dh 256) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (dh 256) - A
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (dh 256) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (dh 256) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (dh 256) - A
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (dh 256) - A
| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (dh 256) - A
| TLS_ECDHE_RSA_WITH_RC4_128_SHA (dh 256) - A
| TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
| TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - A
| TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - A
因此,对于以下请求,谷歌分析跟踪仍然失败: https://ssl.google-analytics.com/collect?[....]
有没有人提出解决方案或者发现我的方法存在某种错误?
最佳答案
其实上面的配置有点错误,我找到了一个可行的方法。
-- 短篇小说开始--
基本上,上面的做法大部分是正确的,但是当我看到Mac OS 10.10和OS 10.11建立的网络连接时,我又来检查配置
openssl s_client -connect ssl.google-analytics.com:443 -status
Mac OS 10.10 使用了 TLSv1.2,而 Mac OS 10.11 出于某种原因使用了 TLSv1.0
-- 短篇小说结尾--
因此,在重新考虑属性后,我删除了证书透明度 NSRequiresCertificateTransparency
,因为默认值也设置为 false 而不是 true。以下配置现在适用于我:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>ssl.google-analytics.com</key>
<dict>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
补充说明:尽管谷歌使用了这个“实验标准”(证书透明度):https://en.wikipedia.org/wiki/Certificate_Transparency它似乎没有在谷歌分析中使用它:-)
关于iOS9 GoogleAnalytics 和 NSAppTransportSecurity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31579507/
我正在尝试在 Ionic 上使用 Google Analytics 插件,文档代码在我使用时不适用: constructor(private ga: GoogleAnalytics) 编辑说“ts:找
我使用 Google 开发者指南的示例为我的 Android 应用创建了一个事件,以便在我的 Google Analytics 帐户中查看它: // Get tracker. Tracker t =
我创建了一个自定义维度和指标,并试图用来自 Android 应用的数据填充它。我使用自定义维度(在用户范围内声明的用户 ID)和自定义指标(在命中范围级别的错误尝试)创建了一个新的表仪表板,但仪表板显
我正在为 Google Analytics 使用 cocoa-pod。 Pod 文件 source 'https://github.com/CocoaPods/Specs.git' target 'M
在 Application 类中,在创建方法中我调用 GoogleAnalytics.getInstance(this) 并且应用程序只是卡住...在任何设备上在 google play servic
我正在尝试在我的应用程序中实现 Google Analytics v4,但是在我使用 gradle 导入它之后,使用: compile 'com.google.android.gms:play-ser
我有个问题。从 SDK 移动发送到分析的数据转到错误的 View 。我希望他们转到类型 View “APP”,但他们转到网站 View 。我尝试设置“APP”数据源,但它不起作用。屏幕 View 正确
我正在准备 mvc4 网站,我想在其中实现特定“区域”的图表。让我详细描述一下,网站上可以有很多“区域”,比如 abc、xyz。现在在一个区域可以有多个用户。 我只想维护特定“区域”的图表,例如访问“
我在 Android 应用程序上使用 GA,但这个问题可能与所有平台相关。 我以通常的方式跟踪事件: t.send(new HitBuilders.EventBuilder() .setCategor
此问题适用于新版本的 Google Analytics (GA)。所以这是针对 v2,而不是 v1。我刚刚发布了我的应用程序 v1.01,一切都很顺利。我正在尝试为 v1.1 实现一些我现在不知道如何
我明白了: this.$resource('api/elements/item').get().then(function (result) { // do something
我遇到了和这个问题一样的问题: enableAutoActivityTracking not automatically tracking activities? 问题是自动跟踪无法使用 Google
我将 collective.googleanalytics 用于 Plone 网站,并尝试创建一个自定义报告,其中包含标签列表和每个标签的 totalEvents。 我有:表行表达式:python:[
我正在使用 collective.googleanalytics ( https://pypi.python.org/pypi/collective.googleanalytics ) 将一些 GA
我不太明白使用之间的区别 EasyTracker easyTracker = EasyTracker.getInstance(); 和 Tracker tracker = GoogleAnalytic
我有一个 Android 应用程序,我向其中添加了 Google Analytics Tracker,它可以正常工作(我可以在 Analytics 面板中看到 View )。 问题是有时应用程序开始加
由于 Apple 的 iOS9 将 ssl 请求限制到任何类型的服务器的新安全机会,我遇到了麻烦。 参见引用资料:https://developer.apple.com/library/content
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 7 年前。 Improv
如果用户代理为 UserAgentXUI765DQZ,如何禁用 GoogleAnalytics Javascript 跟踪代码? 这是好事还是坏事: (function(i,s,o,g,r,a,
我从使用 Google Play 服务 6.1 切换到 6.5。 GoogleAnalytics 在以下方面陷入僵局: getInstance(context); 我发现了这个问题:Android G
我是一名优秀的程序员,十分优秀!