如何检查文件是否在node.js中的特定文件夹中?

时间:2017-12-19 10:25:27

标签: node.js

我正在制作一个用户可以请求将文件发送给他们的机器人,但我想确保他们不要求提供文件,例如

  

../../ mysecretstash / stuff.jpg

不仅是否存在,如果它在某个文件夹中。

我如何在node.js中执行此操作?

1 个答案:

答案 0 :(得分:0)

  

我想确保他们不要求

中的文件

您可以使用路由进行配置,然后检查他是否可以访问。如果您使用Express,这样就足够了:

app.all("/specialfolder/*", function (req, res) {
    // check what to do
    if(returnFile) {
       // send the file
    } else {
       // send 404 or other unauthorized codes, e.g. 403
    }
});

您可以根据需要为多个文件夹配置这些路由,其次可以配置正则表达式以匹配URL,或者您可以将所有敏感信息放在单个文件夹中,然后控制URL路由 - 我的方式上方。

另请注意,机器人仍然可以访问内容。只有用户才能直接访问该文件。如果必须使用Bot控制访问,那么这取决于您尝试使用的框架。

最后,请注意您需要在任何其他

上面写这个
app.use(express.static());

因为,Node.js框架在管道中工作,并且此app.all()将在公共访问被授予之前干预并拒绝对文件的访问。