Lesson 27 / 30
Security Best Practices
Secure your Fastify application against common vulnerabilities.
Common threats and defenses
Protect against: SQL injection (parameterized queries), XSS (JSON response), CSRF (tokens), brute-force (rate limiting), and exposure of secrets.
Security headers
Use the @fastify/helmet plugin to set protective HTTP headers.
import helmet from '@fastify/helmet';
await fastify.register(helmet, {
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
scriptSrc: ["'self'", "'unsafe-inline'"],
},
},
});
// Sets headers: Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, etc.Secrets management
Never hardcode secrets. Use environment variables or a secrets manager (AWS Secrets Manager, HashiCorp Vault).