This document provides 12 practical tips for securing web applications against common attacks like cross-site scripting and SQL injection. The tips include using carefully vetted validation code, specifying variable types, whitelisting acceptable characters, limiting input size, canonicalizing input before filtering, filtering all input sources, performing filtering on the server-side, utilizing output encoding, choosing the appropriate encoding for outputs, conducting code reviews, and performing penetration tests. The document aims to help developers avoid mistakes like improper input validation and output filtering.