[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.