这是我的登录模型
LoginModel = Backbone.Model.extend({
initialize: function(){
},
defaults:{
userName: 'undefined',
passwd: 'undefined'
},
urlRoot: 'https://www.xxxx.xxxx/encryptedcredentials',
parse: function(response, options){
},
validate: function(attributes, options){
}
});
我正在向服务器发布令牌以接收加密的用户名&密码。在成功方法上,它返回加密的凭据。
// creating a loginmodel
var loginmodel = new LoginModel();
// calling save to post the token
loginmodel.save({token:"xxxxxxxxxxxxxx"},{
success: function(model, response){
//server is returning encrypted the user name and password
response.encUserName;
response.encPassword
},
error: function(model, response){
}
);
如何设置响应(userName, passwd)的用户创建的loginmodel的属性?
您的服务器应该无法为您提供用户密码。简单明了。如果可以,那么你的用户数据不安全。
当服务允许您使用用户名/密码登录时,服务器永远不应该以任何方式存储密码,以便您或其他人可以检索原始密码的明文版本。您应该将密码存储为用户输入的盐渍散列。然后,当他们尝试登录时,您对输入执行相同的加密,并检查它是否与存储在数据库中的加密散列相匹配。这就是为什么当您在网站(Twitter, Facebook, Google)上忘记密码时,唯一的选择是重置密码。
永远不能返回密码的明文版本。。