SQL-injectie-aanvallen vinden plaats wanneer gebruikersinvoer onjuist is gecodeerd. Meestal zijn de gebruikersinvoer enkele gegevens die de gebruiker verzendt met haar zoekopdracht, d.w.z. waarden in de $_GET
, $_POST
, $_COOKIE
, $_REQUEST
, of $_SERVER
reeksen. Gebruikersinvoer kan echter ook afkomstig zijn van verschillende andere bronnen, zoals sockets, externe websites, bestanden, enz. Daarom moet u echt alles behalve constanten behandelen (zoals 'foobar'
) als gebruikersinvoer .
In de code die je hebt gepost, mysql_real_escape_string
wordt gebruikt om gebruikersinvoer te coderen(=escape). De code is dus correct, d.w.z. staat geen SQL-injectie-aanvallen toe.
Merk op dat het heel gemakkelijk is om de aanroep naar mysql_real_escape_string
te vergeten - en één keer is genoeg voor een ervaren aanvaller! Daarom wilt u misschien de moderne BOB
gebruiken met voorbereide verklaringen
in plaats van adodb.