如何保护公共可访问的API?

时间:2020-04-30 12:46:56

标签: rest architecture api-design

我正在创建一个FORM(调查表)以获取用户输入,访问该网站的任何用户都可以向我提供信息。这意味着,实际上,没有任何令牌或会话(基本上没有任何内容)的任何人都可以公开访问该API

我想阻止人们获取我的端点,并创建成千上万的请求(SPAM)以淹没我的服务和数据库。我试图查看Stackoverflow和一些中型帖子,有趣的是,我对此没有太多了解。

有人说:

  • 将我的网站捆绑为一个混合应用程序,仅向“受信任的设备”提供accessToken以触发我的api (但这是一个纯网络应用程序)
  • 创建自定义标头并从我的网络服务器中确定标头(嗯..?)
  • 使用CAPTCHA (这只会阻止人们通过GUI进行垃圾邮件,但是仍然可以通过脚本进行垃圾邮件)

由于它是公开的,难道这不是更好的安全方法吗? 有什么想法要分享吗?

1 个答案:

答案 0 :(得分:0)

您是否已阅读有关请求队列的信息? 它可以帮助您解决问题

source 1

source 2