Важность обратной галочки вокруг имени таблицы в запросе MySQL

В запросах MySQL, насколько важный это для помещения обратных галочек вокруг имени таблицы. Это имеет некоторое отношение к безопасности? Действительно ли нападения инжекции MySQL возможны через имя таблицы, если имя таблицы создается динамично в PHP на основе вводов данных пользователем?

14
задан Brian 26 December 2009 в 08:00
поделиться

3 ответа

Ссылки помогают вам избежать случайного использования имени, которое является зарезервированным словом, например, в SQL. Возьмите таблицу с именем "where", это глупое имя для таблицы, я согласен, но если вы обернете ее в бэктик, она будет работать нормально.

18
ответ дан 1 December 2019 в 08:42
поделиться

В запросах MySQL, насколько это важно. чтобы повесить палочки вокруг названия стола. Это как-то связано с безопасность?

Что касается черных ходов, я использую их, когда есть конфликт имен между именами mysql-specifcs и именами из запроса.

Возможны ли атаки MySQL инъекции. через имя таблицы, если таблица имя создается динамически в PHP на основе пользовательских входов?

Когда бывает пользовательский вход, необходимо убедиться, что вы отфильтровываете и подтверждаете вход, исходящий от пользователя. Поэтому да, существует риск безопасности.

Я бы порекомендовал использовать intval для чисел и функцию mysql_real_escape_string для любых переменных, которые вы можете использовать в своих запросах.

.
11
ответ дан 1 December 2019 в 08:42
поделиться

Если у вас есть имя таблицы с тем же именем, что и у ключевого слова, например, select, то следующий запрос все равно будет работать:

select * from `select`;
3
ответ дан 1 December 2019 в 08:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: