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