App Transport Security,异常域问题

时间:2016-03-26 06:57:33

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

在iOS应用中,我遇到了App Transport Security的麻烦:

我在网上看过很多帖子,但由于某些原因,我在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.

我能错过什么?

3 个答案:

答案 0 :(得分:1)

你不应该使用:

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

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

请检查:App Transport Security

答案 1 :(得分:1)

明确定义您不希望允许任意载入,然后您的例外将适用于该规则。

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

答案 2 :(得分:-1)

我希望它对你有用。

int(''.join(c for c in x if c.isdigit()))