Security in Angular

Nhan Nguyen
2 min readNov 18, 2023

--

Angular Official Docs are pretty great! โ€” Security in Angular is important!

Things we should remember:

๐Ÿ” Best Practices
โž– Stay updated with Angular library releases.
โž– Avoid altering Angular core
โž– Steer clear of APIs marked โ€œSecurity Riskโ€.

๐Ÿ” XSS Prevention
โž– Block malicious code entry to DOM.
โž– Angular treats all values as untrusted by default.
โž– Sanitizes values inserted into DOM from templates.
โž– Templates are trusted; avoid creating them with user input.

๐Ÿ” Sanitization and Security Contexts
โž– Angular sanitizes values for HTML, styles, and URLs.
โž– Context-specific: HTML, Style, URL, Resource URL.
โž– Development mode warnings for sanitization changes.

๐Ÿ” Direct DOM API Use & Explicit Sanitization
โž– Use Angular templates over direct DOM interaction.
โž– For unavoidable cases, use Angular sanitization functions.

๐Ÿ” Trusting Safe Values
โž– Use DomSanitizer for necessary executable code or URLs.
โž– Context-specific methods like bypassSecurityTrustHtml.

๐Ÿ” Content Security Policy (CSP)
โž– Prevents XSS via web server configuration.
โž– Requires unique per-request nonces for Angular to render styles.

๐Ÿ” Enforcing Trusted Types
Use HTTP headers with one of the following Angular Policies:
โž– angular
โž– angular#unsafe-bypass
โž– angular#unsafe-jit
โž– angular#bundler

๐Ÿ” Server-side XSS Protection
โž– Avoid creating Angular templates on the server side.
โž– Use templating languages that auto-escape values.

๐Ÿ” HTTP-level Vulnerabilities
โž– Built-in support for CSRF/XSRF and XSSI.
โž– Cooperate server and client for anti-XSRF technique.

๐Ÿ” Auditing Angular Applications
โž– Follow regular web app security principles.
โž– Audit Angular-specific APIs marked as sensitive.

A more in-depth look can be found in Docs:
angular .dev/guide/security

Letโ€™s get connected! You can find me on:
- Medium: https://medium.com/@nhannguyendevjs
- dev.to: https://dev.to/nhannguyendevjs
- Linkedin: https://www.linkedin.com/in/nhannguyendevjs/
- X (formerly Twitter): https://twitter.com/nhannguyendevjs

--

--

Nhan Nguyen
Nhan Nguyen

No responses yet