0

这是我的登录模型

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){
    }
);

如何将响应(用户名,密码)设置为用户创建的登录模型的属性?

4

1 回答 1

0

您的服务器应该无法为您提供用户密码。干净利落。如果可以,那么您的用户数据不安全

当服务允许您使用用户名/密码登录时,服务器不应以您或其他任何人可以检索原始密码的纯文本版本的任何方式存储密码。您应该将密码存储为用户输入的加盐哈希。然后,当他们尝试登录时,您对输入执行相同的加密,并检查它是否与您存储在数据库中的加密哈希匹配。这就是为什么当您在网站(Twitter、Facebook、Google)上忘记密码时,唯一的选择是重置密码。

您应该永远无法取回密码的纯文本版本。曾经。

于 2013-05-29T20:57:02.423 回答