SQLite の変数テーブル名
Q: 文字列に頼らずに SQLite のテーブル名として変数を使用することは可能ですか?コンストラクター?
A1: 残念ながら、いいえ。 SQLite では、テーブルをパラメータ置換のターゲットにすることはできません。
A2: インジェクションのリスクを軽減するには、サニタイズ関数を使用して、有害な可能性のある文字をテーブル名から削除することを検討してください。たとえば、次の関数を使用して英数字以外の文字を削除できます:
def scrub(table_name): return ''.join(chr for chr in table_name if chr.isalnum())
使用法:
scrub('); drop tables --') # returns 'droptables'
以上がSQLite で文字列を操作せずに変数をテーブル名として使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。