Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Selamatkan Pertanyaan MySQL dalam Python Terhadap Suntikan SQL?

Bagaimanakah Saya Boleh Selamatkan Pertanyaan MySQL dalam Python Terhadap Suntikan SQL?

Linda Hamilton
Linda Hamiltonasal
2024-12-11 15:26:11762semak imbas

How Can I Secure MySQL Queries in Python Against SQL Injection?

Melindungi Pertanyaan MySQL dalam Python untuk Mencegah SQL Injection

Apabila menanyakan pangkalan data MySQL daripada Python, mencegah serangan suntikan SQL adalah penting. Ini melibatkan memastikan pembolehubah yang disediakan pengguna tidak mengganggu struktur pertanyaan.

Laksanakan pertanyaan berparameter menggunakan fungsi "laksana" dengan %s sebagai pemegang tempat untuk pembolehubah. Lulus pembolehubah sebagai senarai atau tuple sebagai parameter kedua untuk dilaksanakan.

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

Elakkan penggantian rentetan langsung menggunakan %. Sebaliknya, gunakan koma sebagai pemegang tempat:

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

Jangan sertakan pemegang tempat dengan petikan tunggal jika parameter ialah rentetan:

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

Dengan mengikuti amalan terbaik ini, anda boleh mengurangkan risiko serangan suntikan SQL dan memastikan keselamatan sambungan MySQL anda dalam Python.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Selamatkan Pertanyaan MySQL dalam Python Terhadap Suntikan SQL?. 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