Security bukan tanggung jawab DevOps saja — setiap developer harus tahu dasar-dasar keamanan web.
OWASP Top 10 (2025)
1. Injection (SQL, XSS)
Jangan pernah concatenate user input ke query:
// BURUK
db.query(`SELECT * FROM users WHERE id = ${userId}`);
// BAIK — parameterized query
db.select().from(users).where(eq(users.id, userId));
2. Broken Authentication
- Gunakan library yang sudah proven (Auth.js, Lucia)
- Jangan buat auth system sendiri
- Enforce strong passwords
- Rate limiting pada login endpoint
3. XSS (Cross-Site Scripting)
- Escape user input sebelum render ke HTML
- React sudah auto-escape by default
- Hati-hati dengan dangerouslySetInnerHTML
4. CSRF (Cross-Site Request Forgery)
- Gunakan CSRF token
- SameSite cookie attribute
- Verifikasi Origin header
5. Security Headers
const headers = {
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "DENY",
"Strict-Transport-Security": "max-age=31536000",
};
Quick Checklist
- Selalu gunakan HTTPS
- Jangan commit secrets ke Git
- Update dependencies secara berkala
- Validasi input di server (bukan cuma client)
- Log suspicious activity
- Gunakan Content Security Policy
Security adalah tanggung jawab bersama.