如何使用确认电子邮件发送密码(PHP)

时间:2016-10-06 13:05:40

标签: php email login passwords

首先,我意识到这是一个非常糟糕的做法 - 然而,我已经看到过这样做的网站,我很想知道。

无论如何都要发送密码和注册详细信息,并且仍然将密码存储为哈希?

因此,基本上,在注册时,用户会收到一封确认电子邮件及其用户名和密码,以供参考。当一个网站这样做时,他们会将密码存储为散列或纯文本吗?

密码以明文形式存储在电子邮件中 ​​- 但是,它是简单地以明文形式存储在服务器中,还是在发送电子邮件后进行哈希处理?

这似乎是一个奇怪的问题,但由于我已经看到许多网站这样做,我想知道 - 我最初的假设错了吗?那么,这种做法实际上是不好的,还是安全的? (我认为没有其他原因这么多网站会这样做)

2 个答案:

答案 0 :(得分:4)

  

“@ Fred-ii-你能复制/粘贴该评论作为答案吗?我 - Zack105”

根据要求:

“但是,它只是在服务器中存储为纯文本,还是在发送电子邮件后进行散列?”

我们不知道每项服务的使用方式和实际操作方式。有些人可能将密码存储为纯文本,有些可能会散列。有些人可能会将纯文本密码存储在一个锁定和放置的不同位置。关键,有些人可能会这样做并哈希;它可以是任何东西。

如果您想要启动自己的服务或用户注册网站,则将密码存储为哈希而不是纯文本。你提出的问题太多了。我希望我们已经给你足够的开始。

如果您不了解这一点,另一件事是准备好的语句,如果您想获得用户输入并且有助于防止可能的SQL注入,那么应该使用它。

参考文献:

来自deceze的评论,来自(现已删除)答案:

我引用:

“最佳做法是让用户选择自己的密码,并且永远不要以明文形式存储或发送密码。密码是秘密,必须存在于用户的头脑中(或安全的密码管理器)用户帐号的安全性取决于密码的保密性。密码以明文显示的越多,帐户的安全性就越低。“ - deceze

答案 1 :(得分:1)

不要。就这么简单。这样做的网站是出于懒惰。他们不希望支持要求密码的支持电话,或者技术文盲的人迫使IT人员去做。密码应永远以明文形式通过网络发送。人们是愚蠢的,并重复使用密码等。如果您担心人们已经忘记了密码,请向他们发送一封指向该电子邮件中密码重置页面的链接。