【问题标题】:Included a HTTP (not HTTPS) URL link in my iOS App, do I need to disable App Transport Security?在我的 iOS 应用程序中包含 HTTP(不是 HTTPS)URL 链接,我是否需要禁用应用程序传输安全性?
【发布时间】:2019-03-07 15:06:15
【问题描述】:

我的 iOS 应用程序包含一个隐私政策 URL 链接,当用户点击它时,它将在 Safari 中打开我网站的 HTTP(不是 HTTPS)页面,所以我需要为此禁用应用程序传输安全性吗?

<key>NSAppTransportSecurity</key>
<dict>
    <!--Include to allow all connections (DANGER)-->
    <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

【问题讨论】:

    标签: ios app-transport-security nsapptransportsecurity


    【解决方案1】:

    ,您不必禁用应用程序传输安全以使用UIApplication.open(_:) 打开 HTTP URL,也不必在SFSafariViewController 中打开它。

    但是,如果您计划在 WKWebView 中加载非安全页面,您确实需要启用允许任意加载

    【讨论】:

    • 为什么 WKWebView 需要它,而不是 SFSafariViewController? @Tamás Sengel
    • 可能是因为 SFSafariViewController 默认比 WKWebView 更安全。引用 Apple 的话:“用户的活动和与 SFSafariViewController 的交互对您的应用程序不可见,它无法访问自动填充数据、浏览历史记录或网站数据。”
    • 官方我认为是因为SFSafarViewController是一个独立于你的app的进程,所以你app中配置的任何ATS异常都不适用于Safari进程。所以它本质上就像在 Safari 中加载非安全页面,它无法访问您的沙盒应用程序。
    猜你喜欢
    • 2017-02-06
    • 1970-01-01
    • 2016-12-11
    • 2016-11-25
    • 1970-01-01
    • 2018-05-03
    • 2015-12-19
    • 2016-03-05
    • 2016-01-01
    相关资源
    最近更新 更多