Python で JSON POST 経由で SQLite データベースを更新するときに SQL インジェクションを防ぐ方法は?
Jan 04, 2025 pm 09:35 PMPython での SQL インジェクション保護
質問:
SQL インジェクションの脆弱性から保護するには、ユーザーから受信し、JSON POST 経由で送信された文字列を、安全な更新操作のためにサニタイズするにはどうすればよいですか? Python 内の SQLite データベースは?
答え:
パラメータ化されたクエリの利用
SQL インジェクションのリスクを軽減するための推奨アプローチは次のとおりです。パラメータ化されたクエリを使用します。 Python の sqlite3 モジュールは、プレースホルダー パラメーター (?) を介してこれをサポートします。ユーザー入力を SQL ステートメントに直接連結する代わりに、ユーザー入力を SQL 構文から分離してパラメーターとして渡します。
改訂コード:
def setLabel(self, userId, refId, label): cursor = self._db.cursor() query = """UPDATE items SET label = ? WHERE userId IS ? AND refId IS ?""" cursor.execute(query, (label, userId, refId)) self._db.commit()
Byパラメータ化されたクエリを使用すると、ラベル入力内の潜在的に悪意のある文字やメタ文字が自動的にエスケープされ、SQL ではなくリテラル テキストとして解釈されるようになります。コマンド。
以上がPython で JSON POST 経由で SQLite データベースを更新するときに SQL インジェクションを防ぐ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
