我应该将密码保存到javascript对象

时间:2015-12-30 19:00:30

标签: javascript security object password-protection

我读了一本书,其中一个示例在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

谢谢!

0 个答案:

没有答案