Seite 1 von 1

string escape um mysql injection mit pymysql zu verhindern

Verfasst: Samstag 13. Juni 2015, 16:47
von python48
Hallo,

ich verwende python 3.4 und pymysql um mit mysql Datenbanken zu kommunizieren.
Jedoch habe ich festgestellt, dass sql injections ganz einfach möglich sind.
Meine frage ist also, ob es in dieser library eine native funktion gibt, die für einen
für diesen Zweck den string escaped? (vergleichbar zu mysql_real_escape_string() in php).
Ich habe escape_string() probiert, was aber nicht funktionierte.

Gibt es da was fertiges oder sollte man sich lieber eine Funktion selber schreiben die die kritischen Zeichen in
einem string erkennt und maskiert?


Vielen Dank schon mal! :)


Beste Grüße, Python48.

Re: string escape um mysql injection mit pymysql zu verhinde

Verfasst: Samstag 13. Juni 2015, 16:49
von BlackJack
@python48: Schau Dir mal die `execute()`-Methode genauer an. Insbesondere das zweite Argument.

Re: string escape um mysql injection mit pymysql zu verhinde

Verfasst: Samstag 13. Juni 2015, 16:56
von python48
Hallo und vielen Dank für die Antwort! :)

Ich finde weder eine gute Doku zu pymysql noch scheint es als hätte
diese Funktion zusätzliche parameter/argumente...
Bist du sicher, dass du pymysql und nicht mysql_db meinst?

Hättest du die seite grad parat wo man es nachschlagen kann?


Danke dir vielmals!

Re: string escape um mysql injection mit pymysql zu verhinde

Verfasst: Samstag 13. Juni 2015, 17:18
von BlackJack
@python48: Auch bei wenig Dokumentation sollte man hoffentlich früher oder später zu diesem PEP gelangen: Python Database API Specification v2.0

Re: string escape um mysql injection mit pymysql zu verhinde

Verfasst: Samstag 13. Juni 2015, 19:18
von jens
Für ernsthafte Anwendungen würde man IMHO eh nicht direkt SQL nehmen. Oder man baut sich auf langer Sicht sein eigenes ORM...