gpt4 book ai didi

javascript - 阻止公众访问 expressjs 应用程序

转载 作者:搜寻专家 更新时间:2023-10-31 23:33:22 26 4
gpt4 key购买 nike

考虑以下 expressjs 应用:

var express = require('express');
var http = require('http');
var httpApp = express();

httpApp.configure(function() {
httpApp.use(express.static(__dirname + '/static/'));
});

var server = http.createServer(httpApp).listen(4444);

现在,我不希望此服务器公开可用并且根据特定客户端的 IP 地址/域响应请求。其他人都应该得到 403 - Forbidden 错误。

我搜索了 API 文档并找到了执行此操作的方法,首先通过 app.enable('trust proxy') 启用信任代理,然后检查 req.ip

但是,我无法访问req 对象。因此,如果有人使用此代码并可以告诉我如何根据其 IP/域拒绝请求,那将非常有帮助

最佳答案

只需添加一个检查 IP 并在不匹配时拒绝访问的中间件:

app.use(function(req, res, next) {
if (allowed(req.ip))
next();
else
res.status(403).end('forbidden');
});

关于javascript - 阻止公众访问 expressjs 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17501424/

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