Mit HTML Purifier auf einer Site mit reiner Texteingabe

Ich würde mich über eine Antwort freuen, um eine Meinungsverschiedenheit zwischen mir und einigen Mitarbeitern beizulegen.

Wir haben eine typische PHP / LAMP-Webanwendung.

Die einzige Eingabe, die wir von Benutzern erhalten möchten, ist einfacher Text. Wir fordern Benutzer zu keinem Zeitpunkt auf, HTML einzugeben. Formularelemente sind meist einfache Eingabetext-Tags. Möglicherweise gibt es einige Textfelder, Kontrollkästchen usw.

Die Ausgabe auf Seiten wird derzeit nicht bereinigt. Alle dynamischen Inhalte, von denen einige von Benutzereingaben stammen, werden einfach auf der Seite wiedergegeben. Wir müssen es natürlich sicher machen.

Meine Lösung besteht darin, htmlspecialchars für alle Ausgaben zu verwenden, wenn sie auf der Seite wiedergegeben werden.

ie Lösung für meine Mitarbeiter besteht darin, der Datenbankebene HTML Purifier hinzuzufügen. Sie möchten alle vom Benutzer eingegebenen Eingaben über HTML Purifier weiterleiten, bevor sie in der Datenbank gespeichert werden. Anscheinend haben sie es in anderen Projekten so verwendet, aber ich denke, das ist ein Missverständnis dessen, wofür HTML Purifier gedacht ist.

ach meinem Verständnis ist es nur sinnvoll, HTML Purifier auf einer Site zu verwenden, auf der der Benutzer HTML eingeben kann. Es braucht HTML und macht es sicherer und sauberer, basierend auf einer Whitelist und anderen Regeln.

Wer hat Recht und wer ist falsch?

Es gibt auch das ganze Thema "Escape on Input oder Output", aber ich denke, das ist eine Debatte für eine andere Zeit und einen anderen Ort.

Vielen Dan

Antworten auf die Frage(2)

Ihre Antwort auf die Frage