3

在iOS應用程序,我有與App交通運輸安全隱患:應用傳輸安全性,異常域問題

我看了在網上很多帖子,但由於某些原因,我在我的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. 

什麼可能我會丟失?

+0

請確保您的項目中沒有任何隱藏的.plist文件。您可以從項目導航器中右鍵單擊您的項目,單擊查找器中的show並查看是否有任何其他plist文件。 –

回答

-1

我希望它能爲你工作。

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

不幸的是,我已經嘗試過,並沒有奏效。 最重要的是,這種解決方案不建議,因爲不安全。 無論如何感謝您的答案。 – Michel

1

你不應該使用:

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

這使得ALL不安全的鏈接,除非你不關心的信息安全。你做的方式應該是正確的,也許使用NSTemporaryThirdPartyExceptionAllowsInsecureHTTPLoads可能對你有幫助!

檢查:App Transport Security

+0

我同意你的意見。實際上並不總是那麼容易。例如,如果您的應用的目的是允許用戶使用她/他選擇的URL(例如,像互聯網瀏覽器)做某些事情,那麼您沒有太多選擇。另一個案例是使用http://www.startapp.com/橫幅廣告。 – Michel

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>