gpt4 book ai didi

ios - 2017年,关于ATS设置,我们应该如何处理没有HTTPS的局域网请求?

转载 作者:可可西里 更新时间:2023-11-01 17:06:17 25 4
gpt4 key购买 nike

据我所知,2017 年 Apple 将拒绝所有在 Info.plist 中启用了 Allow Arbitrary Loads 的应用:

ATS settings

另请参阅:https://nabla-c0d3.github.io/blog/2016/08/14/ats-enforced-2017/

我们的应用程序正在控制用户家中的智能设备。这就是说,我们不是在与互联网交谈,而只是通过 HTTP 与 LAN 设备交谈。所有这些设备都不支持 HTTPS。我们应该如何配置这些应用程序传输安全设置而不让我们的应用程序被 Apple 拒绝?

编辑: Apple has delayed the SSL/ATS requirement to after 1/1/2017

最佳答案

澄清一下,Apple 将拒绝使用 ATS 异常(exception)的应用,以禁用 2016 年 12 月 31 日之后提交的应用的 ATS,除非有正当理由说明应用必须使用该异常(exception)。我们只是不知道 Apple 会接受什么理由。

很遗憾,在 iOS 9 中本地网络资源被 ATS 阻塞的问题没有很好的解决方案。据我所知,您有 2 个选择。

  1. 继续支持iOS 9,并添加全局ATS异常(exception),希望在2016年12月31日之后提交应用时,Apple会接受你支持iOS 9和访问本地网络的理由禁用 ATS 的资源。在 2017 年 1 月 1 日之前,很难知道 Apple 认为哪些类型的理由是合理的,但 Apple 明确表示将有一个流程来证明应用程序使用 ATS 异常(exception)。如果你走这条路,我会尝试在 1 月初对应用程序进行小更新,ATS 异常仍然存在,看看你是否可以完成这个过程。

  2. 放弃对 iOS 9 的支持,删除全面的 ATS 异常 (NSAllowArbitratyLoads),并使用 NSAllowsLocalNetworking 异常来关闭仅在本地网络上的 ATS 保护交通。这在 iOS9 上不受支持,因此您需要让新应用程序仅限 iOS 10。基本上,仅将 NSAllowsLocalNetworking plist 条目设置为 true 的 iOS9 设备上的本地流量将被 ATS 阻止。根据您的客户群,这可能是可行的。 iOS 9 用户仍然可以在您的 iOS 10 发布之前获得该应用程序的最新版本。

编辑:

所以看起来 Apple 在 iOS 10 中使用了一些自定义行为来让 iOS 10 上的应用程序更加安全,同时允许在 iOS 9 中向后兼容。如果你同时包含 NSAllowsArbitraryLoadsNSAllowsLocalNetworking 在您的 info.plist 中,iOS9 将只识别 NSAllowsArbitraryLoads 条目,并允许所有流量(从安全角度来看不是很好,但适用于您的本地网络流量) .在 iOS 10 中,使用 NSAllowsLocalNetworking 将导致 iOS 10 忽略 NSAllowsArbitraryLoads 条目,这意味着您的应用将确保对非本地连接强制执行 ATS,但允许要通过的本地连接。显然,您应该在 iOS 9 和 10 上测试您的应用程序,但如果您仍然需要支持 iOS 9,从安全的角度来看,这将是理想的选择。重要的是要注意,您仍然需要向 Apple 提供理由,但考虑到Apple 将此功能用于处理这种确切情况,我愿意打赌向后兼容性将是一个可接受的理由。

来自 Apple 的 documentation :

In iOS 10 and later, and macOS 10.12 and later, the value of this key is ignored if any of the following keys are present in your app’s Info.plist file:

NSAllowsArbitraryLoadsForMedia
NSAllowsArbitraryLoadsInWebContent
NSAllowsLocalNetworking

关于ios - 2017年,关于ATS设置,我们应该如何处理没有HTTPS的局域网请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41101931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com