Psycopg2 の引数としてテーブル名を安全に渡します
psycopg2 では、セキュリティ リスクを引き起こすため、テーブル名をパラメータとして渡すために文字列連結 ('select %s from %s where...') を使用することは強くお勧めできません。 代わりに、より安全な psycopg2.sql モジュールの使用を検討してください。
psycopg2 バージョン 2.7 で追加された SQL モジュールは、テーブル名を動的に選択するときに SQL クエリを動的に生成する方法を提供します。以下に例を示します:
<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>
テーブル名またはフィールド名を表すには、Identifier
の代わりに AsIs
を使用してください。セキュリティ上の理由から、Python 文字列連結または文字列引数補間の使用は避けてください。
以上がPsycopg2 でテーブル名をパラメータとして安全に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。