【问题标题】: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 主机?

我很困惑。 提前感谢您的帮助。

【问题讨论】:

    标签: api rest cors django-rest-framework django-cors-headers


    【解决方案1】:

    如果用户拥有令牌,则不需要 CORS 保护。令牌与使用用户名和密码登录的用户每次每次 将令牌发送到服务器时完全相同。 CORS 所防御的威胁模型是恶意域/站点,而不是您自己的站点,它使用 您的 域的 cookie(包括会话 ID)向您的服务器发出 AJAX 请求。

    如果恶意域或实体拥有您的用户令牌,那么您的用户身份就是 PWN 的,您尝试执行哪种类型的 CORS 保护并不重要。恶意域具有您用户的用户名和密码的等效项。他们完全受到威胁,直到您使他们的令牌无效。

    因此,当恶意实体完全入侵用户帐户时,不必担心请求来自哪里 (CORS)。只需像保护女王的珠宝一样保护令牌。通过 SSL 发送并安全存储。如果恶意实体获得了 Fort Knox 的密钥,那么您将面临比请求来自何处更大的问题。

    【讨论】:

      【解决方案2】:

      不要害怕让 Cors 起源:* 因为如果您限制服务器访问,您可能会使您的业务处于糟糕的不稳定状态,因此请努力使用令牌。

      但以我的方式,我研究了网络,发现任何加密有时都会作为第三方工具进行解密,然后说哇。

      终于在 20 天内完成我自己的加密,而且每天都让解密变得更加困难。

      最终答案:了解加密和解密,然后按照您想要的方式制作您的功能,而每个人都不知道。

      如果您想要最高安全性,请不要在 SSL 或国际 HASH 算法上浪费时间。之后,您可以根据需要将加密与国际哈希算法混合使用。

      从简单的字符编码开始,然后更新和更新更多,一次你可以在你制作的每一个应用程序中使用。

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2015-05-23
        • 1970-01-01
        • 1970-01-01
        • 2019-07-09
        • 2020-05-08
        • 2019-12-09
        • 2020-08-13
        • 2015-08-17
        • 2021-02-11
        相关资源
        最近更新 更多