阻止直接访问Node&中的目录快递应用

时间:2018-03-30 20:03:40

标签: node.js express

在我的快递应用程序中,我有一个名为media in / public的目录,我想限制对它的访问(以及它的子目录),重定向或显示404.

我如何实现它? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您在public中间件中定义express.static文件夹,请执行以下操作:

app.use(express.static('public'))

所有public's内容都将公开,并可通过网址/filepath/filename访问。

限制media文件夹访问的最简单方法是将media文件夹移到public文件夹之外。

答案 1 :(得分:0)

我找到了自己问题的答案。

app.all('/media/*', (req,res, next) {
    res.status(403).send({
       message: 'Access Forbidden'
    });
    // or whatever
});
app.use('/media',express.static(path.join(__dirname, 'media')));