标签: password-recovery

在Java中实现忘记密码功能

我目前正在Java项目中实现忘记密码功能.我的方法是,

  1. 用户单击忘记密码链接.
  2. 在忘记密码页面中,系统提示用户输入他/她已注册到系统的电子邮件地址.
  3. 包含重置密码的链接的电子邮件将在上面的步骤中发送到给定的电子邮件地址.
  4. 用户单击该链接,他/她将被重定向到页面(重置密码),用户可以在其中输入新密码.
  5. 在"重置密码"页面中,"电子邮件地址"字段自动填写,无法更改.
  6. 然后用户输入他的新密码,并更新与数据库中的电子邮件地址相关的字段.

虽然我已经限制了email address重置密码页面中的字段进行编辑(只读字段),但任何人都可以更改浏览器地址栏中的URL并更改电子邮件地址字段.

如何限制每个用户更改重置密码页面中的电子邮件地址?

java change-password forgot-password password-recovery

17
推荐指数
2
解决办法
4万
查看次数

如果忘记密码,有没有办法闯入PostgreSQL数据库?

我有一个拥有PostgreSQL数据库的客户端,他不记得我们在设置数据库时使用的密码.有没有办法恢复这些信息,所以我不必吹走他的数据库,从头开始?

数据库正在PC上运行.

database postgresql password-recovery

16
推荐指数
1
解决办法
1万
查看次数

在哪里可以找到C#示例代码以在ASP .NET MVC2中实现密码恢复

如何在MVC2应用程序中实现密码重置?

使用ASP .NET成员资格提供程序对密码进行哈希处理.不使用密码恢复问题.使用具有标准AccountController类的标准ASP .NET MVC2项目模板.

如果用户忘记了密码,则应将带有临时链接或新密码的电子邮件发送到用户的电子邮件地址.

在MVC 2 C#中哪里可以找到实现它的代码?

堆栈溢出包含两个答案,讨论实现它的方法.没有示例代码.我搜索了"asp .net mvc密码重置c#示例代码下载",但还没有找到示例代码.

我是MVC的新手.在哪里可以找到密码恢复的示例代码?这是VS2010生成的项目模板中缺少的.

更新

我在Mono 2.10中尝试了这个代码,但是有异常:

Mono不支持CspParameters

在线

        des.Key = pdb.CryptDeriveKey("RC2", "MD5", 128, new byte[8]);
Run Code Online (Sandbox Code Playgroud)

如何在Mono中运行它?

堆栈跟踪:

