De reden dat je dan geen last meer hebt van SQL injection zijn prepared statements, iets wat overigens net zo goed beschikbaar is in de MySQLi extensie.
Snap niet helemaal hoe je het nou precies moet gebruiken.. maar ik deze tutorial "http://www.phphulp.nl/php/tutorials/3/244/452/" staat op de 2e pagina een voorbeeld. Dit voorbeeld heb ik even nagemaakt:
connect.php maakt gewoon verbinding met me DB, dit script werkt ook gewoon alleen als ik dan probeer om hem te 'injecten' lukt hiet niet. Ik doe precies zoals het in het voorbeeld staat. Namelijk bij Naam "Pietje Puk', 'passwoord1'), ('Sinterklaas" invullen en bij Password gewoon een woord. Als ik dit doe komt er geen injection, hij voert het gewoon letterlijk in mijn DB in terwijl ik niks beveiligt heb, hoe kan dat:S
Ook snap ik de oplossing die ze geven niet helemaal. Er staat strip_slashes maar er moeten toch juist slashes bij voor de quotes?
Hoe zeg je? Blokhaken [] en backtics ` in je query proppen? Waarom zou je in vredesnaam die troep er in willen zetten?
Gooi deze zooi dus weg, ga je zitten schamen, gebruik ze nooit meer en vergeet dat je ze ooit hebt gebruikt.
Verder vergeet je de functie mysql_real_escape_string() te gebruiken en heb je waarschijnlijk het geluk dat magic_quotes is aangezet. Van dat soort toevaligheden wil je echter niet afhankelijk zijn. Kortom, beveiligen die queries!
mysql_real_escape_string() ben ik niet vergeten, ik heb dit script expres onbeveiligt gemaakt om te TESTEN. Maar het raren is dus dat het al geveiligt blijkt te zijn:S Maar dat komt dus door magic_quotes? En hoe zou jij deze query beveiligen? Er staat zoveel mogelijkheden