问题标签 [app-transport-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 我们如何在一个应用程序中同时使用 HTTP 和 HTTPS ATS(应用程序传输安全)?
Apple 宣布了适用于 iOS 9 和 OSX 10.11 El Capitan 的“App Transport Security”。“<a href="https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html" rel="nofollow noreferrer">iOS 中的新增功能”iOS 指南9 解释:
应用传输安全 (ATS) 允许应用将声明添加到其 Info.plist 文件中,该文件指定需要与其进行安全通信的域。ATS 可防止意外泄露,提供安全的默认行为,并且易于采用。无论您是创建新应用还是更新现有应用,都应尽快采用 ATS。
如果我们想删除或禁用 ATS 意味着我们只想使用 HTTP,那么我们将在.plist
文件中输入如下:
如果我们的域在 HTTPS 中,我们将在.plist
文件中输入如下:
问题是:
如果我的应用程序仅在 HTTP 之类的 Web 服务上运行。我想使用 HTTPS 域,如谷歌地图或 Facebook 登录等。或者像一个 web 服务这样的东西是用于 HTTPS 域的。
那么我们如何将.plist
文件中的两者结合起来呢?
spotify - Spotify iOS SDK 和应用传输安全 ios9
我在我的应用程序中使用了 spotify sdk。在 ios 8 中一切正常,但现在当我尝试连接时出现错误
我在 .plist 中添加了这些行
但这无济于事。那么,有人可以帮我以正确的方式配置 .plist 吗?谢谢!
ios - 来自 cdnjs.cloudflare.com 的文件在 iOS9 的 UIWebView 中被阻止
我正在使用 aUIWebView
在我的 iOS 应用程序中加载网站。在更新到 iOS 9 并相应地构建应用程序后,网站仍然可以从我的服务器加载正常,但无法从 cdnjs 加载引导程序的 css 和 js 文件(例如https://cdnjs.cloudflare.com/ajax/libs/twitter-引导/3.3.5/css/bootstrap.min.css)。
我认为这与新的 ATS 有关,但到目前为止,我无法弄清楚为什么它无法从 cdnjs 加载文件(它们支持 TLS 1.2 和大量现代密码)而且我没有可用于测试的带有 nscurl 的 El Capitan cdnjs(请参阅https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/)。
ios - NSAppTransportSecurity 选项未在 Xcode plist 编辑器中列出
我正在尝试将 App Transport Security 密钥添加到我的 Info.plist,如以下 Apple 技术说明https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/# //apple_ref/doc/uid/TP40016240-CH1-SW3(排除部分)
当我编辑 Info.plist 文件时,我做了以下事情:
- 单击“信息属性列表”旁边的“+”以创建新的顶级密钥
- 单击下拉列表以选择“NSAppTransportSecurity”
但是 Xcode 没有在下拉列表中列出该选项(下面的屏幕截图)。
我是否需要在文本编辑器中打开 Info.plist 文件并手动编辑它?!还是我错过了一些(可能很明显!)步骤?
我正在使用 Xcode 7.0.1
谢谢
air - air 19 & iOs 9 应用传输安全
我已经下载了新的 air 19 sdk 以兼容 iOs9。
我在互联网上发现我需要在 info.plist 中添加以下代码:
但是,我对此一无所知,info.plist,我的项目中的文件。
大家现在可以在哪里添加此代码?
我在网上找到了这个:
为 iOS 9(测试版)准备 Facebook 应用程序 - 文档 - 面向开发人员的 Facebook
https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/ _
但对我没有帮助。
谢谢
ios - 引发应用程序传输安全异常?
在 iOS 9 下,我在这里使用了公认的答案:Transport security has blocked a cleartext HTTP
我将条目添加到我的 Info.plist 文件中NSAppTransportSecurity
。我的应用程序似乎运行正常,并且执行了我所考虑的所有请求。我仍然收到错误:
App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时例外。
我的问题是我无法在我的应用程序代码库中找到它来自哪里,并且我不想允许所有域(我在接受的答案中引用了惰性选项)。有没有办法为其引发异常,以便我可以找到警告的来源?
ios - iOS 应用程序传输安全问题
TL; 博士:
我有一个 iOS 应用程序连接到不符合新 ATS 功能最低要求的 Web 服务。我已经修改了我Info.plist
的允许异常,所以我的应用程序仍然可以连接到网络服务。(iOS 9 上的 NSURLSession/NSURLConnection HTTP 加载失败)这在开发中可以正常工作,但是,我刚刚推送到商店的更新仍然无法访问 web 服务。我不知道断开连接发生在哪里或如何解决此问题。
===
首先,这一切都发生在模拟器中,当我在 xcode 中直接部署到我的 ipad 时,行为相同:
我正在尝试在我的 iOS 应用程序中通过 https 连接到 Web 服务。我现在每次尝试连接到网络服务时都会收到此错误:
据我了解,这是因为新的 ATS 功能不允许连接。我通过对我的文件应用修复(NSURLSession/NSURLConnection HTTP load failed on iOS 9)确认了这一点Info.plist
:
一旦我把它放进去,它就会毫无问题地连接到网络服务。
显然,虽然我的服务器满足 TLS 1.2 要求和密码要求,但它不满足签名要求(https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html #//apple_ref/doc/uid/TP40009251-SW35 )
但是,我已经对我的应用进行了更新并推送到应用商店,但我的应用的商店版本无法连接到网络服务。相同的代码在我的本地机器上构建良好,并在从 xcode 部署到我的设备上运行,但商店中的版本似乎忽略了.plist
修复。我怎样才能解决这个问题?这对我来说毫无意义。
ios - 谷歌 blob 图像的 NSAppTransportSecurity 异常
我们构建了一个 iOS 应用程序,并在 iOS 应用程序中使用谷歌的 blobstore提供图像。我们得到以域开头的图片网址,例如:
iOS默认阻止 http 请求。
因为我们无法控制这个 URL,所以我需要为我的 iOS 应用程序配置一个 HTTP 异常。我想负责并包含一个尽可能具体的例外。
- 我可以相信这
*.gghpt.com
是该服务的稳定域吗?
ios - 应用程序传输安全不适用于 .ninja 域名 (Swift2 / XCode7)
使用 XCode7/Swift2 并尝试加载网页时,我一直被 App Transport Security (ATS) 阻止——原因似乎是 ATS 不适用于 .ninja 网络扩展。
意思是,您可以添加一个例外,domains.com
您可以在 web 视图中访问该站点。但是,您不能为 添加例外domains.ninja
,尽管这是一个有效的网址。我已经对此进行了全面测试。
现在,我能够从 somewebsite.ninja 加载内容的唯一方法是,如果我在 Info.plist 文件中完全关闭 ATS(NSAppTransportSecurity > NSAllowsArbitraryLoads > YES),但我知道这不是正确的做法。我还担心,当我在完成后将我的应用程序提交到应用程序商店时,这可能会导致问题。
有谁知道如何为 .ninja 域添加 ATS 例外?
以上将允许您在 web 视图中加载 domain.com 而不是 domain.ninja,即使键/选项与域名扩展名完全相同。