Mon*_*nja 8 api rest cors django-rest-framework django-cors-headers
我正在构建一个供 iOS/Android 应用程序使用的 API。该应用程序使用 JSON Web Token 对用户进行身份验证。当我尝试从本机应用程序与 API 进行交互时,我遇到了 CORS 问题。因此,我为所有来源添加了 CORS 标头(仅适用于以 开头的 url /api/)。现在工作正常,但我想知道我所做的是否不是一个潜在的漏洞?
我应该允许所有来源吗?如果本机应用程序要请求 API,有什么方法可以提前知道 Origin 主机?
我很困惑。在此先感谢您的帮助。
如果用户拥有令牌,则不需要 CORS 保护。该令牌与每次将令牌发送到服务器时使用用户名和密码登录的用户完全相同。CORS 所防御的威胁模型是恶意域/站点(而不是您自己的站点),使用您域的 cookie(包括会话 ID)向您的服务器发出 AJAX 请求。
如果恶意域或实体拥有您的用户令牌,那么您的用户身份就会受到 PWN 攻击,因此您尝试执行哪种 CORS 保护并不重要。恶意域具有相当于您的用户的用户名和密码。他们完全受到损害,直到您使他们的令牌失效。
因此,当恶意实体完全破坏了用户的帐户时,不必担心请求来自何处 (CORS)。只要像保护女王的珠宝一样保护令牌即可。通过 SSL 发送并安全存储。如果恶意实体获得了诺克斯堡的密钥,那么您将遇到比请求来自何处更大的问题。
| 归档时间: |
|
| 查看次数: |
7666 次 |
| 最近记录: |