Throughout this book we have occasionally notified you of the security risks of a particular tool or practice. In part that's because security is only achieved if you think about it throughout a project, not simply at the end. This chapter provides a deeper coverage of security-related matters including cryptography, information security, potential attacks, and theory. With foundational security concepts in mind, we then apply those ideas to web development by describing best practices for securing your server and some common attacks with defenses.