Hi Guys,
I'm working on a site and I am hashing all user passwords. This way, we don't have an actual copy of their password.
Because of this, if someone forgets their password, we can't just email it to them, because we don't actually know it. So instead, we will reset their password to something random, and email it to them.
As it stands right now, if you go to login, but forget your password, you can first ask for a password hint, which is something you input when you register. If you still can't remember it, you can then ask for the password to be reset and emailed to you.
This is all fine and dandy, but I'm worried about that being abused.
I'm going to integrate a captcha for password resets(that way someone couldn't run a script that would go and reset a bunch of usernames).
What are some other ways to deter people from just entering in other people's usernames and resetting their password?
Should I not automatically reset their password? I was thinking of maybe just emailing them a link, which when clicked, THEN resets their password, and displays it on screen so they use it to login, then change their password to something they remember.
Is that the best way? I'm thinking it might be better since it avoids sending a password in clear text via email, and if someone starts putting in other people's user names it won't matter because you have to actually get the email to the email on file to click the link and reset it.
I'm working on a site and I am hashing all user passwords. This way, we don't have an actual copy of their password.
Because of this, if someone forgets their password, we can't just email it to them, because we don't actually know it. So instead, we will reset their password to something random, and email it to them.
As it stands right now, if you go to login, but forget your password, you can first ask for a password hint, which is something you input when you register. If you still can't remember it, you can then ask for the password to be reset and emailed to you.
This is all fine and dandy, but I'm worried about that being abused.
I'm going to integrate a captcha for password resets(that way someone couldn't run a script that would go and reset a bunch of usernames).
What are some other ways to deter people from just entering in other people's usernames and resetting their password?
Should I not automatically reset their password? I was thinking of maybe just emailing them a link, which when clicked, THEN resets their password, and displays it on screen so they use it to login, then change their password to something they remember.
Is that the best way? I'm thinking it might be better since it avoids sending a password in clear text via email, and if someone starts putting in other people's user names it won't matter because you have to actually get the email to the email on file to click the link and reset it.