【发布时间】:2019-04-08 21:55:43
【问题描述】:
我搜索并找到了许多链接,这些链接告诉使用 Plist 文件中的传输安全性阻止 HTTP 和某些特定域或允许特定域 比如Transport security has blocked a cleartext HTTP 和Application Transport Security。 我在我的 plist 中使用了以下内容
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
</dict>
我的应用程序使用 API 并在视图上显示数据,在我的应用程序中有一个页面,我在其中设置了服务器 url,例如 https://liveserver.com 和 http://localserver.com,但是当我设置 url http://localserver.com 时它仍然有效。而且它仍然适用于 true 价值。请给我建议如何阻止所有 HTTP url,并且应用程序仅适用于 HTTPS。
谢谢
【问题讨论】:
-
尝试删除密钥
NSAllowsArbitraryLoads。 -
@Aleem “用户可以设置像google.com 这样的域”是什么意思?这些链接是否在您的应用中并在浏览器或 web 视图中打开?
-
Google.com 只是一个例子。实际上,我的应用程序正在使用我们的本地服务器的 API,例如 http:/localServer.com 和一个实时服务器,例如 https:/liveServer.com
-
您如何访问相关域? SFSafariViewController? UIWeb 视图? NSURLConnection?
-
@Aleem 您需要提供有关您如何尝试连接到上述域的详细信息。 ATS 仅适用于某些场景。例如,如果您在 SFSafariViewController 中执行此操作,则您的 ATS 设置将不适用,因为 SFSafariViewController 是与您的应用程序分开的沙盒。
标签: ios xcode app-transport-security