Sichern von MySQL-Abfragen in Python, um SQL-Injection zu verhindern
Beim Abfragen von MySQL-Datenbanken aus Python ist die Verhinderung von SQL-Injection-Angriffen von entscheidender Bedeutung. Dabei muss sichergestellt werden, dass vom Benutzer bereitgestellte Variablen die Abfragestruktur nicht beeinträchtigen.
Führen Sie parametrisierte Abfragen mit der Funktion „Ausführen“ mit %s als Platzhalter für Variablen aus. Übergeben Sie die Variablen als Liste oder Tupel als zweiten auszuführenden Parameter.
c = db.cursor() max_price = 5 c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
Vermeiden Sie die direkte Zeichenfolgenersetzung mit %. Verwenden Sie stattdessen ein Komma als Platzhalter:
c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
Schließen Sie den Platzhalter nicht in einfache Anführungszeichen ein, wenn der Parameter eine Zeichenfolge ist:
c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
Wenn Sie diese Best Practices befolgen, können Sie dies tun Reduzieren Sie das Risiko von SQL-Injection-Angriffen und gewährleisten Sie die Sicherheit Ihrer MySQL-Verbindungen in Python.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Abfragen in Python gegen SQL-Injection schützen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!