Page 181 - Corso di PHP - Livello base
P. 181
echo "<br /><br />Messaggio: <br /><br />";
echo htmlspecialchars(stripslashes($_GET['messaggio']));
?>
Oppure
echo htmlentities(stripslashes($_GET['messaggio']));
O ancora
echo strip_tags(stripslashes($_GET['messaggio']));
Ci sono ovviamente alcune differenze tra le tre funzioni. La
differenza tra htmlspecialchars e htmlentities consiste nel fatto
che la prima converte in entità solo i caratteri riservati di
HTML, mentre la seconda converte anche i caratteri speciali
(per esempio, se dovessimo scrivere in tedesco, la o con la
dieresi – ö – sarebbe convertita in ö). La funzione
strip_tags invece elimina del tutto le etichette HTML. In ogni
caso, il codice immesso dal malintenzionato verrebbe stampato
sullo schermo e non eseguito (anzi, nel caso di strip_tags le
tag verrebbero del tutto eliminate). E ricordate sempre: uno
dei migliori metodi per difendersi dagli attacchi è filtrare tutto
ciò che arriva in input sul nostro sito. In questo caso abbiamo
visto come filtrare attraverso le tre funzioni di cui abbiamo
parlato: potete trovare le documentazioni ufficiali delle funzioni
a queste pagine:
http://www.php.net/manual/en/function.htmlspecialchars.php
(htmlspecialchars),
http://php.net/manual/en/function.htmlentities.php
(htmlentities), http://it.php.net/manual/en/function.strip-tags.php
(strip_tags).
181