Nodej中的反应性IP阻塞,节点应用安全性

时间:2016-07-07 18:18:53

标签: javascript node.js security ip-address firewall

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

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

我的背景:Node的新手,非常不是JavaScript,PHP,C ++和C的新手。

1 个答案:

答案 0 :(得分:1)

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

如果您不需要黑名单,只想对限额请求进行评分,则express-rate-limit 这比我上面提到的两个中间件更受欢迎。

请参阅以下中间件片段,了解明确黑名单和明确保护,取自上述文档。

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);
    } 
}));