Donate
Back to Software Engineering Career Track
Sign in to save your progress and earn a certificate.

Module 10: Security Fundamentals for Developers

Learning Objectives
  • Recognize common vulnerabilities like SQL injection and XSS
  • Understand why passwords must be hashed, never stored in plain text
  • Apply basic input validation on every user-facing input

Security failures are rarely exotic; most come from skipping basic hygiene. SQL injection happens when user input is inserted directly into a database query without proper handling, letting an attacker manipulate the query itself, for example typing input that tricks the database into returning all records instead of one. Cross-site scripting (XSS) happens when untrusted user input is rendered on a page without sanitization, letting an attacker run their own script in another user's browser. You will learn why passwords must always be hashed (irreversibly scrambled with a one-way function) rather than stored as plain text, so that even a data breach doesn't expose users' actual passwords, and the habit of validating and sanitizing every piece of user input, since input is the most common attack surface in any application.

Module Quiz

1. Passwords should be stored in a database:

2. SQL injection is a vulnerability where:

3. Cross-site scripting (XSS) typically occurs when: