ФорумПрограммированиеPHP для идиотов → Уязвимости и mysql инъекции

Уязвимости и mysql инъекции

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 19 марта 2009 г. 23:59

    Здравствуйте.
    Можно в этом топике буду задавать вопросы про безопасность? =)


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


    $group=(int)$_POST['sub_group'];
    $user=(int)$_POST['user'];
    $db->sql_query("UPDATE `users` SET `group`={$group} WHERE id='{$user}'");


    Действительно ди такая конструкция неуязвима?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 0:01, спустя 2 минуты 6 секунд

    Professor, действительно
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 0:03, спустя 1 минуту 28 секунд

    только перед самой вставкой проверь
    <?php
    if ( $user != 0 && $group != 0 )
    {
    // here goes sql query
    }
    ?>

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 20 марта 2009 г. 0:08, спустя 4 минуты 54 секунды

    А это зачем? мы же присваиваем переменные.
    Какая тут может быть ошибка?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 0:09, спустя 1 минуту 58 секунд

    Professor, просто если я постом пришлю тебе не числа а две строки, то при интвале мы получим нули.
    а пускать запрос в которм надо апдейдить запись с несуществующим айди=0 не имеет смысла
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 20 марта 2009 г. 0:14, спустя 4 минуты 53 секунды

    Логично. =)
    Просвятил.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 0:17, спустя 2 минуты 58 секунд

    ну и оффтоп, сам запрос по себе безобиден, но перед этим ( я надеюсь ты так и делаешь ) желательно проверить может ли юзер($user) быть в группе($group). А то причислит себя еще к админам))
    но это уже чисто логика приложения..
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 0:24, спустя 6 минут 10 секунд

    Ну еще могут просто не прийти данные постом и будет ошибка, не cтрашно но неэстетично, поэтому я обычно пишу:
    $group = isset($_POST['sub_group']) ? (int)$_POST['sub_group'] : false;

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 1:13, спустя 49 минут 42 секунды

    AlexB, ты про @ не знаешь?))
    Сапожник без сапог
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 20 марта 2009 г. 1:17, спустя 3 минуты 43 секунды


    AlexB, ты про @ не знаешь?))


    Красивее без собачки.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 1:21, спустя 3 минуты 49 секунд

    phpdude, бобик тормозит излишне…
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 1:24, спустя 3 минуты 32 секунды


    AlexB, ты про @ не знаешь?))
    Знаю, но почему-то сложился стереотип, что лучше без собак … вопрос религиозный скорее всего. )))))
    Насколько она тормозит не в курсе … не проверял …
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 1:55, спустя 31 минуту 6 секунд

    adw0rd, я вообще на E_ALL &~E_NOTICE работаю и не ебусь ради этой хуйни iset : ? .. нахуй?)
    Сапожник без сапог
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 20 марта 2009 г. 8:23, спустя 6 часов 27 минут 43 секунды

    хм… я как параноик ещё и проверяю запись на существование перед изменением или удалением  :) хз зачем
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 20 марта 2009 г. 10:27, спустя 2 часа 3 минуты 43 секунды

    phpdude, у каждого свой принцип, мне нравится ()?:;
    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!