首页 > 解决方案 > Node.js:是否可以通过任意数量的键和属性访问从普通对象导航到某些有害或敏感功能?

问题描述

对于 Node.js API,我想:

  1. 将 API 定义为对象、类实例、函数、方法等的任意 JavaScript 数据结构。示例:
const exposedMethods = {
  greetingService: {
    greet(name, exclaim = false) {
      const punctuation = exclaim ? "!": "."
      const message = `Hello, ${name}` + punctuation;
      return {
        message,
      };
    },
  },
};
  1. 允许 API 调用者访问他们想要在该对象上的任何属性,只要他们想要的深度,然后调用任何属性作为函数。例子:
greetingService.greet("World", true);

我的问题:

  1. 是否可以使用这种访​​问键和属性的机制来导航到 Node.js 中的某些有害或敏感功能?
  2. 如果是这样,在消除安全风险的同时保留这种模式的便利性和简单性的最佳方式是什么?

标签: javascriptnode.jsexpresssecurityrpc

解决方案


推荐阅读