Je hebt een mooie website, misschien zelfs met een aanvraagformulier of inlogsysteem. Maar wist je dat dat ook een toegangspoort kan zijn voor hackers? SQL Injection — kortweg SQLi — is een veelvoorkomende manier waarop kwaadwillenden gevoelige data kunnen stelen of zelfs jouw hele website plat kunnen leggen.
In dit blog leg ik je uit wat SQLi is, hoe het werkt en wat jij kunt doen om het te voorkomen.
Wat is SQL Injection?
SQLi is een techniek waarbij een hacker misbruik maakt van een zwakke plek in de manier waarop jouw website met de database praat. Als jouw website bijvoorbeeld een zoekfunctie of inlogformulier heeft dat rechtstreeks invoer doorstuurt naar de database zónder die invoer goed te controleren, dan kan een aanvaller daar kwaadaardige commando’s tussen smokkelen.
Stel: iemand vult in een inlogformulier niet gewoon een gebruikersnaam in, maar iets als: ‘ OR ‘1’=’1
Als jouw site die invoer zonder filter in de database-query stopt, dan verandert de betekenis van de query en kan de hacker zichzelf toegang verschaffen — zonder wachtwoord.
Wat kan een hacker ermee?
Veel meer dan je denkt. Via SQLi kunnen aanvallers:
- Inloggegevens van je gebruikers of klanten stelen
- Persoonsgegevens uit jouw database halen
- De inhoud van je site aanpassen of verwijderen
- Volledige controle krijgen over je website
Kortom: een ernstig risico voor jou én voor je bezoekers.
Hoe voorkom je SQL Injection?
✅ Gebruik voorbereide statements (prepared statements)
Als je (of je developer) zelf met PHP of een andere backendtaal werkt, zorg dan dat je input nooit rechtstreeks in een query zet. Gebruik functies zoals prepare()
en bind_param()
.
✅ Valideer en filter gebruikersinvoer
Laat je bezoekers geen ongecontroleerde toegang geven tot je database. Check altijd of invoer voldoet aan wat je verwacht: bijvoorbeeld alleen letters, cijfers, of een e-mailadres.
✅ Gebruik een goed CMS en veilige plugins
WordPress zelf is redelijk veilig, maar plugins kunnen een zwakke plek zijn. Gebruik alleen goed onderhouden plugins en hou alles up-to-date.
✅ Beperk databasepermissies
Een formulier hoeft geen toegang tot je hele database te hebben. Minder rechten = minder risico.
Samengevat
SQL Injection is een ernstige maar te voorkomen kwetsbaarheid. Helaas komt het nog steeds veel voor — ook bij kleinere websites. Juist daarom is het belangrijk dat jij als website-eigenaar weet waar je op moet letten. Want jouw website is niet alleen een visitekaartje, maar ook een plek waar bezoekers hun gegevens achterlaten. Die moet je goed beschermen.
Benieuwd of jouw website kwetsbaar is voor SQLi of andere veelvoorkomende lekken? Ik help je graag met een snelle beveiligingscheck.