问题标签 [forgot-password]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
811 浏览

php - PHP忘记密码方法

可能重复:
最好的“忘记密码”方法是什么?

在阅读了不同的忘记密码请求技术之后,我决定通过电子邮件向用户发送一个链接,他们可以在其中更改密码。我的问题是最好的方法是什么?这是我目前的方法:

  1. 向用户询问他们的电子邮件
  2. 向他们发送一个指向 newpassword.php 页面的链接,其中包含随机生成的长字母数字代码作为参数。
  3. 散列该代码并将其与电子邮件地址和时间戳一起存储在 mysql 表中
  4. 当用户访问该链接时,系统会再次要求他们提供电子邮件。
  5. 在表格中搜索该电子邮件。如果时间戳超过 24 小时,它将被删除,用户必须请求另一个链接。
  6. 检查代码是否匹配。如果是这样,让用户重置密码。
  7. 更改用户表中的密码并发送另一封电子邮件以确认已更改。

我是网站安全的新手,但我没有找到很多让用户重置忘记密码的算法示例(除了简单地创建一个新密码并将其发送给他们,这对我来说似乎相当弱)。我的方法中是否存在任何安全漏洞?有人知道我可以查看的任何好的指南吗?提前致谢!

0 投票
2 回答
5268 浏览

mysql - 在 Windows 上重置 root mysql

按照在链接处重置 root 的推荐说明以及在 stackoverflow 处的其他建议进行操作。我尝试使用和不使用 --defaults-file 选项的两种方式重置我的根通行证

首先我试过了。

错误:

C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld:参数太多(第一个额外是 'ûinit-file=C:\mysql-init.txt')。

接下来我尝试了

错误:

C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld:参数太多(第一个 ex tra 是 'MySQL55')。

“参数太多”让我认为我的语法是问题所在

0 投票
1 回答
399 浏览

drupal-6 - Drupal 6如何防止特定用户的自动密码恢复和重置

我有一个带有特殊用户名“guest”的客户网站,允许未经授权的用户登录和注册活动。但最近密码已被更改,似乎是在登录时通过请求密码恢复/重置来完成的。该重置是自动完成的,尽管它会将临时密码通过电子邮件发送给访客帐户的 ~manager~,但它需要将密码重复重置为其原始和已知值。

那么,只有当用户名是“guest”时才可以防止密码恢复/重置,特别是?从而不会影响其他授权用户在忘记密码时进行重置?

仅供参考:我在 drupal 上看到的最后一篇文章是 2005 年......从那以后什么都没有,它是一个节点/16909。在那篇文章中提供了一个补丁,但它适用于 Drupal 版本 5,其中一条评论来自 Dries,他说在找到更好的解决方案之前不会将补丁合并到一个版本中。我在 Drupal 6 上。

有什么解决办法???

卡尔

0 投票
7 回答
6581 浏览

passwords - 有没有一种安全的方法可以通过电子邮件以明文形式向用户发送密码?

如果我理解正确,通过电子邮件发送密码的最大问题是它要求密码以明文形式存储在数据库中。如果数据库遭到破坏,攻击者将获得对所有帐户的访问权限。

有解决此问题的方法吗?

如何尽可能安全地通过电子邮件向用户发送密码?

0 投票
3 回答
1730 浏览

php - 这是实现“忘记密码”的好方法吗?特征?

我目前正在设计一个小型网站,我想实现“忘记密码?” 特征。这是我的想法:

忘记密码的网页会有这个:

在“制作临时密码”按钮上单击:

  1. 清理 SQLi/XSS 的电子邮件输入
  2. 检查数据库中是否存在电子邮件地址
    • 如果没有,告诉用户创建新帐户或检查电子邮件拼写
  3. 创建随机密码(即“xh5MvQe”)并将其放入数据库中的用户临时密码字段中。
    • 如果已经存在则覆盖。不要触摸主密码。在接下来的 48 小时内,用户将能够使用两个密码登录。
  4. 获取当前 UTC 时间加上 48 小时,并将其放入数据库中用户的临时密码到期日期字段中。如果已经存在则覆盖。
  5. 使用临时密码向用户发送电子邮件

