On Fri, 19 May 2006 20:20:24 +0200, John Kjoller wrote:
> Hvordan undgår jeg det?
>
http://dk.php.net/manual/da/function.mysql-real-escape-string.php
> Det må vel være noget med at jeg tjekker og fjerner, "farligt" input fra
> et givent field, -eller hvad?
>
> Nogen sagde til mig at jeg skal fjerne "\" fra input-strengen. - Er det
> korrekt, og er det nok at nøjes med at fjerne det?
>
Hvis du benytter ovenstående funktion, hver gang inden du indsætter data
i MySQL, har du sikret dig mod sql-injection.
Herudover bør du også benytte html_specialchars, førend du udskriver
tekst på en hjemmeside, hvis teksten der skal udskrives, er input fra
brugerne. Dette gælder selvfølgeligt også, hvis tekst tidligere er gemt
i en database - mysql f.eks, hvor du har fjernet problematiske tegn med
mysql_real_escape_string, da denne funktion ikke renser problematiske
html-tegn ud.
http://dk.php.net/manual/da/function.htmlspecialchars.php
En god tommelfingerregel: Indtil brugerinput er valideret, skal det
betragtes som værende skadeligt.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917