SQL injections

Wat is een SQL Injection?

Een SQL injection is een manipulatie van de query, waardoor het uiteindelijke resultaat anders is dan de bedoeling zou moeten zijn. Dit manipuleren kan bestaan uit het opvragen van gegevens die normaal niet voor de gebruiker zichtbaar zou moeten zijn. Daarnaast is het mogelijk om gegevens te wijzigen of te verwijderen, terwijl dit niet zou moeten.

Het kan nog gevaarlijker: het is zelfs mogelijk om commando's uit te voeren, waarmee tabellen of database worden verwijderd of waarmee zelfs de database service wordt beƫindigd. Er zijn dus verschillende soorten SQL injecties te onderscheiden: van vrij onschuldig tot vrij catastrofaal.

Is een SQL injection te voorkomen?

Het is mogelijk om door het zetten van enkele kleine stappen de kans op een SQL injection te voorkomen/ Valideer altijd ingevoerde data. Vertrouw de gebruiker nooit blindelings. Zorg er altijd voor dat je data 'escaped' als het invoert, zodat er niets stuk kan gaan en verdiep je vooral in prepared statements. Hiermee leg je de structuur van een query vooraf al vast.