node.js - 拒绝访问nodejs express中的特定目录

标签 node.js express routes

我试图拒绝公众使用 node express 查看特殊目录中的文件,代码如下:

app.use(express.static(path.join(__dirname, 'partials')));

app.all('/partials/*', function (req,res, next) {

    res.status(403).send(
    {
        message: 'Access Forbidden'
    });
    next();
});

如果我路由到 localhost/partials,我会收到消息“禁止访问”但如果我路由到 localhost/partials/files.html 则不会

有什么建议吗?

最佳答案

语句的顺序在 node.js 中很重要。

app.all('/partials/*', function (req,res, next) {
   res.status(403).send({
      message: 'Access Forbidden'
   });
});

//this line is used to load resources at localhost/partials/api.html
//but, because of above code snippets, we have blocked /partials/* routes
//hence, this line will practically wont work.
app.use('/partials',express.static(path.join(__dirname, 'partials')));

关于node.js - 拒绝访问nodejs express中的特定目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37457676/

相关文章:

node.js - Nodejs AsyncLocalStorage getStore() 返回未定义

macos - Mac 无法使用 npm/nodejs 安装 socket.io?

php - express 返回无法 GET/home

express - Mongoose Model#save 在 Promise.all() 处理中未被调用

ruby-on-rails - rails,为新路由添加一个参数

ios - 计算完成Apple Maps旅程所需的时间

json - node.js http.request 获取json,json前面未定义

node.js - 如何删除 express js 服务器中超过 24 小时的 Mongoose 文档?

node.js - ExpressJS : Best way to add prefix versioning routes

javascript - 如何在 jquery 帖子的回调中重定向