我为我正在处理的移动应用编写了一个rails后端,我发现即使我使用令牌身份验证,任何人都可以编写恶意脚本,不断注册用户/不断发出请求试图填补数据库/攻击服务器。
我想这里有两个问题:
1)为了仅允许从我的移动应用程序访问API,我需要做出哪些修改
2)如何保护我的API网址?
谢谢:)
答案 0 :(得分:0)
您可以采取多种措施来保护您的API:
您可以开始的最简单的事情是验证请求中的用户代理标头。这通常可以很好地指示启动设备是什么。
话虽如此,它并不总是准确的,而且绝对是可以伪造的。
如果你也控制移动应用程序的客户端,你可以使用密码或密钥系统加密请求/响应,这需要一个只有你的移动应用才知道的密钥。请看openssl ...使用公钥/私钥对。
令牌认证是个好主意。我实际上会查看oAuth或类似的系统进行身份验证,并保持会话计时器的简短。
最重要的是,您可以添加一些速率控制,以限制在给定时间跨度内来自同一IP的连续呼叫。
最后,我会看一下像“fail2ban”或类似的东西来自动禁止强力型攻击。