【发布时间】:2019-01-04 09:46:08
【问题描述】:
我正在使用 react-native 开发 Android 应用,并且该应用与我正在为该应用开发的 API 进行通信。该 API 是使用 Laravel 和 Laravel Passport 构建的。
我知道 Android 应用程序可以反编译,因此可以轻松找到存储在应用程序中的任何密钥。这就是我目前采用这种方法的原因。
您只能在注册期间获得访问代码。该应用程序使用匿名帐户,因此如果您丢失了访问令牌,那就太糟糕了。该应用程序向 /api/register 发出 API 请求,该请求创建帐户并返回访问令牌。该应用程序将存储令牌并使用它来发出进一步的 API 请求。
问题在于注册路由不使用任何客户端机密或访问令牌。自动化路由请求并创建机器人大军非常容易。我可能会像许多 API 提供商那样限制请求的数量,但这并不能解决问题。
我听说过有效载荷散列,但这通常需要应用程序和 api 中的盐。同样,这是不安全的,如果有人知道垃圾邮件请求的盐分,就不能自己散列吗?也许我误解了有效载荷哈希的工作原理。
希望有人可以提供帮助。
【问题讨论】:
-
什么会发布到注册路径以创建帐户?
-
@J.Doe 是的,这将有助于处理相当数量的垃圾邮件,但对机器人攻击没有多大作用。
-
@DigitalDrifter 什么都没有。该路由会创建一个 guid 作为您的帐户名称。
标签: javascript php android laravel react-native