mxAddSlashesForSQL

Begonnen von Webfan, 16 Dezember 2007, 21:48:59

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Webfan

Hallo,
irgendwie traue ich dem braten nicht ganz und habe deshalb bei mir diese Funktion mit  mysql_real_escape_string erweitert.
Dumm nur wenn man dem Benutzer html-Eingabe erlauben will.
Da ich gerade an einem Modul für Benutzerhomepages bastel (vl. später auch eine Downloadversion für alle), bzw. es eigentlich zu 90% fertig ist brauch ich das aber unbedingt.

Kann jemand mir aus dem Entwicklerteam mir also definitiv sagen:
"Wenn Du die Benutzereingaben mit der Funktion mxAddSlashesForSQL bearbeitest sind absolut keine MySQL Injektionen möglich."
?

mfg

Webfan

Eine kleine Antwort wäre ganz nett...

Hab das Modul testweise mal aktiviert:
http://www.webfan.de/Page.html
http://free.homepagespeicher.de/Demoseite

Ein paar Tipps was da bzgl. der Sicherheit noch zu beachten ist wären wirklich hiflreich, DANKE!

mfg
:)

...kann den Post oben nicht mehr edtieren, darum noch ein post.

Andi

Moin :)

ZitatKann jemand mir aus dem Entwicklerteam mir also definitiv sagen:
"Wenn Du die Benutzereingaben mit der Funktion mxAddSlashesForSQL bearbeitest sind absolut keine MySQL Injektionen möglich."?
Das wird wohl keiner tun. 100% Sicherheit gibt es nicht.

Und wenn das jemand sagen würde, was würde es bewirken:
Zitatirgendwie traue ich dem braten nicht ganz

mxAddSlashesForSQL() ist keine besondere Sicherheitsfunktion, es sorgt nur dafür, dass bestimmte Sonderzeichen korrekt in der Datenbank gespeichert werden können. Was dann automatisch einen gewissen Sicherheitseffekt mitbringt.

Weiter zum Thema:
http://www.pragmamx.org/Forum-topic-16818-start-msg116671.html#msg116671

und empfehlenswert:
http://www.cms-sicherheit.de/index.html
http://www.johanneshoppe.de/publikationen/Sicherheit%20von%20Webservern.html
schön´s Grüssle, Andi

Webfan

#3
Erstmal vielen Dank für Deine Antwort!

Aus dem Forenthread:
Zitat
- bei "nicht Administratoren" werden die nicht erlaubten HTML-Tags gefiltert
- bei "nicht Administratoren" werden potentiell gefährliche Teilstrings gefiltert
Wo und wie genau geschieht das?
Wenn ich mir beispielsweise die Funktion submitStory aus dem Submit_Story Modul anschaue, entdecke ich nur eben diese mxAddSlashesForSQL Funktion.
Gerade ersteres würde mich natürlich in diesem Zusammenhang interessieren, also das erlauben von Html-Tags
( vs. verbieten), so bräuchte ich nicht evtl. gefährliches erstzen, sondern könnte bequem für das Modul die gewünschten Tags erlauben, also mit einer Whitelist arbeiten statt einer Blacklist, was ja bekanntlich vom Ansatz her grundsätzlich sicherer ist.
Habe zunächst gedacht deshalb BBCode zu verwenden, habe aber nun den Spaw Editor eingebunden, wo er schonmal mit PMX mitgeliefert wird.
Finde aber leider nicht heraus wie die erlaubten HTML-Tags gefiltert werden...

mfg

EDIT: Habs...  $AllowableHTML  :mad2:
...jetzt muß ich nur noch filtern...!?

Webfan

Jetzt hab ich es geschnallt- (Hoff ich mal  :red: ):PMX macht das schon. Hab nur immer noch nicht ganz raus wie genau?! Wird der $_REQUEST-input validiert unabhängig davon ob ich jetzt erst eine mxAddSlashes... oder so Funktion aufrufe, oder wie? Das wäre ja praktisch, und zudem *hust* Dau-sicher.

Jetzt hab ich nur noch eine Frage, dann bin ich absolut glücklich für heute:
ZitatWARNUNG: Die Verwendung von <img>, <marquee>, oder <span> kann es Besuchern ermöglichen, Sicherheitslöcher auszunutzen. Deshalb wird empfohlen, diese HTML-Codes nicht zuzulassen, ausser die Sicherheitsrisiken sind abschätzbar.
Sch*** auf marquee und span - ohne img Tag wäre aber so eine Homepage ziemlich trostlos.
Also was genau muß ich da abschätzen (damit keine Mißverständnisse aufkommen: ich möchte wissen was ich beachten muß, damit ich das img Tag verwenden kann, nicht umgekehrt oder so!), um Bilder zu ermöglichen.
Hab img jetzt "mit Parametern" zugelassen?!


mfg