首页 > 解决方案 > 如何保护不需要的恶意请求的公共 API 路由?

问题描述

我目前正在做一个全栈 Web 项目,现在正在研究 API 安全性。我已经实现了一个用户登录,然后允许客户端访问我的 API 的大多数路由。但也有一些不受保护的路由可以而且必须在没有登录的情况下访问(例如注册、登录……)。

例如,一个路由返回特定用户名或电子邮件地址是否已被另一用户使用并在注册过程中使用。对于不怀好意的人来说,这条公共路线将非常有助于找出试图破解或猜测密码的电子邮件地址或用户名,因为它们可以避免未使用的凭据。

我知道大公司经常使用这个功能来向用户展示他是否可以使用他想要的用户名。他们如何确保没有滥用?我怎样才能保护我的 API 和用户免受这种情况的影响?

我将不胜感激任何帮助。非常感谢!

标签: apiexpressmern

解决方案


限制 API 滥用率限制是一种很好的做法。一种方法是指定每个 IP 地址的最大 API 请求数量,然后忽略这些请求。

可以在此处找到一篇很好的文章,描述了这样做的解决方案并展示了 NodeJS 中的实现示例。

感谢 Gilbert Le Blanc 在这方面的帮助。


推荐阅读