Web Security

Wat is SQL Injection en hoe voorkom je het?

Aanval door malicious SQL code in inputs.

Home/Categorieën/Web Security/Wat is SQL Injection en hoe voorkom je het?

SQL Injection risk

Concatenate user input in queries = dangerous Anvaller kan database commands uitvoeren Solution: Parameterized queries/prepared statements

Code Voorbeelden

JAVASCRIPTSQL Injection voorbeelden
// VULNERABLE - DON'T DO THIS!
const query = `SELECT * FROM users WHERE email = '${email}'`;
// If email = ' OR '1'='1 -> query returns all users!

// SAFE - Use parameterized queries
const query = 'SELECT * FROM users WHERE email = ?';
db.query(query, [email]); // Email treated as data, not code

// With Prisma (safe by default)
const user = await prisma.user.findUnique({
  where: { email }
});

💡 Praktijk Tips

Altijd parameterized queries/ORMs gebruiken. Nooit user input direct in SQL concatenaten.

Relevante trefwoorden

SQL injectionsecuritydatabase