(PHP 4 >= 4.3.0, PHP 5)
mysql_real_escape_string -- Sikrer special karakterer i en streng, til brug i en MySQL erklæring
unescaped_string
Strengen du vil sikre
link_identifier
(valgfri)MySQL forbindelsen
Funktionen vil sikre specielle karakterer, i
unescaped_string
, den tager det nuværende
karakter sæt, for forbindelsen, i betragtning, så den er sikker at
bruge sammen med mysql_query(). hvis det er
binært data du vil indsætte, skal du bruge denne funktion.
mysql_real_escape_string() kalder MySQLs biblioteks funktion mysql_escape_string, hvilket tilføjer en skråstreg, til følgende karakterer: NULL, \x00, \n, \r, \, ', " og \x1a.
Denne funktion, skal altis bruges (med få undtagelser), for at gøre dine data sikre, før de bliver sendt i en forespørgsel til MySQL.
Bemærk: Hvis magic_quotes_gpc er aktiveret, bør du først køre strengen gennem stripslashes(). Brugen af denne funktion, på data der allerede er sikret, vil sikre den dobbelt.
Hvis denne funktion ikke bliver brugt, er forespørgslen, sårbar, overfor SQL Indsættelses Angreb.
Eksempel 2. Et eksempel på SQL Indsættelses angreb
Forespørgslen til MySQL:
Det vil tillade alle, at logge ind, uden en gyldigt kode. |
Eksempel 3. En "God Træning" forespørgsel Ved brug af mysql_real_escape_string() omkring hver variabel, vil det forebygge SQL Indsættelser. Det demonstrerer brugen af "God Træning" metode, for forespørgsler til en database, der er ligeglad, med Magic Quotes instillinger.
Forespørgslen vil nu eksekvere korrekt, og SQL Indsættelses angreb, vil ikke virke. |
Bemærk: mysql_real_escape_string() fjerne ikke % og _. Disse er jokertegn i MySQL, hvis de er kombineret med LIKE, GRANT, eller REVOKE.
Se også mysql_client_encoding(), addslashes(), stripslashes(), magic_quotes_gpc, og magic_quotes_runtime direktivet.