php - 发布纯文本密码,还有其他选择吗

标签 php ssl

我在这里处理遗留代码。 有一个带有用户名/密码输入的 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/

相关文章:

php - 更改密码 PHP MySQL

tomcat - 让我们在 Tomcat 中加密

php - 如何在我的 paypal ipn 中使用 curl?

Delphi Indy HTTPS Web 服务器错误(观察到违反协议(protocol)的 EOF)

java - 在 Android 应用程序中使用 SSL

php - 有没有一种干净的方法可以使用 PHP 的 `list()` *跳过* 数组索引?

php - 基本的 ssl 和 php

php - 如何删除超过特定时间的文件/文件夹

php - 在 Yii2 中发送之前如何获取 HTML 电子邮件内容?

ssl - 无法通过 Fiddler2 执行 HTTPS 本地隧道 - 证书问题