javascript:如何防止滥用公共API

时间:2016-04-19 12:12:34

标签: javascript jquery ruby-on-rails api

我允许用户根据一次性密码发送到用户手机号码登录我的网站。

我的问题是我正在进行Api调用,使用jquery ajax将otp发送到用户的手机号码。现在任何人都可以看到api调用并向我的服务器发出无限的api请求,这将立即使我的短信包过期。

如何避免滥用API调用?

3 个答案:

答案 0 :(得分:0)

您应该对服务器的API请求进行身份验证。我觉得服务器在你的控制之下。

一个想法可能是使用JWT => https://jwt.io/

当然,在您的服务器上使用HTTPS。

答案 1 :(得分:0)

Rails已经有CSRF protection。您需要为AJAX请求启用它们。启用它们时,如果没有为每个Web请求重新生成的CSRF令牌,其他任何人都无法重复您的AJAX调用。

其他选项包括使用rack-attack对来自同一IP的API请求进行速率限制。

答案 2 :(得分:0)

提供一些认证机制应该有效。这样,任何试图访问您的API的人都必须登录。将身份验证令牌存储在会话中并在服务器端验证它。 还有其他技术,如使用API​​机密/密钥。 请查看以下链接: https://stormpath.com/blog/secure-your-rest-api-right-way/