Formulář by Ti neměl posílat entity, ale text. Když máš v databázi ">", pak to musíš klientovi poslat jako ">" (což zařídí htmlspecialchars()), jemu to vypíše do okénka ">" a když to pak odešle zpět, tak dostaneš také ">" a to uložíš rovnou do databáze. Musíš jen před tím uložením do databáze ošetřit apostrofy (či uvozovky aj., podle typu databáze, ale obvykle hlavně apostrofy), aby se Ti nerozpadly databázové stringy a aby třeba někdo nemohl udělat injektáž nežádoucího příkazu.
Zkrátka, cestou ke klientovi oštřuješ věci, jež by mohly poškodit zobrazení či funkčnost stránky, cestou od klienta věci, jež by mohly poškodit databázi.
Druhá možnost je ukládat do databáze také entity a tedy ošetřovat obojí cestou od klienta, zatímco cestou ke klientovi nemusíš dělat nic. To se hodí, pokud se data zobrazují často a mění jen občas, ušetříš tím něco málo na potřebném výkonu.
|