if instance = "PROD":
dblink = ('db9_pub',)
elif instance = "BETA":
dblink = ('dbq9_pub',)
elif instance = "TEST"
dblink = ('dbt9_pub',)
#Pre-defined SQL Statements
table1_select = ("""select * from example.table1@? """)
table1_insert = ("""insert into example.table1@? (SQL_SELECT_STATEMNT) """)
conn1 = cx_Oracle.connect(logininfo)
cursor1 = conn1.cursor()
cursor1.execute(table1_select,(dblink))
cursor1.execute(table1_insert,(dblink))
Итак, я собираюсь начать писать множество скриптов на python, которые должны будут передавать переменные в операторы SQL.Некоторые будут безопаснее, чем опубликованный сценарий, некоторые должны быть защищены от атак с использованием SQL-инъекций.Я хотел бы понять разницу между использованием различных переменных методов и тех, которые являются наиболее подходящими.
**% s, '% s',?,: 1 Мне все кажется одинаковым.Каков подходящий способ сделать это для безопасного кода?** Я думаю, что я решил это, мне нужно? Из-за API, который я использую.
Кстати, опубликованный скрипт выдает ошибку: недопустимое имя / номер переменной, поэтому яочевидно, не понимая даже основного применения этого.
============= Редактировать: я нашел эту информацию на странице (http://bobby -tables.com /Python ), который на самом деле помогает некоторым.Он помогает мне определить, какую версию заполнителя использовать, но не сообщает мне, как защититься от внедрения SQL.