|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexey Gradovtsev 2:5020/400 18 Aug 2004 16:54:51 To : Alexey Gradovtsev Subject : Re: Динамическое построение таблиц --------------------------------------------------------------------------------
Wed Aug 18 2004 16:40, Alexey Gradovtsev wrote to Artem Chuprina:
AC>> Он там _текст запроса_, а не _значения полей_ формирует динамически.
AC>> Тут никакая quote и никакие placeholders не спасают - тут только
AC>> анализировать, что именно подсунули.
AG> А. Hу да. Вернулся к исходному запросу и понял, что прогнал...
С другой стороны, названия таблиц, столбцов и т.д. в SQL-запросах тоже должны
быть (в общем случае) заключены в кавычки. Чтобы исключить ключевые слова (к
примеру, я хочу назвать таблицу "Select"). В mysql это одинарные кавычки, в
postgre - двойные. Так что все возвращается к quote.
Что касается заменителей (placeholders), то ими пользуются не все и не всегда,
а знать про SQL-инъекции и ескейпинг все равно надо.
А то читал я тут чужую программу... Hе мать Горького и даже не пуговицу
Пушкина, но тоже зашибает... Там народ вообще про ескейпинг был не в курсе,
видать. В результате их внушительная база просто не работала. Т.к. из-за
опечатки в данных (кавычка) просто не могла загрузиться в БД на сервер. И
длилось это месяца 3, пока продолжался процесс убеждения...
Digitally yours, Alexey.
--- ifmail v.2.15dev5.3
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/166796b659497.html, оценка из 5, голосов 10
|