ik weet niet of jullie mij kunnen helpen, maar ik kan altijd proberen.
ik moet voor school een site maken die kwetsbaar is voor sql injection. als ik op het internet ga kijken vind ik enkel wat sql injection is en hoe je je ertegen moet beschermen. maar daar ben ik weinig mee, php beschermd de site zowizo tegen sql injection.
>> ik moet voor school een site maken die kwetsbaar is voor sql injection.
Die kwetsbaar is voor SQL-injectie of die juist niet kwetsbaar is?
>> php beschermd de site zowizo tegen sql injection.
PHP doet zelf niets tegen SQL-injectie. Zodra je PHP data rechtstreeks aan een database laat doorgeven, zonder de data te filteren en controleren, is het geheel kwetsbaar voor SQL-injectie. Tenminste, als de database SQL gebruikt.
PHP is oliedom zeg ik altijd maar
Hij doet niks voor je, tenzij je exact zegt hoe hij het moet doen.
Wanneer je een website moet maken die niet beveiligd is tegen SQL Injectie, dan moet je je eerst verdiepen in de term SQL Injectie. Wat is dat nou precies? Wat kan je er mee en wat niet? Als je weet wat het doet kan je je verdiepen in de vraag hoe je een beveiliging tegen SQL Injectie van toepassen op je website. Maar dan weet je ook hoe de website absoluut gevoelig kan maken voor SQL Injectie.
als ik op het internet ga kijken vind ik enkel wat sql injection is en hoe je je ertegen moet beschermen
Dat zijn toch precies de twee dingen die je moet begrijpen om iets te maken wat vatbaar is voor SQL injection:
- weten wat het inhoudt en hoe je dit soort lekken uit kunt buiten, en
- geen (of niet de juiste) veiligheidsmaatregelen treffen om dit te voorkomen
?
En, zoals aangegeven, PHP doet zelf niets aan het voorkomen van SQL injectie. Het doen van zo'n aanname (zelfs als deze waar is) lijkt mij onverstandig. Als het om veiligheid gaat zou er continue waakzaamheid moeten zijn.
De MySQL-drivers in PHP (MySQL, MySQLi, PDO (edit: of liever gezegd PDO_MYSQL)) staan standaard niet toe dat er meerdere queries achter elkaar worden uitgevoerd (edit: in query() functies; er bestaat wel zoiets als multi_query() waarin dit wel kan maar dat is toch een beetje een handgranaat). Dat zou het beveiligen van queries ook een stuk lastiger maken.