In this course you will learn the most fundamental application-level security concepts. In addition, you will learn about the basic building blocks of security—encryption and cryptographic systems—along with how these can be used to build a sound user authentication system. More importantly, you will be able to use this knowledge to evaluate off-the-shelf authentication packages, and better understand the options they provide. You will learn about the SSL/HTTPS protocols, and how to enable them in your web applications to support encrypted communication between the browser and web server. You will also learn how to use authorization and access control in your web applications in order to ensure that users are only able to access the data they are entitled to view. Next, we will cover the most important types of attacks that your web applications will be exposed to, and we will describe how to guard against them.