Fabian: Eingaben sicher ausgeben.

Beitrag lesen

Hallo!

Ich habe hier oft gelesen, dass man Benutzereingaben kontextspezifisch maskieren soll. Im Fall von Html mit htmlspecialchars(). Ich habe neulich "irgendwo" gelesen, dass das nicht immer hilft. Z.B. Wenn der Benutzer Attribute von html-Elementen bearbeiten kann. on...- oder style-Attribute z.B. bzw. sogar externe CSS-Dateien durch die JavaScript ausgeführt wird.

In verschiedenen CMS finde ich sehr aufwändige Funktionen um Benutzereingaben für solche Fälle zu filtern. Beispiele wären die Funktionen removeXss() von Typo3, cleanKey() und xssClean() - (auf Github) - von Contao (früher Typolight) oder etwas exotischer removexss().

Offenbar ist man mit htmlspecialchars() alleine doch nicht immer auf der sicheren Seite. Wie kann ich jetzt als "Hobbyprogrammierer" vorgehen wenn ich nicht unbedingt sofort auf so ein Framework (und deren Funktionen) zurückgreifen will oder kann? Zumal die ja auch ab und an wegen Sicherheitslücken im Gespräch sind.

Ich bin mir jetzt sehr unsicher wie ich mit Benutzereingaben umgehen soll und ob ich nicht sogar selbst in meinen kleinen Projekten riesige Sicherheitslöcher habe wo ich doch immer gedacht, dass ich allein mit htmlspeciachars() gut abgesichert wäre.

Was kann ich tun?

Beste Grüße!