我使用带有 node.js 和 Net 模块的服务器的非常基本的脚本......我从 IP 接收到可疑连接。我可以添加我不想连接的所有 ip... 它是自动的:当用户不进行身份验证时,我将他的 IP 推送到一个数组中并关闭套接字。如果他重新连接我正在验证他的 IP 是否在数组中,如果为真,我再次关闭套接字。如何在该 IP 连接到服务器之前验证此黑名单阵列?方法是什么?
问问题
6331 次
1 回答
11
理想的解决方案是在 IP 到达 Node.js 之前阻止它。或者至少让 Linux 阻止它 -请参阅此示例。
但要回答您的具体问题,您可以执行以下操作:
var http = require('http');
http.createServer(function (req, res) {
var request_ip = req.ip
|| req.connection.remoteAddress
|| req.socket.remoteAddress
|| req.connection.socket.remoteAddress;
if (request_ip == '86.75.30.9') // put the IP address here
{
// make them wait a bit for a response (optional)
setTimeout(function() {
res.end();
}, 5000);
}
}).listen(80, '127.0.0.1');
于 2013-06-18T22:28:08.123 回答