网络浏览器可以浏览带有URL位置的目录吗?

时间:2019-03-08 04:39:48

标签: node.js web url server

我现在正在同一框架上运行一些node.js服务器。沿着框架代码的某个地方,我有这个小片段:

//...
if (subdomain.staticFolder) {
    let relativePath = subdomain.staticFolder + path.sep + path.normalize(url);
    if (fs.existsSync(relativePath)) {
        let fileStats = fs.statSync(relativePath);
        if (fileStats.isFile()) {
//...

此代码段位于管理请求流量的处理程序内。简而言之,它的工作是在static/文件夹中查找域,并查看是否有文件符合请求。

我担心的是,恶意用户可能会利用这种静态文件查找方法来冒犯并试图获得对Web服务器文件的访问权限。例如:

https://www.example.com/../index.js

https://www.example.com/../serverStructure.json

这可能吗,还是我很担心?而且,如果有可能,什么是潜在的解决方案?将静态文件移动到S3存储桶是否可行?即使不可能,这仍然是不好的后端实践吗?

0 个答案:

没有答案