首页 文章

IOS 9 App Transport Security阻止了明文HTTP问题

提问于
浏览
4

我在Xcode 7,IOS 9中测试我的应用程序并得到以下错误:

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

所以我在Info.plist文件中做了一些更改,如下所示,应用程序现在可以在所有IOS版本中正常工作:

<key>NSAppTransportSecurity</key><dict>
<key>NSExceptionDomains</key><dict><key>myserver.com</key><dict>
<key>NSIncludesSubdomains</key><false/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/></dict> </dict></dict>

所以我怀疑这是否仍然是一个永久的修复,或者我是否应该在我的代码中使用NSURLSession .

谢谢,阿宾

2 回答

  • 1

    将以下内容添加到Info.plist将禁用ATS

    <key>NSAppTransportSecurity</key>  
    <dict>  
        <key>NSAllowsArbitraryLoads</key><true/>  
    </dict>
    
  • 7

    NSURLSession也受App Transport Security的约束 . 您必须问自己的真正问题是您是否正在传输敏感信息 . 如果是,您应该使用https以便信息安全 .

    在这种情况下,与安全传输信息的最佳做法相比,App Transport Security基本上会警告您发送或接收的数据是通过不安全的路由进行的 . 然后由您根据自己对数据的了解做出决定 . 如果它正在下载公共的非个人信息,您可能只是在plist中进行例外处理并继续 . 如果你把人的出生日期或社会安全号码扔掉,可能不是......

相关问题