Nodejs 中的反应性 IP 阻止,Node 应用程序安全
Reactive IP-Blocking in Nodejs, Node application security
我正在用 Nodejs 编写一个客户端-服务器游戏,我想要一个小的反黑客、反作弊层来阻止或限制检测到的黑客或作弊企图。检测方法不是问题的一部分,但是一旦检测到 Bad IP ,节点如何阻止或限制进一步的连接?
比如有没有封装http服务器的模块可以设置黑名单?或者允许与外部防火墙程序交互的模块?
我的背景:Node 的新手,对 JavaScript、PHP、C++ 和 C 非常不陌生。
如果您不介意包装您的核心 HTTP 实例,您可以使用 ExpressJS and then inject the express-blacklist
and express-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);
}
}));
我正在用 Nodejs 编写一个客户端-服务器游戏,我想要一个小的反黑客、反作弊层来阻止或限制检测到的黑客或作弊企图。检测方法不是问题的一部分,但是一旦检测到 Bad IP ,节点如何阻止或限制进一步的连接?
比如有没有封装http服务器的模块可以设置黑名单?或者允许与外部防火墙程序交互的模块?
我的背景:Node 的新手,对 JavaScript、PHP、C++ 和 C 非常不陌生。
如果您不介意包装您的核心 HTTP 实例,您可以使用 ExpressJS and then inject the express-blacklist
and express-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);
}
}));