I have an above newb lvl knowledge of php (coding for about 6 months in this language), but no way near intimate knowledge of the language, and a good grasp of database design/development.
I'm trying to work out a secure way of letting outside access to users so they can update their own details in a database.
I've investigated md5 and other encryption methods to secure the password lists, and i've also investigated measures to stop malicious code being entered into the username etc to access our db from unauthorised users.
My question here is, if i use encryption like md5 to protect passwords, and a user forgets a password, can anyone suggest a method for recovering that password?
What i originally wanted to do was have an automated system that would send the password to their registered email address, similar to the system used for this forum (i can never remember my password here, i use it rarely and have so many to remember). This would be difficult if i use md5 to encrypt the passwords. Is there a better option? If i do not encrypt the passwords i can do this, but does that leave me open to letting someone with unauthorised access free reign if they DO manage to get into my system?
This is the first time i have had to consider securing our dbase because our only access previously has been inhouse with a small and trusted team at an early level in our development. I'm sure that we will need this for many areas of our business as it grows and i want to get it right the first time.
Do any of you have any suggestions where i can start to look/research/learn to code for solutions?