Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Ivan Frolcov                         2:5020/175.2   18 Aug 2004  16:02:47
 To : Alexey Gradovtsev
 Subject : Динамическое построение таблиц
 -------------------------------------------------------------------------------- 
 
 Wed Aug 18 2004 15:19, Alexey Gradovtsev wrote to Justin Finch-Fletchley:
  AG> А и не надо кодировать (вернее, ескейпить) ; - это нормальный символ для
  AG> текстовой строки. Hадо исключить спецсимволы (', ", \). Это убережет от
  AG> самой возможности SQL-инъекции. Т.е. левых данных, подставляемых
  AG> кульхацкерами вместо того, что ты ожидаешь получить. 
 
  AG> Пример.
  AG> $query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
  AG> Если $uid такой: ' or uid like'%admin%'; --
  AG> то при $pwd == 'hehehe' запрос станет таким:
  AG> $query = "UPDATE usertable SET pwd='hehehe' WHERE uid='' or uid like
  AG> '%admin%'; --'";
  AG> (все что после -- является комментарием и не рассматривается)
  AG> А замена ' на \' сделает запрос безопасным:
  AG> $query = "UPDATE usertable SET pwd='hehehe' WHERE uid='\' or uid like
  AG> \'%admin%\'; --'";
  AG> (т.е. в базе будет искаться строка: ' or uid like'%admin%'; --)
 
  AG> quote
  AG> Quote a string literal for use as a literal value in an SQL statement, by
  AG> escaping any special characters (such as quotation marks) contained
  AG> within the string and adding the required type of outer quotation marks.
 
  AG> Впрочем, ескейпинг защитит не только от инъекции, но и от элементарных
  AG> ошибок в данных. Случайно затесавшийся символ кавычки ', если его не
  AG> ескейпить в \', приведет к ошибке в SQL-запросе.
 
  AG> А подробно про SQL-инъекции читай здесь:
  AG> http://www.php.net/manual/ru/security.database.php
 
 Мне тут как-то статья попалась, в которой автор рассказывал, как с помощью
 влазания в недра эктивстейтовских дллей можно оторвать от перла пайпы в open.
 Я, признаться, был сильно удивлен тем, что многим проще сделать сложнее, чем
 прочитать документацию.
 
  AG> Пример.
  AG> $query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
 
 Я бы написал 
 
 $dbh->do('update usertable set pwd=? where uid=?',undef,$pwd, $uid);
 
 Может, кто помнит реакцию на книгу Горького "Мать"? "Все беды Максима были от
 того, что он не пил водку"... т.е. в данном случае не читал документацию.
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
 
 

Вернуться к списку тем, сортированных по:

 Тема:    Автор:    Дата:  
 Динамическое построение таблиц   Melekhov Alexandre A.   17 Aug 2004 18:33:00 
 Динамическое построение таблиц   Alexey Gradovtsev   17 Aug 2004 19:20:57 
 Динамическое построение таблиц   Serge Chervjakov   17 Aug 2004 19:55:17 
 Динамическое построение таблиц   Alexey Gradovtsev   18 Aug 2004 10:56:08 
 Динамическое построение таблиц   Justin Finch-Fletchley   18 Aug 2004 13:56:24 
 Динамическое построение таблиц   Alexey Gradovtsev   18 Aug 2004 15:19:23 
 Динамическое построение таблиц   Ivan Frolcov   18 Aug 2004 16:02:47 
 Динамическое построение таблиц   Alexey Gradovtsev   18 Aug 2004 16:38:17 
 Динамическое построение таблиц   Ivan Frolcov   18 Aug 2004 17:55:56 
 Динамическое построение таблиц   Alexey Gradovtsev   18 Aug 2004 18:08:50 
 Re: Динамическое построение таблиц   Artem Chuprina   18 Aug 2004 16:31:16 
 Re: Динамическое построение таблиц   Alexey Gradovtsev   18 Aug 2004 16:40:48 
 Re: Динамическое построение таблиц   Alexey Gradovtsev   18 Aug 2004 16:54:51 
 Re: Динамическое построение таблиц   Serge Chervjakov   18 Aug 2004 17:11:39 
 Re: Динамическое построение таблиц   Alexey Gradovtsev   18 Aug 2004 17:37:19 
 Re: Динамическое построение таблиц   Artem Chuprina   18 Aug 2004 17:16:01 
 Re: Динамическое построение таблиц   Alexey Gradovtsev   18 Aug 2004 18:05:17 
 Re: Динамическое построение таблиц   Artem Chuprina   18 Aug 2004 19:10:20 
 Динамическое построение таблиц   Alexey Gradovtsev   19 Aug 2004 00:53:26 
 Re: Динамическое построение таблиц   Artem Chuprina   19 Aug 2004 13:18:45 
 Re: Динамическое построение таблиц   Alexey Gradovtsev   19 Aug 2004 16:24:24 
 Re: Динамическое построение таблиц   Victor Wagner   18 Aug 2004 19:49:04 
 Динамическое построение таблиц   Serge Chervjakov   17 Aug 2004 19:41:35 
 Re: Динамическое построение таблиц   Melekhov Alexandre A.   18 Aug 2004 19:59:52 
 Re: Динамическое построение таблиц   Serge Chervjakov   18 Aug 2004 22:57:24 
 Re: Динамическое построение таблиц   Artem Chuprina   17 Aug 2004 19:54:17 
Архивное /ru.cgi.perl/330048d159f0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional