Я использую сценарий оболочки для связи с базой данных MySQL . MySQL поддерживает указание запроса в качестве аргумента оболочки, например:
mysql my_db -B -N -e "select id from Table"
Однако, Если у меня есть параметр, который я хотел бы использовать в запросе, как я могу защитить себя от атак путем инъекций?
Наивный способ - просто вставить значение переменной в запрос, но это не очень безопасно:
mysql my_db -B -N -e "select id from Table where name='$PARAM'"
] Есть ли какие-нибудь уловки или задокументированные интерфейсы для выполнения безопасных для инъекций запросов из командной строки?