dedlfix: Kommentarformular in die Datenbank *Sicherheit*

Beitrag lesen

Hi!

Wenn ich mich auch noch reinhängen darf ...

sorry, Ich versteh eure Einwände, wenn Ihr Code mit wegspeichern wollt. Ich ging von einem Text Kommentar aus.

Ein Bereinigen der Eingabedaten muss erfolgen, wenn es eine "Transportsicherung" zu entfernen gibt. Das ist bei PHP normalerweise nicht notwendig, die Daten kommen im Rohformat (außer wenn Magic Quotes eingeschaltet sind).

Eine Prüfung auf den Inhalt sollte aus fachlichen Erwägungen erfolgen. Wenn für einen Wert eine Zahl erforderlich ist, ist eine Zahlenprüfung angebracht. Wenn du dich entscheidest, keinen (HTML-, Javscript-, sonstwelchen) Code haben zu wollen, dann aus inhaltlichen und fachlichen Gründen, und nicht aus sicherheitstechnischen für irgendwelche Ausgabemedien. Das Ausgabemedium sollte hier also noch keine Rolle spielen, denn wenn man schön modular programmiert, darf es die Eingabedatenverarbeitung nicht interessieren, wohin später irgendwann mal was ausgegeben wird. Dies können unterschiedliche Medien mit verschiedenen Bedingungen sein. Sich am Eingang bereits für einen Ausgang vorzubereiten, bedeutet, die ganze Zeit Ballast rumzuschleppen, der dann am Ausgang gar nicht oder ganz andere gebraucht wird. Die Daten sollten also während der Verarbeitung immer in Rohfom bleiben.

Für kleine Projekte hört sich das vielleicht aufwendig an, modular zu programmieren, weil man oft die komplette Verarbeitung recht übersichtlich beieinander stehen hat. Doch vielleicht wächst das Projekt später mal oder man will ein anderes größeres aufsetzen. Dann tut man gut daran, gleich vorausschauend geplant zu haben (was nicht heißt, vorgreifend zu programmieren) beziehungsweise schon im Kleinen Erfahrungen mit der Separierung nach Aufgaben gesammelt zu haben. Die Modulierung muss nicht zwingend mit syntaktischen Mitteln erfolgen (Funktionen, OOP), für's kleine Projektchen kann durchaus "geradeaus" programmiert werden, aber eben nach Teilvorgang getrennt. Schon mit Kommentaren kann man das nachvollziehbar gestalten.

Die Programmlogik zur Ausgabe (egal ob Datenbank, HTML und anderswohin) sollte am besten wissen, wie die Daten gefahrlos ausgegeben werden können. Es sollte allein ihre Aufgabe sein, die ihr übergebenen Rohformatdaten jeweils passend aufzubereiten.

ps. vor dem DB schreiben die sachen zu säubern hat den Vorteil das eventuelle javascripts / html einschläusungen einem tools wie PhpMyAdmin nicht auser gefecht setzen (ich weiß der ist mitlerweile auch etwas mehr gesichert).

Welche aktuellen Versionen von phpMyAdmin sind denn davon betroffen? Oder anders gefragt: wie lange liegen diese Versäumnisse mittlerweile zurück?

Lo!