# web-security > Enforce web security and avoid security vulnerabilities - Author: Maximilian Schwarzmüller - Repository: academind/claude-code-course-resources - Version: 20260126105836 - Stars: 15 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/academind/claude-code-course-resources - Web: https://mule.run/skillshub/@@academind/claude-code-course-resources~web-security:20260126105836 --- --- name: web-security description: Enforce web security and avoid security vulnerabilities --- # Web Security We treat **web security as a core requirement**, not an afterthought. Assume hostile input and untrusted environments by default. ## Core Principles - **NEVER** trust user input - **ALWAYS** validate and sanitize data at boundaries - Prefer secure defaults over configurability ## XSS & Injection - **AVOID** `dangerouslySetInnerHTML` and raw HTML injection - Escape and encode dynamic content properly - Never interpolate untrusted data into HTML, CSS, or JS contexts - Ensure SQL injection protection ## Authentication & Authorization - Do not store secrets or tokens in insecure locations - **AVOID** localStorage for sensitive credentials when possible - Use HTTP-only, secure cookies where applicable - Always enforce authorization on the server ## Browser Security APIs - Respect CORS, CSP, and browser security boundaries - Use Content Security Policy to restrict script and resource execution - Avoid inline scripts and styles when CSP is enabled ## Data Handling - Minimize data exposure - Do not log sensitive information ## Dependencies & Supply Chain - Avoid unnecessary packages - Treat third-party code as untrusted input ## General Principles - Simplicity reduces attack surface - If unsure, choose the more restrictive option