Avatar billede rzj Nybegynder
09. april 2003 - 14:39

fornuftig formatering af userinput

Hej E's
Jeg udvikler et CMS baseret på XML. Det vil sige at alt data fra DB hentes ind/pakkes i XML og transformeres til XHTML via PHP's Sablotron modul.

Det er fint nok og strukturen er iorden.
Jeg anvender <?xml version="1.0" encoding="iso-8859-1"?>.

Jeg har derimod knap så meget forstand på hvordan tegnsæt og userinput transformeres på en fornuftig/sikker måde inden det lægges i DB, når det hentes fra DB og pakkes i XML og når det skal vises af klienten ?

Foreløbigt har jeg gjort det helt simpelt med nedenstående funktion der erstatter alle & tegn samt alle < og >.
Data 'saves' inden det gemmes i DB og 'loades' efter det er transformeret og før det outputtes til klient.

Jeg har dog en 'anelse' om at det ikke helt rækker :-)

Er der en "standard" føljeton der skal/kan følges så man får formateret userinput på en fornuftig og forsvarlig måde?

function formatData($str, $mode="save"){

if($mode == "save"){
  $str = str_replace("&", "&amp;", $str);
  $str = str_replace("<", "&lt;", $str);
  $str = str_replace(">", "&gt;", $str);
}

if($mode == "load"){
  $str = str_replace("&amp;", "&", $str);
  $str = str_replace("&lt;", "<", $str);
  $str = str_replace("&gt;", ">", $str);
}

return trim($str);
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester