javascript - Nodejs 中的响应式(Reactive) IP 阻止、Node 应用程序安全

标签 javascript node.js security ip-address firewall

我正在用 Nodejs 编写一个客户端-服务器游戏,我想要一个小型的反黑客、反作弊层,可以阻止或限制检测到的黑客或作弊尝试。检测方法不是问题的一部分,但是一旦检测到错误 IP, Node 如何阻止或限制进一步的连接?

例如,是否有一个封装http服务器的模块,可以在其中设置黑名单?或者允许与外部防火墙程序交互的模块?

我的背景:Node 新手,对于 JavaScript、PHP、C++ 和 C 来说并不陌生。

最佳答案

如果您不介意包装核心 HTTP 实例,则可以使用 ExpressJS然后注入(inject)express-blacklistexpress-defend中间件。不过,它们看起来不像 express-rate-limit 那样常用。

如果您不需要列入黑名单而只想对请求进行速率限制,则可以使用 express-rate-limit 这比我上面提到的两个中间件更受欢迎。

请参阅以下中间件片段,了解取自上述文档的express-blacklist 和express-defend。

var expressDefend = require('express-defend');
var blacklist = require('express-blacklist');

app.use(blacklist.blockRequests('blacklist.txt'));
app.use(expressDefend.protect({ 
    maxAttempts: 5, 
    dropSuspiciousRequest: true, 
    logFile: 'suspicious.log', 
    onMaxAttemptsReached: function(ipAddress, url){
        blacklist.addAddress(ipAddress);
    } 
}));

关于javascript - Nodejs 中的响应式(Reactive) IP 阻止、Node 应用程序安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38252655/

相关文章:

javascript - android+phonegap环境下如何获取触摸坐标?

node.js - 语法错误 : Unexpected identifier

android - 防止反编译android apk

javascript - 如何将连续的字符串输入与 javascript 中的段落匹配,同时显示错误?

javascript - 如何获取使用Jquery动态添加的HTML Table行记录?

javascript - 类型错误 : Cannot read property 'reduce' of undefined when using ftp-deploy

node.js - 快速重定向不会改变 req.url

node.js - 您如何处理 token 安全 Web 应用程序中的导航?

security - JwtBearerHandler 缓存 OpenIdConnectConfiguration 'forever'

jQuery AJAX 通过跨域发布到 https web api 操作