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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
     * @param $password
     * @return bool
     */
    public function validatePassword($password)
    {
        return (strcmp($password, $this->getPassword() === 0));
    }

    Запостил: x25, 06 Апреля 2015

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

    • - Скажи пароль и проходи
      - "Пароль"
      Ответить
    • говно где?
      Ответить
    • - У нас дыра в безопасности
      - Слава богу у нас хоть что-то в безопасности
      Ответить
    • PHP обошел стороной, но мне кажется что пароль "FALSE" сойдет для любых ситуаций.
      Хотя бы потому что $this->getPassword() не целое число (=== сравнение с учетом типа).
      Единственное умеет ли похап в имплисит каст который сделает из була FALSE строку "FALSE". Если да, то где этот сайт, я джва года жду такой сайт?
      Ответить
      • Блять там не FALSE а 0 и 0 кастуется в пустую строку... Единственный пароль который не подойдет это пустая строка.
        Ответить
      • да вот же

        http://raz0r.name/vulnerabilities/simple-machines-forum/

        это, наверное, самая охуенная уязвимость, которую я видел
        Ответить
    • вот, вот последствия динамической нестрогой типизации!
      Ответить
    • Не проще было

      return ($password === $this->getPassword());

      ?
      Ответить
      • Даже тройное равно лишнее, с таким кодом хз как работает getPassword() и не вернет ли он ВНЕЗАПНО number, если пароль из одних цифр. Однако это если он не может возвращать какой-нибудь false или -1, а то видали мы и такое.
        Ответить
        • О, уж на обработке ошибок расмус отыгрался по полной. При возникновении ошибки функция или конструкция может:
          а) Бросить исключение
          б) Стриггерить error/warning/notice
          в) Молча вернуть FALSE
          г) Молча вернуть NULL
          д) Молча вернуть код ошибки
          е) Молча прервать выполнение скрипта
          ж) Не сделать нихуя (Чтобы узнать об ошибке нужно вызвать какое-нибудь kokoko_get_last_error_code())
          з) Молча вернуть вполне осмысленный результат (о_О)
          Ответить
        • > тройное равно лишнее
          Тройное равно лишним не бывает.
          Ответить
    • Потом я подполз к нему на четвереньках, как черепаха, и улегся возле него, положив голову ему на ногу выше колена, вдыхая запах вымытого с мылом паха.
      Ответить

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