强制执行 iOS 应用程序传输安全性
Posted
技术标签:
【中文标题】强制执行 iOS 应用程序传输安全性【英文标题】:Enforcing iOS App transport security 【发布时间】:2017-12-29 12:20:53 【问题描述】:从 ios 9 及更高版本开始,Apple 已强制用户出于安全目的向特定主机发出 HTTPS 请求,或者如果必须发出 HTTP 请求,Apple 希望用户在 plist 中提供相同的例外情况。
类似:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>api.themoviedb.org</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
但是,如果我从 plist 中删除此代码,并在设备 (iOS 11) 上运行我的代码,它仍然会正确加载 HTTP 请求,而不会发出任何警告。
问题是,如果 Apple 强制使用 HTTPS,为什么我能够在没有任何警告的情况下进行 HTTP 调用?
【问题讨论】:
【参考方案1】:根据@KrauseFX 最近的推特对话,似乎没有 https://twitter.com/KrauseFx/status/942741438890233856
我想分享
【讨论】:
好吧,看起来他们强制执行了这个,有些东西坏了,然后他们决定恢复执行规则(根据twitter.com/Javi/status/942805306781810688)。谢谢。以上是关于强制执行 iOS 应用程序传输安全性的主要内容,如果未能解决你的问题,请参考以下文章