string escape um mysql injection mit pymysql zu verhindern

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
python48
User
Beiträge: 18
Registriert: Donnerstag 19. März 2015, 14:58

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

@python48: Schau Dir mal die `execute()`-Methode genauer an. Insbesondere das zweite Argument.
python48
User
Beiträge: 18
Registriert: Donnerstag 19. März 2015, 14:58

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!
BlackJack

@python48: Auch bei wenig Dokumentation sollte man hoffentlich früher oder später zu diesem PEP gelangen: Python Database API Specification v2.0
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Für ernsthafte Anwendungen würde man IMHO eh nicht direkt SQL nehmen. Oder man baut sich auf langer Sicht sein eigenes ORM...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten