sqlite DBにchar(80)値を設定するPythonのコードがあります。
文字列は、テキスト入力フィールドを介してユーザーから直接取得され、JSON構造のPOSTメソッドを使用してサーバーに返送されます。
サーバー側では、現在、SQLUPDATE操作を呼び出すメソッドに文字列を渡します。
それは動作しますが、私はそれがまったく安全ではないことを知っています。
とにかくクライアント側は安全ではないと思うので、サーバー側で保護する必要があります。SQLインジェクションに対してUPDATE操作を保護するにはどうすればよいですか?
SQLパーサーを混乱させないようにテキストを「引用」する関数が私が探しているものです。そのような関数が存在することを期待していますが、見つかりませんでした。
編集: これがcharフィールド名ラベルを設定する私の現在のコードです:
def setLabel( self, userId, refId, label ):
self._db.cursor().execute( """
UPDATE items SET label = ? WHERE userId IS ? AND refId IS ?""", ( label, userId, refId) )
self._db.commit()