【发布时间】:2018-07-29 23:10:14
【问题描述】:
在官方Meteor guide 中说;
在服务器上运行的代码是可以信任的。其他一切:代码 在客户端上运行,通过 Method 和发布发送的数据 论据等是不可信的。
还有;
应用中的秘密业务逻辑应位于以下代码中 只加载在服务器上。这意味着它位于 server/ 目录中 您的应用程序,在仅包含在服务器上的包中,或在 仅在服务器上加载的包中的文件。
敏感的方法/算法等必须放在服务器端。我的第一个问题是,我们如何从客户端安全地调用服务器端的敏感方法,比如 createUser()?
我的第二个问题;在安全性方面使用Meteor.method 和Validated-Method 有什么区别吗?调用标准 Meteor 方法时不需要使用 import 语句,但如果调用 Validated-Method 则需要导入它。对于同一个 createUser() 示例,最好在 Meteor 方法中定义它以提高安全性?
【问题讨论】:
-
import不调用服务器端方法。 -
您是否尝试过将在服务器上声明的函数导入到位于客户端文件夹中的文件中?
-
@Jankapunkt 服务器文件对 Meteor 中的客户端文件不可见,即使您导入它们也是如此。
-
正确,这就是为什么您无法将 Meteor 方法导入客户端的原因。因此,唯一的漏洞在于方法的设计(参数、方法内执行的代码、权限检查等)
-
@Jankapunkt 感谢您的指出,我编辑了问题以消除歧义。
标签: javascript meteor import ecmascript-6 es6-modules