В MySQL-запросах важно, как это сделать, чтобы ссылаться на имя таблицы. Это имеет какое-то отношение к безопасности? Возможны ли инъекции инъекций MySQL через имя таблицы, если имя таблицы динамически создается в PHP на основе пользовательских входов?
Обратные ссылки помогают вам случайно использовать имя, которое является зарезервированным словом в SQL, например. Возьмите таблицу с именем «где», это глупое имя для таблицы, которую я согласен, но если вы завернете ее в backticks, она будет работать нормально.
В MySQL-запросах важно, как это сделать, чтобы ссылаться на имя таблицы. Это имеет какое-то отношение к безопасности?
Что касается обратных ссылок, я использую их, когда существует конфликт имен между именами mysql-specificcs и именами из запроса.
Возможны ли инъекции инъекций MySQL через имя таблицы, если имя таблицы динамически создается в PHP на основе пользовательских входов?
Когда когда-либо есть пользовательский ввод, вам необходимо убедиться, что вы фильтруете и проверяете ввод, поступающий от пользователя. Так что да, есть риск для безопасности.
Я бы рекомендовал вам использовать intval для чисел и функцию mysql_real_escape_string для любых переменных, которые вы можете использовать в своих запросах.
Если у вас есть имя таблицы с тем же именем, что и ключевое слово, например select, следующий запрос будет работать:
select * from `select`;