我正在制作一个用户可以请求将文件发送给他们的机器人,但我想确保他们不要求提供文件,例如
../../ mysecretstash / stuff.jpg
不仅是否存在,如果它在某个文件夹中。
我如何在node.js
中执行此操作?
答案 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()
将在公共访问被授予之前干预并拒绝对文件的访问。