dedlfix: Bei htmspecialchars immer ENT_QUOTES setzen?

Beitrag lesen

Hi!

Für die Speicherung in der Datenbank und die Ausgabe in der Vorschau existiert eine Funktion, die alle möglichen Fälle berücksichtigt und absichert.

Diese ist vermutlich völlig überladen. Man braucht _jeweils_ nur _eine_ Funktion für das _konkrete_ Ausgabemedium, nicht eine für alle. Wenn du im DBMS bereits Maskierungen für beispielsweise HTML drin hast, kann sie unter anderem nicht mehr richtig sortieren, weil sie dabei immer die HTML-Zeichen berücksichtigt. Jedes Medium sollte mit Rohdaten gefüllt werden, die lediglich für den Transport über Textschnittstellen für exakt diese Schnittstelle maskiert werden müssen.

Für die Übergabe der Daten über Formulare von einer Datei in die nächste wird neben magic_quotes/stripslashes jedoch nur htmspecialchars genutzt, damit der Nutzer seine Eingabe möglichst unverfälscht wieder sehen und bearbeiten kann.
Nun war ich mir unsicher, ob es besser wäre, dieses jeweils mit ENT_QUOTES zu ergänzen, oder ob einfache Anführungszeichen kein großartiges Problem für Angriffe sind.

Du scheinst noch nicht verstanden zu haben, was da konkret wogegen gesichert werden muss, sonst stellt sich diese Frage gar nicht mehr. Anführungszeichen ob doppelt oder einfach müssen nur für Werte in HTML-Attributen berücksichtigt werden. Wenn du diese immer in " einrahmst, brauchst du nur das " in den Daten zum " zu machen. Das ' muss nur bei Attributen in '' berücksichtigt werden. Wenn du aber weiterhin eine eierlegende Wollmilchsau schreiben willst, musst du auch den '-Fall berücksichtigen.

Inzwischen frage ich mich jedoch, ob diese Übergabe der Daten durch noch mehr Befehle als nur die oben genannten abgesichert werden sollte.
Könnt ihr mir mit euren Erfahrungen helfen?

Die hab ich alle im Kontextwechsel-Artikel zusammengefasst.

Lo!