SQL injections doet ik het goed?
Haddi Vries
25/04/2014 14:38:01Hallo,
Ik ben bezig met mijn script te beveiligen voor SQL injections, nu heb ik wat op het internet gelezen maar staan er wat voorbeelden waar ik niet wijzer van word
Ik heb nu een voorbeeld code dat ik gebruik: en ik vraag me af of ik het goed doe
Ik ben bezig met mijn script te beveiligen voor SQL injections, nu heb ik wat op het internet gelezen maar staan er wat voorbeelden waar ik niet wijzer van word
Ik heb nu een voorbeeld code dat ik gebruik: en ik vraag me af of ik het goed doe
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Gewijzigd op 25/04/2014 14:43:05 door Erik Rijk
PHP hulp
27/12/2024 05:46:04Frank Nietbelangrijk
25/04/2014 16:55:18Is naamID een type char of varchar? dan moet je die inderdaad escapen met real_escape_string(). en de $id is nummeriek zo te zien, Je gebruikt hierbij intval() waardoor $id niets anders meer kan zijn dan een geheel getal. En daarmee kunnen hackers geen grappen uithalen met je database.
Je kunt ook een stapje verder gaan door te werken met prepared statements: http://php.net/manual/en/mysqli.prepare.php
Je kunt ook een stapje verder gaan door te werken met prepared statements: http://php.net/manual/en/mysqli.prepare.php
Frank Nietbelangrijk
25/04/2014 22:00:00Het voordeel is dat de query parameters gescheiden blijven van de query structuur.
Als je eens googled op 'mysql_real_escape_string versus Prepared Statements' dan leer je dat mysql_real_escape_string niet in alle situaties veilig is en dat je deze ook zou kunnen vergeten als programmer. Prepared statements vergeet je nooit want dan werkt je query simpelweg niet.
Als je eens googled op 'mysql_real_escape_string versus Prepared Statements' dan leer je dat mysql_real_escape_string niet in alle situaties veilig is en dat je deze ook zou kunnen vergeten als programmer. Prepared statements vergeet je nooit want dan werkt je query simpelweg niet.
Het nadeel is dat die parameters aan een prepared statement verbonden zijn.
Vanuit de database gezien bestaan prepared statements NIET VOOR SECURITY, maar gewoon on snel(ler) een aantal dezelfde queries met verschillende parameters achter elkaar uit te kunnen voeren
Vanuit de database gezien bestaan prepared statements NIET VOOR SECURITY, maar gewoon on snel(ler) een aantal dezelfde queries met verschillende parameters achter elkaar uit te kunnen voeren
Gewijzigd op 25/04/2014 22:27:09 door Ger van Steenderen