私のコードでは、パス トラバーサル ファイルのアップロードという警告が表示されます。それを修正する方法がわかりません。
これはエラー通知です
アップロードされたファイルからのサニタイズされていない入力は、パスとして使用される jimp.read に流れます。これにより、パス トラバーサルの脆弱性が発生し、攻撃者が任意のファイルを読み取る可能性があります。
ここに私のコードがあります
reqImage = req.files.readmoreImage;
await Jimp.read(reqImage.data)
.then((image) => {
image
.scaleToFit(263, 342, [
Jimp.HORIZONTAL_ALIGN_CENTER,
Jimp.VERTICAL_ALIGN_MIDDLE,
])
.quality(60)
.write(uploadPath);
})
.catch((err) => {
if (err) {
req.flash('error', 'Something wrong in image Uploading !');
return res.status(302).redirect('back');
}
});
アップロード前にサニタイズする方法。
このように正規表現を使用して文字列をサニタイズ.replace(/\//g, '\\\\'))
しましたが、ファイルのアップロードを処理することを理解できません