SQL-injektionsattacker inträffar när användarinmatning är felaktigt kodad. Vanligtvis är användarinmatningen vissa data som användaren skickar med sin fråga, dvs värden i $_GET , $_POST , $_COOKIE , $_REQUEST , eller $_SERVER matriser. Användarinmatning kan dock också komma från en mängd andra källor, som uttag, fjärrwebbplatser, filer etc.. Därför bör du verkligen behandla allt utom konstanter (som 'foobar' ) som användarinmatning .
I koden du postade, mysql_real_escape_string
används för att koda (=escape) användarinmatningar. Koden är därför korrekt, d.v.s. tillåter inga SQL-injektionsattacker.
Observera att det är väldigt lätt att glömma samtalet till mysql_real_escape_string – och en gång räcker för en skicklig anfallare! Därför kanske du vill använda den moderna PDO
med förberedda uttalanden
istället för adodb.