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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    include 'db.php';
    
    $login = $_POST['login'];
    $pass = $_POST['pass']);
    
    $check = mysql_query("SELECT * FROM `users` WHERE login = '" .$login. "'");
    $dbarr = mysql_fetch_array($check);
    
    if($dbarr['pass'] != $pass) {
        setcookie("wrongpass", 'yes', time() + 4, "/");
        header("Location: /index.php");
        return;
    }

    Интересный способ вывода оповещения о не верном пароле, в index.php обрабатывается cookie wrongpass, и если он есть выводится оповещение.

    Запостил: Lantos, 16 Октября 2017

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

    • А то что в базе пароль хранится "как есть"и клиентские данные в запрос вставляются без модификации/проверки вас не смутило? Это не так интересно, как способ уведомления об ошибке?
      Ответить
      • обработка происходит в db.php шифрование md5 и защита от inject там же
        Ответить
        • В db.php модифицируется глобальный массив post?
          Там же проверяется наличие ключа "pass" в массиве "post" и производится его хеширование?

          ps. в строке 4 синтаксическая ошибка.
          Ответить
          • я давно этот кусок кода нашёл, так что точно не могу сказать, но тем не менее из того что помню это хеширование было в db.php , жаль самого файла не смог найти
            Ответить
          • > глобальный массив
            Имейте уважение, - суперглобальный массив.
            Ответить
            • Дальше будут гиперглобальный массив (общий для всех процессов на машине) и ультраглобальный массив (для всех пхп в мире)?
              Ответить
          • и еще db.php содержит полезные HTML шаблоны, функции для отправки email и кастомную реализацию дерева
            Ответить
    • ГОВНОИНКЛЮДЫ
      Ответить
    • >Ю setcookie("wrongpass", 'yes', time() + 4, "/");
      это способ сделать так, чтобы юзеры не перебирали пароль?
      типа "извини, Но судя по твоей куке ты уже ввел неверный парольнедавно", Да?
      Ответить
      • А дальше эта кука используется в коде для сравнения с time(). Поэтому "+ 4".

        Наверное в index.php, когда отрисовывается форма, клиент добавляет красную надпись "неверный пороль".
        Ответить
        • А если была проблема со связью и запрос на отрисовку index.php был отдан позже, чем через четыре секунды, то красной надписи не будет.
          Ответить

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