1. PHP / Говнокод #1842

    +164.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $db = new mysqli(MYSQL_HOST,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DATABASE);
    $query = 'UPDATE registration SET choose_style="'.$_POST['style'].'" WHERE registration_id='.$profile_id;
    $result = $db->query($query);
    if ($result && $db->affected_rows > 0) {
    	echo 'Стиль успешно изменен. Закройте браузер и зайдите снова.';
    } else {
    	echo 'Стиль не изменен';
    	echo $db->error;
    }

    "Закройте браузер и зайдите снова" )))

    Запостил: Sadie, 14 Сентября 2009

    Комментарии (10) RSS

    • Да бог с браузером.
      Этот код просто создан для SQLMap :).
      Ответить
    • М-м-м, SQL-инъекция... А адресок сайта, на котором работает этот скрипт, не подскажете? ^^''''
      Ответить
    • это знакомая программерша программит в локалке
      Ответить
    • ну если нету выше класса контролера который следит за ПОСТОМ то да, иньекция в путь...
      Ответить
      • как можно следить за данными, если не знаешь, от чего именно данные нужно защищать?
        Ответить
        • in_array + $_POST['style']
          Ответить
        • От всего. Следить нужно, а не можно.
          Ответить
        • а чем может навредить элементарный addslashes(stripslashes($char)); ?
          Ответить
        • В данном случае, насколько я понимаю, защита нужна от SQL-injection, и единственный mysql_escape_string отлично защитит.

          Лучше, конечно, связываемые переменные использовать, ведь все-таки mysqli используеться.
          Ответить
    • http://habr.habrastorage.org/comment_images/8e9/2c3/7fe/8e92c37fe50ac24740d305f6d7a06004.jpg
      Ответить

    Добавить комментарий