I am creating a login system and was wondering if anybody had any suggestions. Here is my current setup:
- nonce to check if the login originated from our login form
- session and cookie auth mixed - in a session cookie sha256(username-set-in-a-session,static-cookie-id,user-agent)
- The php session id is regenerated every request
- SSL on the whole site
- Check if they have been active - timeout after 1 hour
- Password must be 8 characters with at least a number and a letter
- Password stored with a static and dynamic salt with the hash sha256
- After 10 failed logins on any account show recaptcha
- After 10 failed logins on one account disable it for 10 minutes or until email confirm
- Generic error messages - ex: login failed, please try again
- SQL injection prevented