[Python-de] mysql gefährliche zeichen "escapen"
Andreas Pakulat
apaku at gmx.de
Fr Feb 2 16:58:35 CET 2007
On 02.02.07 16:40:09, Mathias Uebel wrote:
> Diez B. Roggisch schrieb:
> > Tobias Bender schrieb:
> >> Man könnte unerwünschte Zeichen mit re.sub einfach rauslöschen oder
> >> mit re.match testen und bei Bedarf eine exception werfen.
> >
> > Das ist gefaehrlicher Unfug!!! Dabei kann einem viel zu viel passieren.
> >
> > Stattdessen verwendet man die parametrisierte Form von cursor.execute,
> > etwa so:
> >
> > cursore.execute("select * from some_table where some_column = %s",
> > some_column_parameter)
> >
> Das ist bekannt.
Das ist gut.
> Aber eventuell hatte der Frager etwas anders im Sinn:
> In PHP gibt es, um derlei Angriffe auszuschließen, eine gesonderte
> Funktion: mysql_escape_string
Aehm in PHP gibts auch keine parametrisierte Funktion zum Ausfuehren von
Anfragen, deswegen braucht man diese spezielle Funktion. Viel
angenehmer ist es IMHO aber mit parametrisierten query-Funktionen zu
arbeiten, weil ich dann nicht selbst aufpassen muss das alle Eingaben
korrekt escaped werden.
Andreas
--
Make a wish, it might come true.