"Birger Sørensen" <sdc@bbsorensen.com> skrev i en meddelelse
news:4d210986$0$23755$14726298@news.sunsite.dk...
> Mogens Jensen forklarede den 03-01-2011:
>> Jeg skal flytte nogle bruger-inputdata ind i min MySQL database.
>>
>> Nu er jeg nervøs for at brugerne skal taste data ind i systemet,
>> som ikke er tilladte eller ødelægger mine inserts og updates,
>> f. eks. paranteser, quotes, backslaches o.lign, som det vel
>> ikke er så smarte at have i sql kommandoerne.
>>
>> Findes der en php rutine, hvormed man nemt kan afluse eller
>> kontrollere sine data for sådanne uheldige karakterer eller kender
>> nogle en nem og smart måde at kontrolle dataene på inden
>> de flyttes ind i databasen.
>
> Det rigtige er at bruge prameterized queries eller prepared statements
> (forskellige navne for samme teknik).
>
http://dk2.php.net/manual/en/mysqli.overview.php
> Det kræver en mysqli forbindelse, i stedet for den forældede mysql.
>
> Til begge findes en mysql(i)_real_escape_string() funktion, som fjerner de
> mest indlysende injektioner.
>
http://dk2.php.net/manual/en/function.mysql-real-escape-string.php
>
http://dk2.php.net/manual/en/mysqli.real-escape-string.php
>
For lige at tydeliggøre: prameterized queries eller prepared statements
betyder, at man ikke skal bekymre sig om at escape sine data.
Leif