Hallo zusammen,
ich habe soeben das Bottle Framework entdeckt aber auf ein Fragen noch keine Antwort gefunden, vielleicht habe ich einfach zu wenig lange gesucht :K
Wie schützt man seine Webanwendung von XSS, muss man SQL-Injections u.s.w. selber abfangen oder gibt es da Hilfsmittel, vielleicht auch von dritte?
Danke und Grüsse
spite
Bottle Anfänger
Da bottle keine SQL anbindung mitbringt, musst du das selbst machen. Aber die API - gemäße verwendung von SQL Verbindungen oder noch besser sqlalchemy löst das. XSS - kA auf Anhieb.
@spite: Gegen XSS muss Du Deine Anwendung selbst schützen, indem Du Benutzereingaben sorgfältig prüfst, Werte in der Ausgabe entsprechend maskierst, usw. Ein Rahmenwerk kann dabei nur wenig bis gar nicht helfen.
@lunar
Jein, TurboGears zB legt schon nahe fuer Formulare ToscaWidgets + Formencode zu verwenden - und damit eine wohldefinierte Validierungsschicht. Zusammen mit templating-Systemen die per se erstmal alles escapen, ausser man zwingt sie dezidiert dazu es sein zu lassen, kommt man denke ich schon recht weit. Aber genau da mach bottle vorher einen Schnitt.
Jein, TurboGears zB legt schon nahe fuer Formulare ToscaWidgets + Formencode zu verwenden - und damit eine wohldefinierte Validierungsschicht. Zusammen mit templating-Systemen die per se erstmal alles escapen, ausser man zwingt sie dezidiert dazu es sein zu lassen, kommt man denke ich schon recht weit. Aber genau da mach bottle vorher einen Schnitt.
@deets: Eben, das Rahmenwerk empfiehlt diese Möglichkeiten bestenfalls nur, man muss im Regelfall explizit davon Gebrauch machen. Im Schnellschuss ist es halt immer einfach, das Formular manuell zu definieren und die Daten unbesehen aus den Headern zu übernehmen, anstatt sich mit einer zusätzlichen Bibliothek zur Validierung rumzuschlagen. Gerade bei bottle, dass solche Bibliotheken weder nahelegt noch mitliefert ...
Sichere Datenbankabfagen dagegen bekommt man mit jedem DB-API Modul ohne zusätzliche Komplexität hin, man muss ja pauschal gesagt nur "%" durch ein Komma ersetzen
Darauf wollte ich hinaus ... zugegeben, etwas unglücklich ausgedrückt.
Sichere Datenbankabfagen dagegen bekommt man mit jedem DB-API Modul ohne zusätzliche Komplexität hin, man muss ja pauschal gesagt nur "%" durch ein Komma ersetzen

Jetzt habe ich es auch gesehen, Bottle ist hauptsächlich für das Routing in RESTful URL's zuständig.
Danke für die Hinweise, werde mich für die benötigten Module durch das Netz hangeln
Muss mich wohl in nächster Zeit mehr mit der Validierung der eingehenden Daten beschäftigen, wie z.B. escapen u.s.w.
Danke für die Hinweise, werde mich für die benötigten Module durch das Netz hangeln

Muss mich wohl in nächster Zeit mehr mit der Validierung der eingehenden Daten beschäftigen, wie z.B. escapen u.s.w.
