Я хочу, чтобы соединить два пути:Как проверить вредоносный путь на корневой каталог?
var path = require('path');
path.join(root, requestPath);
Как предотвратить путь, как ../../../../../etc/passwd
? Какая практика?
var isMalicious = function(path, root) { /* HOW TO */ };
Изменить разрешения ../etc/passwd, чтобы сделать его недоступным? –
Используйте некоторую утилиту пути, чтобы разрешить данный путь с префиксом 'root' в качестве префикса к его абсолютному представлению (я думаю, это то, что уже делает path.join'). Затем проверьте, все ли это в 'root'. – Gumbo