Tach!
Merke: Wann immer
echo
und$_GET
/$_POST
zusammenstehen, solltehtmlspecialchars()
nicht weit sein.
Nein, das ist zu kurz gedacht. Das Problem beschränkt sich nicht nur auf die direkten Eingabewerte. Es betrifft stattdessen alle Ausgaben, egal aus welcher Quelle sie stammen und auf welchem Wege sie dorthin gelangt sind.
Nachtrag: Auch hat die Herkunft der Werte keinerlei Einfluss auf die zu verwendenden Mittel bei der Ausgabekontextbeachtung. Die Auswahl des passenden Werkzeugs richtet sich ausschließlich nach dem jeweiligen Ausgabekontext.
htmlspecialchars() ist für die Ausgabe in Richtung HTML geeignet, nicht aber wenn das Szenario beispielsweise vorsieht, (Eingabe-)Werte in ein DBMS zu speichern.
dedlfix.