【问题标题】:How to prevent unwanted API calls in Laravel如何防止 Laravel 中不需要的 API 调用
【发布时间】:2021-12-20 17:59:45
【问题描述】:

我有一些简单的网站(不是 Laravel 应用程序),人们可以在表单中输入邮政编码和门牌号码,街道和城市字段会自动填写相关信息。为此,我使用 ajax 请求向我的 Laravel 应用程序发出 API 调用,该应用程序返回关联的街道和城市。然后,我的 Laravel 应用程序调用第三方 api,每个请求花费我大约 0.01 欧元。

不,我想避免未经授权访问我的 Laravel api 调用,因为每次调用都要花钱。因为此时复制这样的调用非常容易,并且有恶意的人可以编写一个每分钟可以执行数千次调用的脚本。

所以我的问题是如何防止不必要的和未经授权的 api 调用。我已经阅读了有关 Sanctum 和护照的信息,但从我阅读的内容来看,这仅适用于经过身份验证的用户。而且在请求头中使用令牌似乎没有必要,因为任何人只要稍有了解就可以追踪并使用它。

请注意,填写表格的人可以是随机的人并且没有帐户。

【问题讨论】:

    标签: laravel laravel-authentication laravel-api


    【解决方案1】:

    可能有很多方法。一个简单但有效的方法是会话。您可以将用户保存在会话中。这样你也可以统计他的 Api 访问次数。一旦它们大于允许的大小,您就可以阻止他们的请求。您还可以在会话中编写块。但要注意会话持续时间。它必须足够长。

    但是有恶意的用户可以获得新的会话。为避免这种情况,您还可以将他的 IP 列入内部黑名单一天。

    注意:但开放的 api 总是一个攻击点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-29
      • 2019-11-09
      • 1970-01-01
      • 2020-02-05
      • 2018-04-12
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多