问题标签 [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 回答
1140 浏览

security - 为什么要存储持久登录 cookie 和密码重置令牌的哈希?

我刚刚阅读了以下内容:

并且不要将持久登录 COOKIE(令牌)存储在您的数据库中,只存储它的哈希值!登录令牌是密码等效的,因此如果攻击者掌握了您的数据库,他/她可以使用这些令牌登录到任何帐户,就像它们是明文登录密码组合一样。因此,在存储持久登录令牌时使用强加盐哈希(bcrypt / phpass)。

(在这个答案中:https ://stackoverflow.com/a/477578/943102 )

我认为应该使用散列,因为人们在多个站点上使用相同的密码,它可以防止攻击者侵入同一用户的其他帐户。由于登录令牌是一个随机值,因此在这种情况下不存在这种风险。我显然遗漏了一些东西,但我找不到任何关于此的更多信息。有人可以解释一下吗?

0 投票
2 回答
3681 浏览

yii - 在 yii 中如何发送密码重置链接

在 yii 中,我正在创建忘记密码功能。为此用户输入电子邮件 id。如果此电子邮件 id 正确,那么我想从数据库中检索 securityQuestion id 并将该问题显示给用户。如果他的答案正确,则将发送密码重置链接到用户的电子邮件 ID。在控制器中,我采取了行动

我有 password.php 作为查看文件,用于输入主电子邮件 ID 和提交按钮

但是在用户提交主电子邮件 ID 后,没有任何操作发生。所以请有人告诉我我需要做哪些改变

0 投票
2 回答
2854 浏览

java - 向用户发送电子邮件以在 Android 应用中重置密码

我通过我的android应用程序中的soap webservices使用MySQL连接开发了一个登录表单(用户名、密码和提交按钮)。在这里我忘记了密码意味着我无法访问我的帐户。那么我该如何访问我的帐户。所以我添加了一个文本视图(忘记密码???点击这里)。我已经完成了注册页面。注册页面有用户名,密码和电子邮件。所以当我忘记密码时意味着单击忘记密码文本视图。然后它会忘记密码活动。当我输入注册的电子邮件 ID 时意味着我的密码已重置并发送到我的电子邮件 ID。所以我知道我现在的密码。我该怎么做。请以编程方式帮助我。

0 投票
0 回答
172 浏览

privacy - 登录/忘记密码错误的最佳实践?

没有代码问题,而是应用程序设计问题。如果用户尝试登录 Web 应用程序并提供未知的用户名(或电子邮件),通常的做法是报告“未知的用户名/密码组合”或类似的内容。IE 对于用户的姓名或密码是否错误是模棱两可的。

对于“忘记密码”页面,通常会看到对用户可用于重置密码的电子邮件地址的请求。如果用户再次输入未知的电子邮件地址,是显示成功页面(可能会混淆用户)还是显示错误页面(可能显示用户已注册该应用程序)更好。如果我显示错误消息,感觉就像是隐私问题,但非常小。

当我忘记我最近重置了我的数据库时,我个人只是在我的开发服务器上受到了这个影响。我无法弄清楚为什么我的重置密码电子邮件没有通过。直到我终于select *在我的用户表上做了一个,我才意识到我在技术上甚至没有注册。

0 投票
2 回答
741 浏览

php - 如何显示忘记密码的sql查询

我是 php/mysql 的新手,我想知道如何完成一个“忘记密码”页面,该页面显示用户在注册期间填写的问题。

我有一个查询,但我似乎无法让它工作

所以我的问题是我将如何显示“安全问题”?

0 投票
2 回答
7812 浏览

security - 忘记密码过程的最佳做法是什么?

我目前正在开发允许用户使用密码登录的 ac# Web 应用程序。我需要包含的一个功能是忘记密码功能。

忘记密码的推荐流程是什么?

我正在考虑这个:

  • 用户点击忘记密码,输入邮箱地址
  • 邮件已发送
  • 单击电子邮件中的链接(链接仅在时间段内有效一次)
  • 被带到网站并要求输入新密码(他们是否也应该回答安全问题?)
  • 密码已更改,已向此类用户发送电子邮件
  • 用户现在可以使用新密码登录
0 投票
3 回答
210 浏览

php - 重置密码:什么是优雅的解决方案?

问题:

如何在不需要安全问题、DOB 或任何其他参数的情况下验证谁在重置密码?

上下文

在许多网站上,当请求重置密码时,随机散列会附加到数据库中的用户名。此哈希作为 URL 的一部分在电子邮件中发送给用户。当用户点击电子邮件链接时,他们会被发送到一个页面,他们可以在其中选择新密码。这里的问题是,用户可以在此“设置新密码”页面上输入任何电子邮件地址,并为该帐户设置新密码。那么如何验证用户是否真正拥有他们设置新密码的帐户?

我认为包含随机哈希的 URL 应该与新密码一起作为参数发送,因为只有在哈希匹配时才能设置密码。但是,这不起作用,因为 $_GET['hash'] 变量仅存在于从电子邮件链接的设置密码页面上。一旦用户单击“提交”,$_GET['hash'] 变量就消失了。

简单的解决方案是通过提交时的 URL 再次传递 $_GET['hash'] 变量,但这为开发人员创建了一个额外的步骤,并且可能会使他们感到困惑。(我正在创建一个库,所以我的代码必须足够简单,以便开发人员理解和集成)。

人们以前是如何解决这个问题的?有人建议使重置链接有时间限制。这将有所帮助,如果说链接仅在 30 分钟内有效,那么这意味着恶意用户只有在该人在过去 30 分钟内请求重置时才能更改其他人的密码。但是,那里仍然存在漏洞窗口,因此并不完美。

如果需要,请要求澄清。

谢谢

0 投票
1 回答
6334 浏览

ruby-on-rails - 设计恢复密码链接

我尝试在我的布局视图中设置设计恢复密码链接...我尝试这样做:

但我明白了

如何在布局中渲染忘记密码?在rails视图中链接?

还有我的模型:

0 投票
1 回答
146 浏览

iphone - 恢复密码生成

在测试我们的应用程序期间,观察到如果用户忘记密码,则无法进入应用程序。

发现这一点后,我们实施了如下密码生成技术 1. 使用用户信息创建特定字符串。2. 对字符串应用 SHA1 3. 将 SHA1 哈希的一部分作为密码

上述算法适用于服务器端和设备端。这样他们就不需要有任何交互了。所以如果用户忘记了他的密码,他可以请求服务器。服务器运行上述算法并将生成的密码发送到用户电子邮件。在设备端,使用相同的中音生成相同的密码。因此,当用户输入它时,它匹配并且用户被授予访问权限。

不知何故,我对此并不满意,因为我们使用相同的字符串来生成密码。因此,每次用户忘记密码并生成密码时,他都会得到相同的密码,这不是密码生成器的工作方式。

所以我正在考虑向字符串添加更多内容,这些内容将是可变的,但在服务器端和设备端都是相同的。其中一个选项是使用字符串中的日期,但如果服务器位于不同的时区,设备和服务器将生成不同的密码。

有没有更好的解决方案?请建议...

0 投票
2 回答
4661 浏览

ruby-on-rails - 在 Hartl 教程之后向 Rails 应用程序添加密码重置功能

我是 RoR 的新手,并且一直在学习 Hartl教程(非常棒)。我已经成功地完成了第 9 章(稍微调整一下,因为我的最终目标不是制作微博网站)。那时,我决定要在我的应用程序中添加一个“记住我”复选框并重置密码功能,所以我跳到 railscast 教程(正如 Hartl 所建议的那样)。复选框非常顺利,但我在密码重置部分遇到了障碍。这是一个接一个的错误。我不得不承认我忍不住做了一点调整——我尝试使用form_for语法而不是form_tag语法。我已经能够提交一个电子邮件地址,但后来我得到了一个No route matches [POST] "/reset_password/new"信息。在过去的两天里,我一直在阅读关于 stackoverflow 的类似帖子并尝试了这些建议,但我似乎无法想出一些可行的方法。请帮忙!

这是细节:

我的密码重置视图位于/app/views/reset_password/new.html.erb

我的控制器位于/app/controllers/reset_password_controller.rb

我的路线位于/config/routes.rb

最后,$ rake routes报告如下:

在此先感谢您的帮助!