There are a number of vulnerabilities, which often plague websites with custom authentication. If your unsure, about security, I would strongly suggest avoiding creating your own, when dealing with sensitive data such as credit details.
A few tips,
- SSL (Secure Sockects Layer) is useless without flagging cookies as secure, ENSURE, you do this otherwise your placing overhead on your servers.
- Cookies, ensure you adopt a decent algorithm otherwise your sending data in plain text.
- Do not expose the session key in the URL.
- Avoid using persistant cookies and limit the the lifetime of the cookie.
- encrypt the time stamp, as cookies can be edited.
- Reauthenticate when dealing with senstive data, usch as passwords or purchasing.
- select the right encryption otherwise unknowingly you could expose the data, even if it is encrypted.
- Block x No. of logins to avoid brute force attacks.
- Allow for random salts.
- Use a different username to their public name/identity.
- Dont simply check for the presence of a verifying cookie, validate it.
- avoid SQL injection, and similar errors.
Hope that helps you get started.
Bookmarks