gpt4 book ai didi

ios - 如何确保 API 请求来 self 们的移动(ios/android)应用程序?

转载 作者:IT王子 更新时间:2023-10-29 08:11:41 26 4
gpt4 key购买 nike

我们正在构建一个移动应用程序,并希望实现某种身份验证以确保 API 只能由我们的应用程序访问。该应用程序的用户是匿名的,没有登录,但我确实通过设备 ID 来识别他们以维护设置等。

最简单的方法似乎是生成一个 Guid/API key ,我通过 SSL 发送每个请求。

让我担心的是,有很多空闲时间的恶意人员可能会下载该应用程序,反编译它以获取 API key 和 JSON 请求,然后尽可能地破坏我的数据库。

SSL、API key 、设备 ID 和尽可能限制调用的 API 是否足够好?我应该采取不同的方法吗?我的恐惧是有根据还是毫无根据?

最佳答案

请勿在应用中嵌入单个 API key 。关于恶意用户的影响,您的担忧是有道理的。此外,您当前的设置中存在严重漏洞,恶意 API 用户可能会通过提供伪造的 UDID 来更改其他用户的首选项。

相反,创建一个“注册”服务,该服务在设备上首次启动应用程序时调用,该服务会根据 UDID 生成并返回 GUID。将 GUID 存储在您的设备本地用户首选项和服务器上。跟踪 GUID 并将其与服务器上的每个请求的 UDID 匹配。

确保所有这些都通过 SSL 进行。

通过这种方法,没有嵌入式主 API key 被滥用。此外,您可以通过标记 GUID/UDID 组合将滥用用户列入黑名单,还可以消除现有已注册设备的潜在伪装问题。但是,您无法阻止尚未注册您的服务的设备的恶意注册。这始终是使用设备 ID 作为用户标识符的潜在危险。

有更好、更成熟的身份验证机制采用更好的方法,即。您应该查看的 OAuth、JSessionID 等。

另外,以后您不应该使用 UDID 来识别您的用户,因为对它的访问已被弃用。您可以通过在安装应用程序时在设备上创建自定义设备 GUID 并将其保存在本地用户首选项中来为您的目的模仿 UDID。

关于ios - 如何确保 API 请求来 self 们的移动(ios/android)应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9823391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com