node.js - Web 浏览器可以使用 URL 的位置向上导航目录吗?
问题描述
我现在在同一个框架上运行几个 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 存储桶是否可行?即使不可能,这仍然是不好的后端做法吗?
解决方案
推荐阅读
- google-apps-script - Google TypeError:ScriptApp.newTrigger(...).forSpreadsheet(...).timeBased 不是函数
- python - 从具有特定条件的列中的字典中删除所有非数字符号
- javascript - TypeError: Object(...) is not a function with react-select-search (npm package)
- .htaccess - .htaccess:如果匹配,则从 url 末尾删除“/”
- c - 使用 timerfd 和读取时 CPU 使用率异常
- c - 使用 Arduino 的石头剪刀布游戏 - 代码不尊重 IF 语句
- php - 为什么我无法断言已经从 laravel 作业发送了一封电子邮件?
- javascript - 绘制鼠标轨迹时如何影响画布后面的悬停元素
- javascript - 单击文本区域时显示 div
- angular - 我想获得物品的总价格,但它在 ionic 4 中没有显示任何价值