Steel: Formulardaten per E-Mail senden

Beitrag lesen

Moin!

Stellen wir uns folgendes Szenario vor:

User gibt seinen Namen ein: "Robert'); DROP TABLE Students;"

Ich hab also nur nen String. Ich kann den auf dem Monitor ausgeben, in eine Datenbank schreiben oder mailen...

Ungeprüft ist der erstmal nur kritisch in der zweiten Situation. Es ist aber völlig egal, was ich wann damit mache: Es bleibt eine Usereingabe. Wir behandeln mit diesem String also immer eine Usereingabe. Nehmen wir also den Fall, daß ich mit diesem Namen einen Datenbankquery erstelle: Wenn ich das Teil einfach so übernehme, habe ich ein Problem. Also muss ich das Teil entschärfen, wie Du es so schön nennst. Wie mache ich das? Ich prüfe es auf Gefahrenpotential und behandle den String.

Egal wie Du es nennst. Ich muss eine Usereingabe pruefen. Ich weiß nicht, ob Du hier nur extrem penibel bist und beim stumpfen escapen von z.B. allen '  keinerlei Pruefung siehst.
Ich komm immer noch nicht drauf, was Dein Problem ist.

--
Vergesst Chuck Norris.
Sponge Bob kann unter Wasser grillen!