Web Security
Wat is SQL Injection en hoe voorkom je het?
Aanval door malicious SQL code in inputs.
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