I've just started working on implementing my first public-facing website. Since I'm new to this, I think if a list of common pitfalls, what they are, and how to avoid them is warranted.
I'm looking for things like:
- SQL injection (I know this one, but if anyone knows of tools to analyse a website for injection vulnerabilities, that'd be useful).
- Incorrect storage of passwords. I know I should use salt. What facilities does ASP.NET MVC provide for me to do this?
- Login rate limiting (Jeff mentioned it on Coding Horror today). How would I implement this in ASP.NET MVC? Can I do this with the standard Membership Provider implementation?
- What exactly is XSS and what tools are in the ASP.NET MVC toolbox for avoiding it?
- etc.
If a topic has been dealt with in another question, a quick summary and a link to that question would be a good idea.