ホームページ >データベース >mysql チュートリアル >Python で MySQL データベースに安全に接続してクエリを実行するにはどうすればよいですか?

Python で MySQL データベースに安全に接続してクエリを実行するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-05 05:07:10617ブラウズ

How Can I Securely Connect to and Query a MySQL Database in Python?

MySQL に接続して Python でクエリを実行するためのベスト プラクティスと最も安全な方法

SQL インジェクションの回避: パラメーター化されたクエリを使用してステートメントを実行する

Python で MySQL データベースに接続すると、 SQL インジェクション攻撃からシステムを保護することも同様に重要です。これらのリスクを軽減するには、パラメータ化されたクエリを利用するのが最も安全な方法です。これには、SQL ステートメント内のユーザー指定の変数をプレースホルダー ('%s' など) で置き換えることが含まれます。

例と推奨事項と禁止事項

c = db.cursor()
max_price = 5
c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))

やってはいけないthis:

c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s" % (max_price,))

覚えておくべき重要なポイント

  • プレースホルダーを定義するときは、パーセント記号ではなくカンマを使用します。
  • プレースホルダーを一重引用符で囲まないでください。
  • パス2 番目のパラメータとして値をタプルまたはリストとして指定します。
  • パラメータが文字列の場合、エスケープはドライバに管理させます。

これらのベスト プラクティスに従うことで、 MySQL データベースへの安全かつ効果的な接続とクエリを確保できます。

以上がPython で MySQL データベースに安全に接続してクエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。