这是一个小的 web-server 函数,它获取一个 url 并解析它,确保客户端不请求不在服务器根文件夹下的资源
function getUrl(url, resourceMap, rootFolder) {
var path = require('path');
if (typeof resourceMap[url] !== 'undefined') {
return (path.join(rootFolder,resourceMap[url]));
}
var absoluteURL = path.join(rootFolder,url);
console.log("ROOT: "+rootFolder);
console.log("NEW: "+absoluteURL);
var regex = new RegExp('^' + rootFolder + '.*')
if (absoluteURL.match(regex) === null) {
console.log("FALSE");
return (false);
}
return (absoluteURL);
}
如您所见,我确保absoluteURL
从rootFolder
使用正则表达式开始'^' + rootFolder + '.*'
这在 Linux 上运行良好,但在 Windows 中它总是返回 false。
顺便说一句,输出是
ROOT: C:\Users\user\workspace
NEW: C:\Users\user\workspace\images\IMG_7102.JPG
所以我知道解析url是可以的。
艾米的想法为什么?谢谢