我读了一本书,其中一个示例在Node.js中部署了一个javascript对象,以便保存和编辑用户。
将散列密码保存到对象是否安全,即使它是后端的?我认为散列它并保存它是一个很好的做法,而不是将它保存在一个对象中,因为我猜它可能是可访问的。
在一个更简单的项目中,我使用了Apache和同步PHP,因此我获得了密码,将其哈希并将其保存在数据库中。将它存放在物体中对我来说感觉很危险。我习惯于在会话中保留用户的id,所以我知道她是谁,就是这样。
那么,将它保存在一个物体中是否安全还是我在这里过度使用?
这是本书的代码
function User(obj){
for (var key in obj)
{this[key]=obj[key;]}
}
User.prototype.save = function (fn){
var user = this;
user.hashPassword(function (err){
var id = user.id;
//save user on redis...
})
}
User.prototype.hashPassword = function (fn){
var user = this;
bcrypt.genSalt(12, function(err,salt){
user.salt = salt;
bcrypt.hash(user.pass, salt, function(){
user.pass = hash;
fn();
})
})
为了测试这个我添加
var tobi = new User({
name:'tobi',
pass:'im a ferret'
});
tobi.save(function (err){
if (err)throw error;
})
然后点击控制台node folder/filename.js
这本书是“Node.js in Action”, Mike Cantelon,Marc Harter,T.J。 Holowaychuk和Nathan Rajlich ,Manning Publications,©2014,pp.233-236
谢谢!