对 iOS 和 Android 应用使用啥 CORS 策略?
Posted
技术标签:
【中文标题】对 iOS 和 Android 应用使用啥 CORS 策略?【英文标题】:What CORS policy to use for iOS and Android apps?对 iOS 和 Android 应用使用什么 CORS 策略? 【发布时间】:2016-03-03 09:24:43 【问题描述】:我正在构建一个供 ios/android 应用使用的 API。
该应用程序使用 JSON Web Token 对用户进行身份验证。
我在尝试从本机应用程序与 API 对话时遇到了 CORS 问题。
所以我为 ALL Origins 添加了 CORS 标头(仅在以 /api/
开头的 url 上)。
它现在工作正常,但我想知道我所做的是否不是潜在的漏洞?
我应该允许所有来源吗?如果原生应用要请求 API,有没有办法提前知道 Origin 主机?
我很困惑。 提前感谢您的帮助。
【问题讨论】:
【参考方案1】:如果用户拥有令牌,则不需要 CORS 保护。令牌与使用用户名和密码登录的用户每次 和每次 将令牌发送到服务器时完全相同。 CORS 所防御的威胁模型是恶意域/站点,而不是您自己的站点,它使用 您的 域的 cookie(包括会话 ID)向您的服务器发出 AJAX 请求。
如果恶意域或实体拥有您的用户令牌,那么您的用户身份就是 PWN 的,您尝试执行哪种类型的 CORS 保护并不重要。恶意域具有您用户的用户名和密码的等效项。他们完全受到威胁,直到您使他们的令牌无效。
因此,当恶意实体完全入侵用户帐户时,不必担心请求来自哪里 (CORS)。只需像保护女王的珠宝一样保护令牌。通过 SSL 发送并安全存储。如果恶意实体获得了 Fort Knox 的密钥,那么您将面临比请求来自何处更大的问题。
【讨论】:
【参考方案2】:不要害怕让 Cors 起源:* 因为如果您限制服务器访问,您可能会使您的业务处于糟糕的不稳定状态,因此请努力使用令牌。
但以我的方式,我研究了网络,发现任何加密有时都会作为第三方工具进行解密,然后说哇。
终于在 20 天内完成我自己的加密,而且每天都让解密变得更加困难。
最终答案:了解加密和解密,然后按照您想要的方式制作您的功能,而每个人都不知道。
如果您想要最高安全性,请不要在 SSL 或国际 HASH 算法上浪费时间。之后,您可以根据需要将加密与国际哈希算法混合使用。
从简单的字符编码开始,然后更新和更新更多,一次你可以在你制作的每一个应用程序中使用。
希望对您有所帮助。
【讨论】:
以上是关于对 iOS 和 Android 应用使用啥 CORS 策略?的主要内容,如果未能解决你的问题,请参考以下文章
在 android 和 IOS 中运行 phoneGap 应用程序需要进行啥配置?
我们为 Cordova iOS/Android 移动应用程序使用啥 OAuth 2.0 重定向 URI?