جلوگیری از تزریق SQL(Prevent SQL Injection)

وقتی مقادیر پرس و جو توسط کاربر ارائه می شود، باید از مقادیر فرار کنید.


این برای جلوگیری از تزریق SQL است، که یک تکنیک رایج هک وب است
پایگاه داده خود را از بین ببرید یا سوء استفاده کنید.


ماژول mysql.connector روشهایی برای فرار از مقادیر پرس و جو دارد:



مثال


Escape query values by using the placholder %s
method:



import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
 
user="youruse
ame
",
  passwd="yourpassword",
  database="mydatabase"
)


mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE
address = %s"
adr = ("Yellow Garden 2", )


mycursor.execute(sql, adr)

myresult = mycursor.fetchall()

for x in myresult:
 
print(x)