Hallo allemaal,
Bij deze wil ik iedereen die het vak programming project databases volgt er willen op wijzen dat ze hun applicatie moeten beschermen tegen de bekendste database attack, namelijk SQL injection. Blijkbaar kwam dit vorig jaar niet aan bod in deze cursus, wat dus zou betekenen dat er informatici kunnen afstuderen die applicaties maken die vatbaar zijn voor SQL Injection.
Om te weten wat SQL injection is, lees: http://en.wikipedia.org/wiki/SQL_injection
Je beschermen tegen SQL Injection kan je op twee manieren:
1) Maak gebruik van een functie die 'gevaarlijke' karakters wegfiltert uit een reeks user input. In PHP kan dit bijvoorbeeld met de functie mysql_real_escape_string() die speciaal gemaakt is om SQL injectie te verhinderen. Roep deze functie op op elke user input die je gebruikt in een query. Ook als de input bijvoorbeeld een niet gevaarlijke operatie is zoals bijvoorbeeld het opvragen van details over een bepaald product in een webshop.
2) De eerste optie is niet altijd mogelijk in elke programmeertaal. Een andere optie is gebruik maken van prepared statements. Door een prepared statement aan te maken, ligt de structuur van je query vast, zodat deze via een SQL injection attack niet kan aangepast worden. Op deze manier ben je evengoed beveiligd tegen SQL injection.
Bij deze zou ik willen vragen of van deze post een sticky kan gemaakt worden. Deze informatie is essentieel voor iedereen die programmeert met databases. Anders zouden er afgestudeerde bachelor/master-studenten kunnen zijn die applicaties schrijven voor een bedrijf waarvan de database direct gehackt kan worden.
Daarnaast zou ik willen vragen dat elk jaar deze informatie verspreid wordt onder de 2de jaar informatica (via facebook, vertellen tegen elkaar, ...). Deze informatica is echt essentieel voor iedereen die programmeert met databases. De post kan verwijderd worden indien deze topic terug tot het bachelorcurriculum zou behoren.
Groeten,
Glenn