如果我不想使用Session变量,如何在myapp.js文件中使用全局变量?

Lou*_*s93 1 meteor

由于安全问题,我不想使用Session.在Meteor应用程序中使用全局变量的遵循做法是什么?他们不一定是Handlebars助手顺便说一下.

Dav*_*don 6

我们假设您有一些秘密信息superSecretKey.

将它填充到全局变量(window.superSecretKey)显然不比它更安全Session.get('superSecretKey').稍微好一点的方法是使用方法(仅因为它不会将变量保存在客户端上).例如:

服务器

Meteor.methods({
  getSuperSecretKey: function() {
    return 'abc123';
  }
});
Run Code Online (Sandbox Code Playgroud)

客户

Meteor.call('getSuperSecretKey', function(err, key) {
  // do something useful with key
});
Run Code Online (Sandbox Code Playgroud)

除此之外,你在服务器上做的越多,没有暴露superSecretKey,越好.例如,假设您需要通过需要的REST接口删除文件superSecretKey.您可以传递密钥并让客户端删除该文件,但更安全的解决方案是让服务器为您处理所有事情.