我在这里处理遗留代码。
有一个带有用户名/密码输入的 HTML 表单。
然后将表单发送到服务器(使用 SSL),并将密码与数据库值进行比较。
问题:有没有办法在密码发送到服务器时“隐藏”(加密)密码?
即使我将散列密码和唯一用户盐存储在数据库中,
密码在用户发送时存在风险。
专业人士是如何做到的?
**编辑: 我计划将密码存储为具有唯一盐的哈希值。
如果有人获得了密码(如果 SSL 遭到破坏)是否意味着黑客可以毫无问题地获得访问权限?
最佳答案
在常规的用户名/密码登录中,密码总是发送到服务器。理想情况下,服务器然后对输入的密码进行哈希处理,并与存储在数据库中的哈希值进行比较——对每个密码使用唯一的盐。正如@Sneftel 所说,当您使用 SSL 时,密码不会以明文形式发送。
想一想;如果只有密码 hash 被发送到服务器,并且服务器将其与数据库中的哈希进行比较——这与仅将密码以明文形式存储在数据库中有何不同?任何攻击者只要获得哈希值就足以进入系统。
这里的安全问题是密码本身以明文形式存储在您的数据库中——这不是一个好主意。这里有一些提示:http://alias.io/2010/01/store-passwords-safely-with-php-and-mysql/
关于php - 发布纯文本密码,还有其他选择吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117290/