我的数据库有用户表的这些字段:

一旦用户获得密码,他们就可以登录并更改他们的主密码。

问题是:这是实现此功能的安全方式吗?我主要关心的是通过电子邮件发送纯文本密码。我已经看到用电子邮件哈希/时间戳/随机 id 作为 GET 参数生成链接的另一种方式,但我看不出这有多安全。如果我错了,请纠正我。

0 投票
5 回答
16609 浏览

php - 如何从 MD5 恢复密码?

我正在使用 md5 在我的数据库中加密用户的密码,我希望他们在忘记密码时通过向他们发送电子邮件来取回密码。问题是我不知道如何编写 PHP 代码来恢复它。

任何答案或适当的链接将不胜感激。谢谢..

0 投票
4 回答
304 浏览

passwords - 丢失帐户的最佳密码重置行为

我想知道当用户请求为不存在的电子邮件重置密码时,最好的行为是什么。

上下文:用户未登录。他们只需输入电子邮件并点击重置按钮。

  1. 如果我立即告诉请求重置的用户该帐户不存在,这既是一个安全漏洞,也是一个隐私问题。
  2. 如果我什么都不做,这是一个无辜的错误(他们认为他们有一个帐户),他们会想知道到底发生了什么。最神秘的选择,最不容易被滥用。
  3. 我可以发送一封电子邮件,说明已请求重置密码但没有帐户(应该忽略等等等等)。这似乎是最不有害的,但它有点受到滥用。

更新:进一步考虑,我真的不知道1有什么大不了的,因为他们可以通过简单地尝试注册/使用相同的电子邮件来获得相同的信息......除非我错过了什么......

0 投票
2 回答
252 浏览

symfony-1.4 - sfDoctrineGuard default_from_email

我有一个 Symfony 1.4 系统,用于根据域名从单个 Symfony 项目动态加载不同的站点内容。该系统有一个后端,在后端我的“忘记密码”功能运行良好,有 1 个问题。它发送的电子邮件在 apps/backend/config/app.yml 中设置,设置如下:

但我有多个域,而不仅仅是一个。

在我的数据库中,我存储了域名,我的控制器具有获取当前域名的逻辑,查询数据库,然后保存 sid (site_id) 的会话属性,它是给定域的表 id。

我想要做的是能够将 default_from_email 设置为当前域。

取决于最终用户用于访问该站点的域。我的问题是..有没有办法

然后在 sfDoctrineGuardPlugin 中填充与忘记密码功能相关的某处或是否有办法覆盖 sfDoctrineGuardPlugin sfGuardForgotPassword 模块以插入逻辑以使用当前域作为发件人电子邮件

目前我的解决方案是将逻辑插入到 BasesfGuardForgotPasswordActions.class.php 中,这不是正确的方法(尽管它有效),但我需要快速修复。

0 投票
1 回答
459 浏览

cakephp - cakephp忘记密码系统

我想做一个登录系统,用“忘记密码?” ,这是我发现的唯一例子..忘记密码

但我的身份验证权限有问题...我把链接“忘记密码?” 在我看来,当我单击链接时 login.ctp 不允许我重定向到 /user/forgot.ctp 并从文件 app_controller.php 上的 beforeFilter() 函数向我发送一条消息

这是我在 login.ctp 中的链接

当我登录时它可以工作,但是当我没有登录时它不起作用并向我发送可能是问题的消息错误?

0 投票
1 回答
190 浏览

windows-xp - 单机系统密码丢失,域控制器崩溃,无法重置密码

在网络故障期间,我们的域控制器崩溃并且不再可用。其中一位用户丢失了密码,并且不记得了。由于我没有域控制器来重置他的密码,我该如何继续帮助他?

初始设置:通过域控制器连接的所有计算机。

当前设置:没有域控制器。

任何帮助将非常感激!!!