问题标签 [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.
security - 为什么要存储持久登录 cookie 和密码重置令牌的哈希?
我刚刚阅读了以下内容:
并且不要将持久登录 COOKIE(令牌)存储在您的数据库中,只存储它的哈希值!登录令牌是密码等效的,因此如果攻击者掌握了您的数据库,他/她可以使用这些令牌登录到任何帐户,就像它们是明文登录密码组合一样。因此,在存储持久登录令牌时使用强加盐哈希(bcrypt / phpass)。
(在这个答案中:https ://stackoverflow.com/a/477578/943102 )
我认为应该使用散列,因为人们在多个站点上使用相同的密码,它可以防止攻击者侵入同一用户的其他帐户。由于登录令牌是一个随机值,因此在这种情况下不存在这种风险。我显然遗漏了一些东西,但我找不到任何关于此的更多信息。有人可以解释一下吗?
yii - 在 yii 中如何发送密码重置链接
在 yii 中,我正在创建忘记密码功能。为此用户输入电子邮件 id。如果此电子邮件 id 正确,那么我想从数据库中检索 securityQuestion id 并将该问题显示给用户。如果他的答案正确,则将发送密码重置链接到用户的电子邮件 ID。在控制器中,我采取了行动
我有 password.php 作为查看文件,用于输入主电子邮件 ID 和提交按钮
但是在用户提交主电子邮件 ID 后,没有任何操作发生。所以请有人告诉我我需要做哪些改变
java - 向用户发送电子邮件以在 Android 应用中重置密码
我通过我的android应用程序中的soap webservices使用MySQL连接开发了一个登录表单(用户名、密码和提交按钮)。在这里我忘记了密码意味着我无法访问我的帐户。那么我该如何访问我的帐户。所以我添加了一个文本视图(忘记密码???点击这里)。我已经完成了注册页面。注册页面有用户名,密码和电子邮件。所以当我忘记密码时意味着单击忘记密码文本视图。然后它会忘记密码活动。当我输入注册的电子邮件 ID 时意味着我的密码已重置并发送到我的电子邮件 ID。所以我知道我现在的密码。我该怎么做。请以编程方式帮助我。
privacy - 登录/忘记密码错误的最佳实践?
没有代码问题,而是应用程序设计问题。如果用户尝试登录 Web 应用程序并提供未知的用户名(或电子邮件),通常的做法是报告“未知的用户名/密码组合”或类似的内容。IE 对于用户的姓名或密码是否错误是模棱两可的。
对于“忘记密码”页面,通常会看到对用户可用于重置密码的电子邮件地址的请求。如果用户再次输入未知的电子邮件地址,是显示成功页面(可能会混淆用户)还是显示错误页面(可能显示用户已注册该应用程序)更好。如果我显示错误消息,感觉就像是隐私问题,但非常小。
当我忘记我最近重置了我的数据库时,我个人只是在我的开发服务器上受到了这个影响。我无法弄清楚为什么我的重置密码电子邮件没有通过。直到我终于select *
在我的用户表上做了一个,我才意识到我在技术上甚至没有注册。
php - 如何显示忘记密码的sql查询
我是 php/mysql 的新手,我想知道如何完成一个“忘记密码”页面,该页面显示用户在注册期间填写的问题。
我有一个查询,但我似乎无法让它工作
所以我的问题是我将如何显示“安全问题”?
security - 忘记密码过程的最佳做法是什么?
我目前正在开发允许用户使用密码登录的 ac# Web 应用程序。我需要包含的一个功能是忘记密码功能。
忘记密码的推荐流程是什么?
我正在考虑这个:
- 用户点击忘记密码,输入邮箱地址
- 邮件已发送
- 单击电子邮件中的链接(链接仅在时间段内有效一次)
- 被带到网站并要求输入新密码(他们是否也应该回答安全问题?)
- 密码已更改,已向此类用户发送电子邮件
- 用户现在可以使用新密码登录
php - 重置密码:什么是优雅的解决方案?
问题:
如何在不需要安全问题、DOB 或任何其他参数的情况下验证谁在重置密码?
上下文
在许多网站上,当请求重置密码时,随机散列会附加到数据库中的用户名。此哈希作为 URL 的一部分在电子邮件中发送给用户。当用户点击电子邮件链接时,他们会被发送到一个页面,他们可以在其中选择新密码。这里的问题是,用户可以在此“设置新密码”页面上输入任何电子邮件地址,并为该帐户设置新密码。那么如何验证用户是否真正拥有他们设置新密码的帐户?
我认为包含随机哈希的 URL 应该与新密码一起作为参数发送,因为只有在哈希匹配时才能设置密码。但是,这不起作用,因为 $_GET['hash'] 变量仅存在于从电子邮件链接的设置密码页面上。一旦用户单击“提交”,$_GET['hash'] 变量就消失了。
简单的解决方案是通过提交时的 URL 再次传递 $_GET['hash'] 变量,但这为开发人员创建了一个额外的步骤,并且可能会使他们感到困惑。(我正在创建一个库,所以我的代码必须足够简单,以便开发人员理解和集成)。
人们以前是如何解决这个问题的?有人建议使重置链接有时间限制。这将有所帮助,如果说链接仅在 30 分钟内有效,那么这意味着恶意用户只有在该人在过去 30 分钟内请求重置时才能更改其他人的密码。但是,那里仍然存在漏洞窗口,因此并不完美。
如果需要,请要求澄清。
谢谢
ruby-on-rails - 设计恢复密码链接
我尝试在我的布局视图中设置设计恢复密码链接...我尝试这样做:
但我明白了
如何在布局中渲染忘记密码?在rails视图中链接?
还有我的模型:
iphone - 恢复密码生成
在测试我们的应用程序期间,观察到如果用户忘记密码,则无法进入应用程序。
发现这一点后,我们实施了如下密码生成技术 1. 使用用户信息创建特定字符串。2. 对字符串应用 SHA1 3. 将 SHA1 哈希的一部分作为密码
上述算法适用于服务器端和设备端。这样他们就不需要有任何交互了。所以如果用户忘记了他的密码,他可以请求服务器。服务器运行上述算法并将生成的密码发送到用户电子邮件。在设备端,使用相同的中音生成相同的密码。因此,当用户输入它时,它匹配并且用户被授予访问权限。
不知何故,我对此并不满意,因为我们使用相同的字符串来生成密码。因此,每次用户忘记密码并生成密码时,他都会得到相同的密码,这不是密码生成器的工作方式。
所以我正在考虑向字符串添加更多内容,这些内容将是可变的,但在服务器端和设备端都是相同的。其中一个选项是使用字符串中的日期,但如果服务器位于不同的时区,设备和服务器将生成不同的密码。
有没有更好的解决方案?请建议...
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
报告如下:
在此先感谢您的帮助!