将API锁定为应用程序 - 仅使用

时间:2016-03-17 00:05:04

标签: ruby-on-rails api security backend

我为我正在处理的移动应用编写了一个rails后端,我发现即使我使用令牌身份验证,任何人都可以编写恶意脚本,不断注册用户/不断发出请求试图填补数据库/攻击服务器。

我想这里有两个问题:

1)为了仅允许从我的移动应用程序访问API,我需要做出哪些修改

2)如何保护我的API网址?

谢谢:)

1 个答案:

答案 0 :(得分:0)

您可以采取多种措施来保护您的API:

您可以开始的最简单的事情是验证请求中的用户代理标头。这通常可以很好地指示启动设备是什么。

话虽如此,它并不总是准确的,而且绝对是可以伪造的。

如果你也控制移动应用程序的客户端,你可以使用密码或密钥系统加密请求/响应,这需要一个只有你的移动应用才知道的密钥。请看openssl ...使用公钥/私钥对。

令牌认证是个好主意。我实际上会查看oAuth或类似的系统进行身份验证,并保持会话计时器的简短。

最重要的是,您可以添加一些速率控制,以限制在给定时间跨度内来自同一IP的连续呼叫。

最后,我会看一下像“fail2ban”或类似的东西来自动禁止强力型攻击。