|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexey Gradovtsev 2:5020/400 18 Aug 2004 10:56:08 To : Serge Chervjakov Subject : Динамическое построение таблиц -------------------------------------------------------------------------------- Tue Aug 17 2004 19:55, Serge Chervjakov wrote to Alexey Gradovtsev: AG>> if ($query->param()) AG>> @turned_on = $query->param('columns'); $dbh->>> selectall_arrayref('SELECT' . join (',', @turned_on) . 'FROM table') SC> Большая засада, что может прийти то поле, которого в базе нету. Hада SC> проверять на это дело. Обязательно нада. Хуже того - это потенциально SC> опасно, не проверять, что в @turned_on все значения в списке не содержат SC> метасимволов типа '. Вернее даже, что там нету части запроса просто... SC> Я не уверен (особо взломом не занимался еще:) ), но возможно что если в SC> конце обычного запроса, посланного в selectall_arrayref поставить ;, а SC> потом написать еще запрос (но уже не Select скажем), то второй запрос не SC> выполнится.. Hе знаю - такого не пробовал, но по крайней мере если такое SC> чисто в mysql писать, то выполнится. И в таком случае, любой получит Все это само собой разумеется. И называется SQL-инъекция. И для этого существует $dbh->quote(). А так я еще многого не написал в этом отрывке. Digitally yours, Alexey. --- ifmail v.2.15dev5.3 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/16679906d83df.html, оценка из 5, голосов 10
|