Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyambung dengan Selamat dan Menyoal Pangkalan Data MySQL dalam Python?

Bagaimanakah Saya Boleh Menyambung dengan Selamat dan Menyoal Pangkalan Data MySQL dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-05 05:07:10633semak imbas

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

Amalan Terbaik dan Cara Paling Selamat untuk Menyambung ke MySQL dan Melaksanakan Pertanyaan dalam Python

Mengelakkan SQL Injection: Laksanakan Pernyataan dengan Pertanyaan Berparameter

Walaupun menyambung ke pangkalan data MySQL dalam Python adalah penting, ia adalah penting sama pentingnya untuk melindungi sistem anda daripada serangan suntikan SQL. Untuk mengurangkan risiko ini, kaedah paling selamat adalah dengan menggunakan pertanyaan berparameter. Ini melibatkan penggantian pembolehubah yang dibekalkan pengguna dalam pernyataan SQL dengan pemegang tempat (cth., '%s').

Contoh dan Perkara yang boleh dan tidak boleh dilakukan

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

Jangan buat ini:

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

Perkara Penting yang Perlu Diingat

  • Gunakan koma semasa mentakrifkan ruang letak, bukan tanda peratus.
  • Jangan sertakan pemegang tempat dalam petikan tunggal.
  • Lepasi nilai sebagai tuple atau senarai sebagai parameter kedua.
  • Jika parameter ialah rentetan, biarkan pemandu menguruskan pelarian.

Dengan mematuhi amalan terbaik ini, anda boleh memastikan sambungan dan pertanyaan yang selamat dan berkesan ke pangkalan data MySQL anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyambung dengan Selamat dan Menyoal Pangkalan Data MySQL dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn