Heim >Datenbank >MySQL-Tutorial >Wie kann ich Tabellennamen sicher als Parameter in Psycopg2 übergeben?
Tabellennamen sicher als Argument in Psycopg2 übergeben
In psycopg2 wird dringend davon abgeraten, Zeichenfolgenverkettung („select %s from %s where...“) zu verwenden, um den Tabellennamen als Parameter zu übergeben, da dies ein Sicherheitsrisiko darstellt. Erwägen Sie stattdessen die Verwendung des sichereren Moduls psycopg2.sql.
Das in psycopg2 Version 2.7 hinzugefügte SQL-Modul bietet eine Möglichkeit, SQL-Abfragen dynamisch zu generieren, wenn Tabellennamen dynamisch ausgewählt werden. Hier ist ein Beispiel:
<code class="language-python">from psycopg2 import sql cur.execute( sql.SQL("insert into {table} values (%s, %s)").format(table=sql.Identifier('my_table')), [10, 20] )</code>
Um Tabellen- oder Feldnamen darzustellen, verwenden Sie bitte Identifier
anstelle von AsIs
. Vermeiden Sie aus Sicherheitsgründen die Verwendung der Python-String-Verkettung oder String-Argument-Interpolation.
Das obige ist der detaillierte Inhalt vonWie kann ich Tabellennamen sicher als Parameter in Psycopg2 übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!