System.NotSupportedException: CspParameters not supported by Mono
at System.Security.Cryptography.PasswordDeriveBytes.CryptDeriveKey (string,string,int,byte[]) [0x0001b] in /usr/src/redhat/BUILD/mono-2.10.2/mcs/class/corlib/System.Security.Cryptography/PasswordDeriveBytes.cs:197
at store2.Helpers.Password.EncodeMessageWithPassword (string,string) <IL 0x00055, 0x000f3>
at store2.Helpers.AccountHelper.GetTokenForValidation (string) <IL 0x00033, 0x00089>
at MvcMusicStore.Controllers.AccountController.PasswordReminder (MvcMusicStore.Models.PasswordReminderModel) <IL 0x001ac, 0x00495>
at (wrapper dynamic-method) System.Runtime.CompilerServices.ExecutionScope.lambda_method (System.Runtime.CompilerServices.ExecutionScope,System.Web.Mvc.ControllerBase,object[]) <IL 0x00020, 0x0005b>
at System.Web.Mvc.ActionMethodDispatcher.Execute (System.Web.Mvc.ControllerBase,object[]) <IL 0x00008, 0x0001b>
at System.Web.Mvc.ReflectedActionDescriptor.Execute (System.Web.Mvc.ControllerContext,System.Collections.Generic.IDictionary`2<string, object>) <IL 0x00072, 0x00103>
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc mono password-recovery

15
推荐指数
1
解决办法
1万
查看次数

ASP.NET成员资格提供程序 - 重置密码功能 - 电子邮件确认和密码更改

有没有人有以下功能的解决方案(示例代码):

  • 创建randomGuid/Cryptographically强随机数
  • 将包含随机数的唯一URL发送到用户的电子邮件地址
  • 确认后,系统会要求用户更改密码

我的提供者目前通过这种方式进行参数化:

enablePasswordRetrieval="false" 
enablePasswordReset="true" 
requiresQuestionAndAnswer="false" 
applicationName="/" 
requiresUniqueEmail="true" 
passwordFormat="Hashed" 
maxInvalidPasswordAttempts="5" 
minRequiredPasswordLength="5" 
minRequiredNonalphanumericCharacters="0" 
passwordAttemptWindow="10" 
passwordStrengthRegularExpression="" 
name="AspNetSqlMembershipProvider"
Run Code Online (Sandbox Code Playgroud)

这种类型的程序的安全问题进行了讨论这里之前.

c# asp.net asp.net-membership forgot-password password-recovery

13
推荐指数
1
解决办法
9461
查看次数

如何通过sql server更改或更新asp.net成员资格中的密码

我必须更改密码别的东西,我有喜欢的所有细节userid,username,encrypted password,password format.

如何在asp.net会员资格中通过SQL更改密码?

sql asp.net asp.net-membership password-recovery sql-server-2008

13
推荐指数
1
解决办法
2万
查看次数

在python中生成重置令牌的最佳方法是什么?

我正在尝试为密码重置进行验证过程,我使用的是两个值:纪元时间,我想使用用户的旧密码(pbkdf2)作为密钥,

由于我不想获得非ASCII字符,我使用的是SimpleEncode库,因为它很快,因为它只是一个使用了密钥的BASE64,但问题是密码太长(196个字符)所以我得到一个长密钥!

我所做的就是分割结果code = simpleencode.encode(key,asci)[::30],但这不是唯一的!

为了了解它是如何工作的,我尝试了Facebook重置过程,但给出的是一个数字!那么这个过程是如何工作的,难道他们不会使用密钥来让某人伪造链接来重置某人的密码吗?

更新:算法将如何工作:

1-使用epoche获得时间 time.time()

2-生成epoche时间的Base64(用于URL)和纪元时间值+一键,此键为PBKDF2(密码).

3-生成网址www.example.com/reset/user/Base64(time.time())并发送此网址+ simpleencode.encode(key,asci)[::30]

4-当用户点击URL时,他把生成的代码,这个生成的代码,如果它与URL匹配,那么让他修改密码,否则,它是一个忘记URL!

python registration password-recovery

13
推荐指数
2
解决办法
1万
查看次数

使用发送到电子邮件的动态URL实现Spring安全密码恢复的指南

我发现很难进行密码恢复,因为我以前从未这样做过.

到目前为止,我的网络应用程序有:

Spring Security,其中正确地密码密码并实现用户角色并正常工作.

该策略暗示了stackoverflow的研究:

  1. 用户点击忘记密码按钮,在那里输入他的电子邮件地址.
  2. 动态链接将发送到电子邮件地址
  3. 用户打开电子邮件地址中的链接
  4. 将重定向到密码重置页面

什么是未知的:

  • 如何给出链接动态性 - 世代的方法
  • 链接有一个超时 - 这里发现了一些问题,但通常涉及自定义处理程序或弹簧安全功能的扩展
  • 请求映射方法以响应此类动态链接
  • 临时链接存储方法 - 数据库,会话等?

正如您所看到的,对于单个问题,列表非常严重.因此希望您能够提供指导资源,以便逐步完成.我有点惊讶我在Spring Security文档中找不到这个.谢谢.

我是学生,所以不知道这样做的行业最佳实践,尤其是在Java环境中,所以我真的希望任何人都能提供帮助.

java spring-security forgot-password password-recovery

13
推荐指数
2
解决办法
2万
查看次数

如何实施密码重置链接

我目前有一个系统,如果用户忘记了密码,他们可以通过点击忘记密码链接重置密码.他们将被带到他们输入用户名/电子邮件的页面,然后会向用户发送一封电子邮件,我想知道如何在电子邮件中实现密码重置链接,以便用户点击链接后/她被带到一个页面,允许他们重置密码.

这是我控制器中的代码

public ActionResult ForgotPassword()
        {
           //verify user id

            string UserId = Request.Params ["txtUserName"];
            string msg = "";
            if (UserId == null) 
            {
                msg = "You Have Entered An Invalid UserId - Try Again";
                ViewData["ForgotPassword"] = msg;
                return View("ForgotPassword");
            }

            SqlConnection lsql = null;
            lsql = DBFactory.GetInstance().getMyConnection();

            String sqlstring = "SELECT * from dbo.[USERS] where USERID = '" + UserId.ToString() + "'";
            SqlCommand myCommand = new SqlCommand(sqlstring, lsql);
            lsql.Open();
            Boolean validUser;         
            using (SqlDataReader myReader = myCommand.ExecuteReader())
            {

                validUser = false; …
Run Code Online (Sandbox Code Playgroud)

c# sql-server visual-studio-2010 password-recovery

13
推荐指数
1
解决办法
1万
查看次数

重置忘记的用户密码的最佳做法

据我所知,有两种合理的方法可以重置用户忘记的密码.

  1. 让用户输入他们的电子邮件地址,并将新的明文密码发送到他们的电子邮件地址.

  2. 链接将发送到其电子邮件地址,该URL在URL中具有UID号.单击此按钮会将用户带到网站上的表单,在那里他们可以选择自己的新密码.

哪种方法更可取,为什么?

如果使用方法1,则第三方可能会阅读电子邮件并获取新密码.如果使用方法2,什么是阻止某人有条不紊地通过UID代码尝试访问表单来更改用户的密码?

plaintext forgot-password password-recovery

12
推荐指数
2
解决办法
2万
查看次数

时间限制,或一次性使用,密码重置令牌?

用户忘记了密码,并且(几乎)所有会员网站都需要一种方法来帮助用户重新访问.

我想实现常见的场景:

  1. 用户点击网站,尝试登录,不能,并意识到他们忘记了密码 - 废话!
  2. 用户输入电子邮件地址并点击"忘记密码"
  3. 用户使用密码重置链接获取电子邮件

以下是我计划实现的方法(C#/ ASP.NET MVC):

  1. 当用户输入电子邮件并点击"忘记密码"按钮时,我的网站将生成GUID,将其存储在DB(member.ResetToken)中的成员实体上,并通过电子邮件向他们发送带有该GUID的链接(发送的电子邮件将通知他们只能使用此链接一次)
  2. 用户点击该链接,我的网站会根据网址中的内容查找其帐户member.ResetToken.如果找到他们的帐户,请向他们显示密码重置表单,并在他们完成重置后清除member.ResetToken其帐户.

这是我的问题:保持这样(他们可以随时,现在或将来使用该链接重置密码)或添加时间戳以限制他们重置密码的时间长度?

从用户体验的角度来看,只要你准备好就重置密码的能力很好,但我想确保我不会忽视这可能带来的一些安全问题.

security passwords password-recovery

12
推荐指数
2
解决办法
1万
查看次数