0

从 Sencha 开发的应用程序向网络服务器发送用户名和密码的最佳实践是什么?

它和 Ext.Ajax 函数一样简单吗?(http://docs.sencha.com/touch/2-0/#!/api/Ext.Ajax)

Ext.Ajax.request({
    url: 'validation-username-password.php',
    params: {
        username: Bob,
        password: pass123
    },
    success: function(response){
        var text = response.responseText;
        // process server response here
    }
});

还有什么我应该考虑的吗?喜欢安全吗?如果我使用上述方法,人们是否能够在应用程序(电话)和网络服务器之间嗅探用户名和密码?

4

3 回答 3

3

确保您的凭据永远不会发送,除非您有安全连接 (SSL/HTTPS) 并且您会没事的。

于 2012-04-06T08:57:58.460 回答
1

Use Secure Connection and Use POST method for sending Credential to server, if you use OAuth or any other Standard Authorization methodology than its good.

于 2012-04-06T11:38:55.797 回答
-1

即使您使用 SSL,也不要以纯文本形式发送密码,而是发送密码的哈希值,并且仅将密码的哈希值存储在服务器上,如果可能的话使用盐。这样,如果黑客进入存储所有密码哈希的服务器数据库,他将不会获得密码列表,而是获得带有盐的哈希列表,这在大多数情况下是无用的。有时,用户在许多站点上使用相同的密码,想象一下,如果黑客进入您的服务器并获取明文密码列表,那么他就有一个可以用来入侵其他站点的许多其他帐户的列表。因此,使用散列而不是明文密码是一种更好的做法。

TL;DR 通过 SSL 发送密码的哈希值而不是明文密码,并且不要在服务器上存储明文密码,而是将密码的哈希值与盐一起存储。

于 2012-08-15T13:55:19.263 回答