【问题标题】:Secure public api for mobile app with laravel使用 laravel 保护移动应用程序的公共 api
【发布时间】:2020-09-13 19:02:22
【问题描述】:

伙计们,我必须创建一个需要向 laravel 端点发出请求的移动应用程序,该应用程序不需要注册或登录,这是保护我的 api 的最佳方式吗?确保只有我的应用程序可以调用它?

谢谢!

【问题讨论】:

    标签: laravel api authentication


    【解决方案1】:

    没有完整的证明方法可以保护您的 api,因为使用正确的工具并遵循网络上的一些教程,任何人都可以查看您的整个 api 请求、标头、令牌等。

    您在应用程序上执行或存储的任何操作都已被盗用,因此如果恶意用户可以访问应用程序,signatures、ssl、加密、令牌等都没有多大帮助。它可能会让恶意用户更加麻烦,但一个专门的人可以克服它。

    至少使用身份验证会强制用户在使用您的 api 之前进行注册,并且您可以在需要时阻止用户。除了需要电子邮件验证之外,希望滥用您的 api 的用户至少需要有效的电子邮件地址。但是由于您提到无需身份验证即可进行保护,因此超出了范围。

    您可以通过使用速率限制来保护您的 API。 laravel 有一个内置的速率限制和油门中间件。您可以使用它来限制某个 ip 地址在特定时间间隔内可以调用 api 的次数。

    接下来是 IP 阻塞。如果发现任何恶意活动,您可以阻止该 IP 地址。但这可以通过 vpn 解决,恶意用户也可以通过这种方式阻止其他人的 ip。

    验证码可以帮助对抗机器人,但也会惹恼普通用户。

    另一种方法是使用 cors 进行限制,那些遇到过 cors 问题的人确切知道它有多烦人,但它不适用于本机应用程序(或者您可以尝试pwa)。

    在更糟糕的情况下,您可以接受一些条款和条件以及一些法律行动

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 2018-09-19
      • 2013-12-26
      • 1970-01-01
      • 2016-05-23
      • 2015-12-29
      • 1970-01-01
      相关资源
      最近更新 更多