Kein HTML erlauben mit HTMLPurifier
Evtl. hat sich der ein oder andere ja mal mit der White List Filter Library HTMLPurifier auseinander gesetzt. Falls nicht sollte man sich das Teil auf jeden Fall mal anschauen, um seine Applikationen gegen XSS und Co. zu sichern. Das Teil schützt euch aber nicht davor mit Nutzereingaben oder Daten die vom Nutzer kommen fahrlässig umzugehen. Man sollte nach wie vor wissen was man da tut und was nicht.
Aber zurück zur eigentlichen Überschrift. Lange habe ich gesucht (obwohl lange bei mir auch relativ zu betrachten ist.
), aber leider rein gar nix dazu gefunden. Falls ich einfach was übersehen habe oder es eine einfacherer Lösung gibt ihr wisst ja wo das Kommentar Feld ist. Um HTMLPurifier dazu zu überreden einfach gar kein HTML zu erlauben bedarf es eines kleinen Tricks. Wir bauen eine neue Default Config Instanz:
$config = HTMLPurifier_Config::createDefault();
und setzen das HTML.Allowed Attribut auf einen Leerstring: ”
$config->set('HTML.Allowed', '');
Ah vielleicht auch noch was, wo der ein oder andere etwas länger für sucht (die Dokuk von HTMLPurifier ist mehr als spärlich) ist das ändern des Cache Pfades (HTMLPurifier baut intern einen eigenen Cache):
$config->set('Cache.SerializerPath', '/pfad/zum/cache');
Die komplette Konfigurations Doku findet ihr hier.
Tags: HTMLPurifier, PHP, XSS

Wenn es NUR darum geht alles html rauszubekommen solltees doch eigentlich viel einfach und schneller sein strip_tags aufzurufen oder ?
Weil HTMLPurifier ist ja nun auch nicht gerade das resourcenschonendste, sind ja auch mehr als 200 Dateien wovon beim normalen Einsatz einige geladen werden.
Ging ja viel mehr auch nur darum, dass es möglich ist. Weil auf dem ersten Blick, findet man dazu rein gar nix in der Doku.