dedlfix: PHP vernünftig escapen?

Beitrag lesen

Tach!

ich versuche gerade Benutzereingaben für ein mini-selfmade Forum vernünftig zu escapen.

Das ist nicht der richtige Ansatz. Nicht die Benutzereingaben sind das Problem, sondern dass Daten, egal welcher Herkunft, stets dem Ausgabekontext gerecht notiert/maskiert werden müssen.

Vergiss deine Funktion und betrachte in jeder Situation lediglich nur das jeweilige Ziel.

  • Strings im MySQL-Statement: Escaping für MySQL (mysqli_real_escape_string())
  • Zahlen im MySQL-Statement: innerhalb von Anführungszeichen wie Strings; außerhalb mit intval() o.ä. die Zahl sicherstellen
  • HTML: htmlspecialchars() (htmlentities() macht viel zu viel)
  • URL: ...
  • Javascript: ...
  • ...

Siehe Kontextwechsel-Artikel.

dedlfix.