Python MySQLdb — программирование вокруг кода SQL-инъекций

Во-первых, я очень новичок в переполнении стека (первый опубликованный вопрос) и форумах в целом. В дополнение к этому падению, я также новичок в разработке и базах данных, кроме как на уровне системного администрирования.

Я вижу несколько вопросов об использовании переменных в Python с модулем MySQLdb в stackoverflow. Многие из них упоминают код SQL Injection, например это. Ответ с 70+ голосов дает вам пример, где %, по-видимому, является решающим символом в том, восприимчив ли ваш код к SQL Injection. Мои вопросы:

  1. Правильно ли я понимаю, что "" % (VAR) вместо "", (VAR) имеет значение?

  2. Если это так, то это сообщение также является примером или есть что-то другое с использованием% для обозначения таблицы по сравнению с предложением?

Следует отметить, что я пытался узнать больше о SQL Injection. Не уверен, что я слишком плотный или материал такой, но я просто не слежу. В этой статье cisco я попытался следовать, я нашел что нет упоминания о процентах, но вместо этого они, кажется, используют ?. Так что, если кто-то может указать мне на документацию "неспециалиста", я был бы признателен!


person NoPathInParticular    schedule 03.08.2013    source источник
comment
Внедрение SQL становится возможным, как только вы начинаете интегрировать пользовательский ввод в свои запросы. Это одна из самых известных иллюстраций. . Этот справочный вопрос, хотя изначально относится к PHP, также предоставляет массу ценной информации о том, как предотвратить это, независимо от языка. .   -  person RandomSeed    schedule 03.08.2013
comment
Проверьте также это.   -  person RandomSeed    schedule 03.08.2013
comment
@RandomSeed спасибо за быстрый ответ. Я рассмотрю ваши ссылки, но я считаю, что это недостающая часть. Со всем чтением, которое я сделал, я не понял, что это был пользовательский ввод. Я в основном беспокоился о неправильном, поскольку мой не основан на пользовательском вводе. Однако теперь, когда я знаю об этом больше, мне это очень интересно.   -  person NoPathInParticular    schedule 03.08.2013
comment
Прошло достаточно времени, чтобы вы добавили свой ответ в качестве фактического ответа. Сделайте это, используя историю изменений вашего вопроса, если необходимо получить текст.   -  person Air    schedule 11.04.2015


Ответы (1)


RandomSeed разместил правильный ответ на мой вопрос, поэтому я повторю:

Внедрение SQL становится возможным, как только вы начинаете интегрировать пользовательский ввод в свои запросы. Это одна из самых известных иллюстраций. . Этот справочный вопрос, хотя изначально применялся для PHP, а также предоставить тонны ценной информации о том, как предотвратить это, независимо от языка

person NoPathInParticular    schedule 29.01.2016
comment
Пожалуйста, включите ссылку в свой ответ. - person Rekamanon; 23.10.2019