你想要做的是一次只限制一个资源的访问权限到一个IP地址。
由于所有请求都是从单个进程提供的,因此使用Node相当容易。
您可以在发出请求时将IP地址输入到对象中,然后在新请求进入重复时检查该对象。
如果您使用的是Express且您的模块中有路由,则可以将IP连接对象置于路由模块的顶层。
var connectedIPs = {};
exports.myDownloadRoute = function(request, response) {
var IP = request.connection.remoteAddress;
if(connectedIPs.IP) {
response.redirect("http://mysite.com/download_rules.html");
return;
}
connectedIPs.IP = true;
// pseudo send a file call, replace this with your code
send_a_file(function(err) {
// done sending or error, remove from connectedIPs
delete connectedIPs.IP;
});
}
如果用户尝试请求由IDM当前页中,只有一个连接由接受的NodeJS,我需要将其限制到不同数量的用户A和用户B.如7或8的连接15 – 2013-04-29 07:44:41