Mailinglisten-Archive |
* G.Wendebourg:: > welche Wege sind hier bekannt, schaedlichen Code aus Benutzereingaben zu > erkennen / zu filtern ? Der erste Schritt ist, statt einer Blacklist (alles erlauben, selektiv verbieten), eine Whitelist (alles verbieten, selektiv erlauben) zu verwenden. Du beugst so Programmier- und Logikfehlern vor. Der zweite Schritt ist, einen sinnvollen Vorrat an Zeichen zu definieren, welchen Du gefahrlos durch deinen Filter lassen kannst. Um diesen zu definieren, ist natürlich Wissen über die hinter dem Filter liegenden Systeme nötig. So wäre es z.B. sinnvoll, nur Zeichen, welche auf [a-ZA-Z0-9\.\-\,\_\ ] passen, passieren zu lassen. Der dritte Schritt ist, diesen Filter dann auch in einem verlässlichen Zustand in Betrieb zu nehmen. Dazu baust Du dir am besten ein paar Testfälle, welche Du gegen deinen Filter testest. Gedanken solltest Du dir zusätzlich um eine oder mehrere weitere Verteidigungslinien machen. Zum Beispiel solltest Du trotz Whitelist Prepared Statements verwenden, wenn Du Daten in eine Datenbank eintragen möchtest. Außerdem kann(!) es sinnvoll sein, Filter wie mod_security _vor_ dein Skript zu positionieren ("Defense in Depth"). Dies sind nur Beispiele und sicherlich keine erschöpfende Aufzählung an Maßnahmen. BTW: Du plenkst. <http://www.sockenseite.de/usenet/plenken.html Gruß, Christoph
php::bar PHP Wiki - Listenarchive