php不使用账号密码 发邮件,如何使用确认电子邮件发送密码(PHP)

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

是否仍要发送密码和注册详细信息,并将密码存储为哈希?

所以,基本上,注册后,用户会收到一封确认电子邮件,以及用户名和密码,以供参考。当一个网站这样做时,他们是将密码存储为哈希,还是以纯文本的形式存储?

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

这似乎是一个奇怪的问题,但由于我看到过许多网站这样做,我想知道-我的初始假设是错误的吗?那么,这是一个糟糕的做法,还是安全的做法?(我看不出有其他原因有这么多网站会这么做)

有些服务仍然在电子邮件中以纯文本形式发送密码,并将其存储在数据库的哈希表中。不是很好的练习,但很容易。

为什么这个坏主意会成为安全堆栈交换站点的一个问题。如何做到这一点正如您所描述的,将用户输入的密码作为变量,创建一个哈希,保存哈希,然后在电子邮件中使用原始变量。

"首先,我意识到这是一个非常糟糕的做法"-你是对的,那为什么要这样做?

1)生成密码。2)散列,存储在数据库中。3)通过电子邮件发送明文密码,因为您刚刚生成了明文密码,所以它仍在内存中。–问题是什么?

@弗雷德二世——再说一遍,我不想这样做。我只是想解释一下这个过程,如果它不起作用的话。

@死亡-谢谢。你是唯一真正读过问题并给出答案的人。

我认为这个问题太宽泛了,我需要写些什么,不适合在这里发表评论。在这样做的时候,如果我真的写了一个答案,就站在被否决的立场上。不过,我可以简单地用一点伪代码来回答这个问题,简而言之,在存储(安全)哈希之前,为密码设置的变量可以包含在电子邮件中,然后作为哈希存储在数据库中。$pass=$_POST['pass']; echo $pass;…$pass然后用password_hash()保存到数据库中;我在这里能做的最好;-)

但是,它是简单地以明文形式存储在服务器中,还是在发送电子邮件后进行哈希处理?-我们不知道每项服务是如何使用的,以及它们真正的用途。有些密码可以以纯文本形式存储,有些密码可以散列。有些人可能会用一个锁和密钥将纯文本密码存储在不同的位置,有些人可能会这样做并散列;它可以是任何东西。如果您想启动自己的服务或是用户注册站点,那么将密码存储为散列而不是纯文本。有太多的场景可以满足您的要求。我希望我们给你足够的时间开始。继续前进;-)

@弗雷德二-你能把那条评论复制/粘贴下来作为答案吗?我会接受的-这是最好的答案,看看这个问题得到的回答,我想这是我能得到的最好的答案。

@扎克105有更多的信息。

"@Fred-ii- Could you copy/paste that comment as an answer? I – Zack105"

按要求:

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

我们不知道每项服务是如何使用的,以及它们真正的用途。有些密码可以以纯文本形式存储,有些密码可以散列。有些人可能会用一个锁和密钥将纯文本密码存储在不同的位置,有些人可能会这样做并散列;它可以是任何东西。

如果您想启动自己的服务或是用户注册站点,那么将密码存储为散列而不是纯文本。有太多的场景可以满足您的要求。我希望我们给你足够的时间开始。

另一件事是,如果您不知道这一点,那么就准备好语句,如果您希望获得用户输入,那么应该使用这些语句,这将有助于防止可能的SQL注入。

参考文献:

https://en.wikipedia.org/wiki/prepared_声明

https://en.wikipedia.org/wiki/sql_注入

http://php.net/manual/en/book.password.php

来自deceze的评论,从(现在已删除的)答案中提取:

我引用:

"最佳做法是让用户选择自己的密码,并且在任何时候都不要以明文存储或发送密码。密码是一个秘密,必须只存在于用户的头(或安全密码管理器)。用户帐户的安全性取决于密码的保密性。密码在明文中暴露得越多,帐户的安全性就越低。"–死亡

别这样,就这么简单。这样做的网站是出于懒惰。他们不希望支持电话要求密码,也不希望一个技术上不识字的人强迫他们这么做。密码不应以明文形式通过网络发送。人们是愚蠢的,会重复使用密码等。如果你担心人们已经忘记了密码,请给他们发送一个链接,指向你在电子邮件中的密码重置页面。

不是真的回答问题,但这是唯一合理的答案。

我觉得你没有真正读过这个问题……我不想用这个,我只是想看看它是否有效。很明显,它没有,但我要求一个技术解释,而不是有人告诉我它不起作用。我明确地说我不想那样。

@扎克105它确实有效,但不应该这样做。您写过"是否仍要发送密码以及注册详细信息,并将密码存储为哈希?"没有提到你的意图。这被看作是"我如何完成这一点?"如果所有人都说不去,那怎么办无关紧要。

我确实提到了我的意图——我明确地说我不想使用这个,只想澄清这个实践有多安全。

哪里?我能看到的只是你最初认识到这是一种不好的做法,然后问你这是不是一个错误的假设。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值