我正在使用nodejs和express来编写api,并且我的应用程序由openshift免费计划托管。 我想保护我的路线免受蛮力。例如,如果IP发送超过5个请求/秒,则将其阻止5分钟。 :)保护快递js服务器不受蛮力影响
回答
没有什么能够阻止你直接在Node.js/express中实现这个功能,但通常使用类似nginx
或Apache httpd
来处理到你的应用的流量(通常几乎肯定更容易)处理这类事情。
由于nginx(或其他)将绑定到端口80和443(需要管理员/超级用户/任何权限)而不是您的应用,因此您可以完全以非特权用户的身份运行应用。另外,您可以轻松获得其他一些理想的功能,例如缓存静态内容。
nginx的具有a module specifically for this:
的ngx_http_limit_req_module模块(0.7.21)用于限制每一个定义的密钥的请求的处理速率,特别是从一个单一的IP地址的请求的处理速率。
感谢您的回复。但我认为我没有明白你的观点。我正在使用nodejs,并且不想使用其他网络服务器:) –
将nginx用作节点的反向代理是标准做法。 –
这是正确的答案。 –
上有NPM几个包专用于这一点,如果您使用的是Express框架:
这些都可以用于通过ip进行限制,也可以通过其他信息(例如通过用户名输入失败编辑登录尝试)。
- 1. iptables SSH蛮力保护
- 2. 保护Spring MVC不受XSS影响
- 3. 如何恢复受蛮力保护的用户帐户?
- 4. 保护服务器免受压力测试或来自V-Users
- 5. 保护web服务器免受ssh暴力攻击
- 6. 请求:蛮力保护Windows 2008
- 7. ASP中的服务器端JS影响
- 8. 未在护照快递服务器上保存会话
- 9. 受保护/删除/ SaveOrUpdate在NHibernate中的受影响的行
- 10. 保护/ etc/passwd和/ etc/shadow不受并发访问的影响
- 11. 保护单元格不受连续POST影响
- 12. Cocoon字段不受JS影响
- 13. 递归蛮力迷宫求解器Java
- 14. C蛮力递归函数
- 15. Sandbox JVM从不受信任的来源保护服务器
- 16. 在SceneKit中受重力影响?
- 17. 快递,智威汤逊不尊重未受保护的路径
- 18. Excel服务中的受保护表格
- 19. 蛮力力 - C#
- 20. 如何保护我的Meteor服务器免受客户端上无限循环的影响?
- 21. 保护文件免受直接HTTP请求的影响
- 22. 如何保护libgdx函数免受JSON影响?
- 23. 保护git的服务器
- 24. 保护Javascript(服务器端?)
- 25. 保护专用服务器
- 26. 服务器维护何时应影响实施的决策?
- 27. 保护js文件中的服务url
- 28. 将受影响的文件提升到远程服务器
- 29. htaccess规则:蛮力攻击期间服务器负载最低
- 30. 为什么.NET XML API不能保护我不受空字符的影响?
这被称为“速率限制”,并且已经有许多文章和一些关于它的先前的StackOverflow文章。我建议你从已经写好的东西开始。这里有一个:[什么是好的速率限制算法](http://stackoverflow.com/questions/667508/whats-a-good-rate-limiting-algorithm)。 – jfriend00
@ jfriend00感谢您的名字,我正在寻找它+从头开始写点东西真的很酷:) –
这里有一个关于[Leaky Bucket Algorithm]的好参考(https://en.wikipedia.org/wiki/ Leaky_bucket)这是用于速率限制的一种常用算法。 – jfriend00