阻止访问一个文件夹以外的所有内容

时间:2013-12-29 16:13:12

标签: node.js

在Node.js中,我创建了简单的路由器,因此服务器打开用户在URL中键入的所有内容。 因此,用户输入:http://example.com/directory1/test.html,它将被打开。

但我不想允许打开一些目录。我想允许用户打开仅在名为“userFiles”的目录中打开的文件。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

假设我们正在使用express.js,我经常在我的代码中执行此操作:

var app = express();

app.use('/whitelist', express.static('/path/to/whitelistfolder'));

或者写一个过滤器中间件:

app.use(function (req, res, next) {
    if(checkFunction(req.url)) {
        next();
    } else {
        res.send(404, "Not found");
    }
})