如何防止机器人程序和垃圾邮件 API 请求?

2024-05-08

我正在使用react-native 开发一个Android 应用程序,该应用程序与我正在为该应用程序开发的API 进行通信。该 API 是使用 Laravel 和 Laravel Passport 构建的。

我知道 Android 应用程序可以被反编译,因此可以轻松找到应用程序中存储的任何密钥。这就是我目前的做法的原因。

您只能在注册时获得访问代码。该应用程序使用匿名帐户,因此如果您丢失了访问令牌,那就太糟糕了。该应用程序发出 API 请求/api/register它创建帐户并返回访问令牌。应用程序将存储令牌并使用它来发出进一步的 API 请求。

问题在于注册路由不使用任何客户端机密或访问令牌。自动化对路线的请求并创建机器人大军非常容易。我可能会像许多 API 提供商那样限制请求量,但这并不能阻止问题的发生。

我听说过有效负载哈希,但这通常需要应用程序和 api 中都有盐。再说一次,这并不安全,如果有人知道垃圾邮件请求的盐值,就不能自己对其进行哈希处理吗?也许我误解了有效负载哈希的工作原理。

希望有人可以提供帮助。


您可能需要使用某些东西来检测命中该路由的用户代理。这个包有很多有用的功能:詹西格斯/特工 https://github.com/jenssegers/agent/blob/master/README.md。例如,它提供爬虫检测:

$agent->isRobot();

根据您的托管提供商的不同,您可能可以使用在每分钟 X 次请求(或其他指标)后自动将 IP 地址列入黑名单的工具。我知道AWS提供这项服务。

另一种选择是安东尼奥里贝罗/防火墙 https://github.com/antonioribeiro/firewall/blob/master/readme.md。根据 IP 或地理位置跟踪用户并相应地重定向/阻止。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止机器人程序和垃圾邮件 API 请求? 的相关文章

随机推荐