Apple 宣布推出适用于 iOS 9 和 OSX 10.11 El Capitan 的“应用程序传输安全”。这 ”iOS 的新功能 https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.htmliOS 9 指南解释道:
应用程序传输安全 (ATS) 允许应用程序向其添加声明
Info.plist 文件,指定需要保护的域
沟通。 ATS 可防止意外泄露,提供安全保障
默认行为,并且易于采用。您应该尽快采用 ATS
尽可能,无论您是在创建新应用程序还是
更新现有的。
如果我们想要删除或禁用 ATS 意味着我们只想使用 HTTP,那么我们将在.plist
文件如下:
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
如果我们的域名位于 HTTPS 中,我们将进入.plist
文件如下:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourserver.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
问题是:
如果我的应用程序仅在 HTTP 等 Web 服务上运行。我想使用 HTTPS 域,例如谷歌地图或 Facebook 登录等。或者任何类似 Web 服务的东西都适用于 HTTPS 域。
Then 我们如何将两者结合起来.plist
file?
如果你的应用程序(例如第三方网络浏览器)需要加载任意内容,Apple 提供了一种完全禁用 ATS 的方法,但我怀疑您谨慎使用此功能是明智的:
禁用ATS https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/index.html完全。只需将以下内容包含在您的信息表文件然后就可以使用HTTP
and HTTPS
在一个应用程序中
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)