如何保护节点表示中的DELETE请求以防止注入?

时间:2019-04-22 06:27:15

标签: express fs http-delete

我有一个表单,有人可以在其中上传文件,然后如果他们不再想要该文件,则可以撤消。我想向服务器发送删除文件的请求,但恐怕用户可能会发送../../lorem/ipsum/。我在标头中有一个csrf令牌,在cookie中有一个session.id,但是我将如何使用它们呢?我必须使用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);

1 个答案:

答案 0 :(得分:0)

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