【发布时间】:2020-09-13 19:02:22
【问题描述】:
伙计们,我必须创建一个需要向 laravel 端点发出请求的移动应用程序,该应用程序不需要注册或登录,这是保护我的 api 的最佳方式吗?确保只有我的应用程序可以调用它?
谢谢!
【问题讨论】:
标签: laravel api authentication
伙计们,我必须创建一个需要向 laravel 端点发出请求的移动应用程序,该应用程序不需要注册或登录,这是保护我的 api 的最佳方式吗?确保只有我的应用程序可以调用它?
谢谢!
【问题讨论】:
标签: laravel api authentication
没有完整的证明方法可以保护您的 api,因为使用正确的工具并遵循网络上的一些教程,任何人都可以查看您的整个 api 请求、标头、令牌等。
您在应用程序上执行或存储的任何操作都已被盗用,因此如果恶意用户可以访问应用程序,signatures、ssl、加密、令牌等都没有多大帮助。它可能会让恶意用户更加麻烦,但一个专门的人可以克服它。
至少使用身份验证会强制用户在使用您的 api 之前进行注册,并且您可以在需要时阻止用户。除了需要电子邮件验证之外,希望滥用您的 api 的用户至少需要有效的电子邮件地址。但是由于您提到无需身份验证即可进行保护,因此超出了范围。
您可以通过使用速率限制来保护您的 API。 laravel 有一个内置的速率限制和油门中间件。您可以使用它来限制某个 ip 地址在特定时间间隔内可以调用 api 的次数。
接下来是 IP 阻塞。如果发现任何恶意活动,您可以阻止该 IP 地址。但这可以通过 vpn 解决,恶意用户也可以通过这种方式阻止其他人的 ip。
验证码可以帮助对抗机器人,但也会惹恼普通用户。
另一种方法是使用 cors 进行限制,那些遇到过 cors 问题的人确切知道它有多烦人,但它不适用于本机应用程序(或者您可以尝试pwa)。
在更糟糕的情况下,您可以接受一些条款和条件以及一些法律行动
【讨论】: