fornuftig formatering af userinput
Hej E'sJeg 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("&", "&", $str);
$str = str_replace("<", "<", $str);
$str = str_replace(">", ">", $str);
}
if($mode == "load"){
$str = str_replace("&", "&", $str);
$str = str_replace("<", "<", $str);
$str = str_replace(">", ">", $str);
}
return trim($str);
}