SQL-injektionsangreb sker, når brugerinput er forkert kodet. Typisk er brugerinputtet nogle data, som brugeren sender med sin forespørgsel, dvs. værdier i $_GET , $_POST , $_COOKIE , $_REQUEST , eller $_SERVER arrays. Brugerinput kan dog også komme fra en række andre kilder, såsom stikkontakter, eksterne websteder, filer osv.. Derfor bør du virkelig behandle alt undtagen konstanter (som 'foobar' ) som brugerinput .
I den kode, du sendte, mysql_real_escape_string
bruges til at kode (=escape) brugerinput. Koden er derfor korrekt, dvs. tillader ikke nogen SQL-injektionsangreb.
Bemærk, at det er meget nemt at glemme opkaldet til mysql_real_escape_string - og én gang er nok for en dygtig angriber! Derfor vil du måske bruge den moderne PDO
med forberedte erklæringer
i stedet for adodb.