如何在node express中保护DELETE请求以防止注入?

问题描述 投票:0回答:1

我有一个表单,有人可以上传文件,然后撤消,如果他们不再需要它。我想向服务器发送删除文件的请求,但我担心用户可能会发送../../lorem/ipsum/。我在标题中有一个csrf标记,一个session.id作为一个cookie,但我如何使用它们?我必须使用DELETE作为请求方法。

revert = function(req, res) {

fs.unlink(`/home/node/` + req.body.file, (err) => {
  if (err) throw err;
  console.log('file was deleted');
});
  res.send('done');
};

app.delete('/revert', revert);
express fs http-delete
1个回答
0
投票

您应该为每个上传的文件生成一个ID,并将其保存在某种地图或数据库中。您将ID作为成功上载响应的一部分返回给用户。只有知道该ID的用户才能撤消上传(例如:使用您提供的链接或自行构建)

© www.soinside.com 2019 - 2024. All rights reserved.