在任何地方都没有找到答案,所以我会尝试SO ...
当我在localhost上运行我的Meteor应用程序并导航到我的Chrome JS控制台时,在“Sources”选项卡下,我可以在我的lib文件夹中看到我的代码的完整源代码。
我将大部分代码放在我的meteor应用程序的lib文件夹中,因为必须先将代码加载到其他任何内容之前,以便我的客户端模板中的所有内容都能正确呈现。自从我几个月前开始构建应用程序以来,我已将它放在lib文件夹中。
无论如何,如果应用程序在没有不安全的软件包的情况下投入生产,源代码是否会像这样可见?或者我是否会被迫将代码移到客户端并重新配置我的整个脚本?
答案 0 :(得分:2)
/server
/lib
/client
config.json
文件。正如@Kyll所说,所有客户端和lib代码都将被缩小并连接成一个巨大的文件,并且对所有客户端都可见。 js可以被缩小,但当然不会恢复原始变量名称或任何注释。攻击者可以单步执行客户端代码,保存它,并且通常可以随意对其进行反向工程。这并不意味着它很容易。
您可能会发现these resources有帮助。
答案 1 :(得分:0)
用户将始终能够通过控制台查看所有客户端代码,这就是为什么任何安全相关应该只是服务器端。我会把它分成服务器和客户端目录以及server / lib和client / lib(如果需要)。
答案 2 :(得分:0)
存在时不安全可帮助您无限制地从客户端访问数据库。 (控制台互动)。
删除后,它将撤销客户端可能对db进行的所有访问,并且与db进行交互的唯一方法是在Meteor方法和调用的帮助下。
您可能还需要删除自动发布,并将其替换为Meteor.Publish和Meteor Subscribe。
请查看以下链接以获取更多信息 https://www.meteor.com/tutorials/blaze/security-with-methods https://www.meteor.com/tutorials/blaze/publish-and-subscribe
希望这有助于