0
/ok/ä.txt
を/very///bad/%D0%B9/../../../../../request/../ok/%C3%A4.txt
からnode.jsに取得します。私は次の方法を発見しました:nodejsからのビルドパス。request.urlパス名
var url = require('url'), path = require('path');
require('http').createServer(function (request, response) {
var file = null;
try {
file = path.normalize(decodeURI(url.parse(request.url).pathname));
} catch (e) {
}
console.log(file);
response.end();
}).listen(3002, '127.0.0.1');
try/catchブロックなしでいくつかの方法がありますか?
私はパラメータの型string
でない場合
path.normalize
と
decodeURI
エラーをスローしたことがないと
url.parse
のみエラーがスローされますので、あなただけの、
try..catch
ブロックを取り除くことができると思い