Heim >Datenbank >MySQL-Tutorial >Wie fügt ich Variablen in SQL -Abfragen in Python sicher ein?

Wie fügt ich Variablen in SQL -Abfragen in Python sicher ein?

Barbara Streisand
Barbara StreisandOriginal
2025-01-25 15:42:11167Durchsuche

How to Safely Insert Variables into SQL Queries in Python?

Variablen in SQL-Anweisungen in Python verwenden

Bei der Arbeit mit SQL-Anweisungen in Python ist es wichtig, darauf zu achten, wie Variablen in die Abfrage integriert werden. Im bereitgestellten Python-Code gibt es eine Abfrage, die die Variablen var1, var2 und var3 in eine SQL-Tabelle einfügen muss. Das Problem besteht darin, die Interpretation der Variablen als Teil des Abfragetextes zu vermeiden.

Um dieses Problem zu lösen, bietet die Methode execute() einen Mechanismus zum Übergeben von Variablen als Tupel. Der geänderte Code lautet wie folgt:

<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>

Bitte beachten Sie:

  • Parameter werden als Tupel übergeben, (var1, var2, var3).
  • Wenn nur ein Parameter übergeben wird, muss das Tupel mit einem Komma enden, (a,).

Die Datenbank-API kümmert sich um das ordnungsgemäße Escapen und Anführungszeichen von Variablen. Aus folgenden Gründen ist es jedoch wichtig, die Verwendung des String-Formatierungsoperators (%) zu vermeiden:

  • Es werden keine Escape- oder Quotierungsfunktionen ausgeführt, was das Risiko von SQL-Injection-Schwachstellen erhöht.
  • Es kann auch zu unkontrollierten String-Formatierungsangriffen kommen.

Das obige ist der detaillierte Inhalt vonWie fügt ich Variablen in SQL -Abfragen in Python sicher ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn