gpt4 book ai didi

node.js - 仅允许从 Node.js 中的特定 IP 地址访问目录

转载 作者:太空宇宙 更新时间:2023-11-03 23:44:14 26 4
gpt4 key购买 nike

我有一个简单的 socket.io 应用程序,我想保护向其他连接的套接字发出事件的目录。

var io = require('socket.io'),
connect = require('connect');

var app = connect().use(connect.static('public')).listen(3000);
var children = io.listen(app);

public 目录中,我拥有用户可以访问的所有文件。在 public/_app 中,我有一个应用程序正在向其他连接的套接字发出事件。该目录只能从我的 IP 地址访问。

谢谢。

最佳答案

您可以在插入静态中间件之前插入自定义中间件:

var app = connect()
.use(function(req, res, next) {
if (req.url.indexOf('/_app/') === 0) // YOUR 'HIDDEN' PATH
{
var ipnumber = req.socket.address().address;
if (ipnumber !== '127.0.0.1') // YOUR IP NUMBER
{
res.writeHead(404);
return res.end();
}
}
next();
})
.use(connect.static('public'))
.listen(3000);

当无效的 IP 号码尝试访问您的管理应用程序时,这会生成 404 Not Found 响应。当然,您可以生成 401 Unauthorized

关于node.js - 仅允许从 Node.js 中的特定 IP 地址访问目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16790278/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com