This article discusses three basic steps that can be taken to avoid creating bad code: ensuring that you can trust your input by verifying the input you receive from users, manipulating that input data carefully, and providing the appropriate people with secure, reliable access to that data.