Как обезопасить запрос DELETE в выражении узла, чтобы предотвратить внедрение? - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть форма, в которой кто-то может загрузить файл, а затем отменить, если он больше не хочет его.Я хочу отправить запрос на удаление файла на сервер, но боюсь, что пользователь может отправить ../../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);

1 Ответ

0 голосов
/ 22 апреля 2019

Вы должны сгенерировать идентификатор для каждого загруженного файла и сохранить его на карте или в какой-либо базе данных.Вы возвращаете идентификатор пользователю как часть ответа на успешную загрузку.Только пользователи, знающие идентификатор, могут отменить загрузку (например, используя предоставленную вами ссылку или создав ее самостоятельно)

...