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
   176   177   178   179   180   181   182   183   184   185   186