node.js - 保护 Express JS 服务器免遭暴力破解

标签 node.js api express brute-force

我正在使用nodejs和express编写一个api,我的应用程序由openshift免费计划托管。 我想保护我的路线免受暴力侵害。例如,如果某个 IP 每秒发送超过 5 个请求,则将其阻止 5 分钟。 :)

最佳答案

没有什么可以阻止您直接在 Node.js/express 中实现这一点,但这种事情通常(而且几乎肯定更容易)通过使用 nginx 或 Apache httpd 之类的东西来处理应用程序的流量来处理。

这还有一个额外的好处,即允许您完全以非特权用户身份运行应用程序,因为 nginx(或其他)将绑定(bind)到端口 80 和 443(这需要管理/ super 用户/任何权限)而不是您的应用程序。此外,您还可以轻松获得许多其他理想的功能,例如静态内容的缓存。

nginx有a module specifically for this :

The ngx_http_limit_req_module module (0.7.21) is used to limit the request processing rate per a defined key, in particular, the processing rate of requests coming from a single IP address.

关于node.js - 保护 Express JS 服务器免遭暴力破解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32670016/

相关文章:

node.js - sails.js 异步问题

javascript - 将信息从表单保存到 MongoDB 数据库?

javascript - JSON - 如何在数组中获取特定值?

android - 找到最准确的室内导航 api

node.js - 在 Windows 中构建 Node.js 模块

node.js - 为什么我不能使用node.js将对象插入到mongodb中?

javascript - 有没有发生 body 变化的事件?

javascript - 使用 Socket.io 无需重新加载即可刷新页面上的数据

javascript - console.log 打印函数定义以及函数预期输出

javascript - Socket.IO 是大量用户的可靠聊天服务器吗?如果是,您的技术栈是什么?