dedlfix: Sicherheitslücke PHP Referrer

Beitrag lesen

echo $begrüßung;

Also sollte man beim ausgeben der Referrer Informationen die String sozusagen überprüfen und HTML bzw. Javaskript Code entfernen.
Geht oder reicht es dann mit strip_tags() bestimmte Zeichen zu entfernen?

Das Grundprinzip lautet: Wann immer ein Wert in einen bestimmten Kontext ausgegeben werden soll, muss dieser dem Kontext entsprechend behandelt werden.

Wenn du etwas in Richtung HTML ausgeben willst, musst du diejenigen Zeichen, die HTML als Code ansehen kann, so notieren, dass sie als normale Daten interpretiert werden. Konkret sind die HTML-eigenen Zeichen zu beachten. PHP stellt eine Funktion bereit, die genau diese Zeichen berücksichtigt: htmlspecialchars(). Wende diese stets auf die variablen Werte an, die du ausgeben möchtest.

Mit der kontextgerechten Behandlung kann schon mal nichts mehr passieren, wenn sie richtig angewendet wird. Dass dann eventuell Inhalte auf der Seite zu sehen sind, die man da nicht haben will, ist ein anderes Problem. Hier hilft dann nur eine Prüfung auf Inhalte. Das ist technisch nicht immer vollständig zu bewerkstelligen, weil dazu bekannt sein muss, was als "ungewollt" betrachtet werden soll. Und das weiß man im Vorfeld nicht immer konkret, bevor man es gesehen hat.

echo "$verabschiedung $name";