由于安全问题,我不想使用Session。在Meteor应用程序中使用全局变量的遵循做法是什么?他们不一定是Handlebars帮手btw。
答案 0 :(得分:6)
假设您有一些名为superSecretKey
的秘密信息。
将其填充到全局变量(window.superSecretKey
)显然不比Session.get('superSecretKey')
更安全。稍微好一点的方法是使用方法(仅因为它不会将变量保存在客户端上)。例如:
Meteor.methods({
getSuperSecretKey: function() {
return 'abc123';
}
});
Meteor.call('getSuperSecretKey', function(err, key) {
// do something useful with key
});
除此之外,在不暴露superSecretKey
的情况下在服务器上执行的操作越多越好。例如,假设您需要通过需要superSecretKey
的REST接口删除文件。您可以传递密钥并让客户端删除该文件,但更安全的解决方案是让服务器为您处理所有事情。