【问题标题】:App Transport Security, exception domain issue应用程序传输安全,异常域问题
【发布时间】:2016-07-13 22:56:16
【问题描述】:

在 iOS 应用中,我遇到了应用传输安全问题:

我在网上阅读了很多帖子,但由于某种原因,我在 Info.plist 中设置的内容似乎被忽略了。我尝试了几种可能性,这是最后一种:

<plist version="1.0">
<dict>
    ……..
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>mydomain.net</key>
            <dict>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
        </dict>
    </dict>
    ……..
</dict>
</plist>

但无论我在 Info.plist 中设置什么,我都会不断收到这条消息:

2016-03-25 13:21:17.234 MyApp[3587:1285514] 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.

我可能会错过什么?

【问题讨论】:

  • 确保您的项目中没有任何隐藏的 .plist 文件。您可以从项目导航器中右键单击您的项目,单击在finder中显示,看看是否还有其他plist文件。

标签: ios info.plist app-transport-security nsapptransportsecurity


【解决方案1】:

你不应该使用:

`<key>NSAppTransportSecurity</key>
  <dict>
      <key>Allow Arbitrary Loads</key>
     <true/>
 </dict>`

这允许所有个不安全的链接,除非您不关心信息的安全性。你这样做的方式应该是正确的,也许使用NSTemporaryThirdPartyExceptionAllowsInsecureHTTPLoads可能会对你有所帮助!

检查这个:App Transport Security

【讨论】:

  • 我同意你说的。实际上,这并不总是那么容易。例如,如果您的应用程序的目的是允许用户使用她/他选择的 URL 做某事(例如互联网浏览器),那么您没有太多选择。我遇到的另一种情况是使用startapp.com 制作横幅。
【解决方案2】:

明确定义您不想允许任意加载,那么您的例外将适用于该规则。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>mydomain.net</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

【讨论】:

    【解决方案3】:

    我希望它对你有用。

    <plist version="1.0">
    <dict>
    ……..
      <key>NSAppTransportSecurity</key>
      <dict>
          <key>Allow Arbitrary Loads</key>
         <true/>
     </dict>
     ……..
      </dict>
      </plist>
    

    【讨论】:

    • 不幸的是,我已经尝试过了,但没有成功。最重要的是,不建议使用此解决方案,因为它不安全。无论如何感谢您的回答。
    猜你喜欢
    • 2015-11-29
    • 2016-01-04
    • 2016-01-05
    • 2016-04-29
    • 2016-01-28
    • 2016-02-28
    • 2016-01-25
    • 1970-01-01
    相关资源
    最近更新 更多