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

    +162

    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
    //create image array
             $images = array();
             //fill it
             for ($i = 1; $i <= 180; $i++) 
                if (($i != $passimage1)&&($i != $passimage2)&&($i != $passimage3)&&($i != $passimage4)) 
                $images[] = $i;
             //randomize it
             for ($i = 0; $i < 176; $i++) {
                $r = rand(0,175);
                $swap = $images[$r];
                $images[$r] = $images[$i];
                $images[$i] = $swap;
             }

    Запостил: denis90, 16 Ноября 2011

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

    • А с пояснением для чего это написано, было бы еще на 25% веселее.
      Ответить
      • В этом-то всё и веселье, разбираться для чего это говно нужно было.
        Ответить
    • Что бы войти на сайт, пользователь должен выбрать 4 картинки, которые он выбрал при регистрации. А это кусочек пахнущего кода из скрипта, который инициализирует массив с именами картинок(1.gif, 2.gif etc...) для отображения
      Ответить
      • Защита от брута?
        Ответить
      • >Что бы войти на сайт, пользователь должен выбрать 4 картинки, которые он выбрал при регистрации
        Хм, а интересно придумано.
        Но только в качестве альтернативы стоило бы оставить традиционный пароль.
        Ответить
        • 4 картинки и есть пароль
          Ответить
          • >традиционный пароль
            Ответить
          • Плохо зделано, тупо. Перебрать же можно за минуты!
            Ответить
            • >сделано
              зделано
              Ответить
            • Перебрать что? Все картинки что бы взломать пароль?
              Ответить
              • А то!
                Ответить
                • Долго придется перебирать. Процедура разбита на 4 части. В каждой части по одной картинке. Выбирается 15 картинок из 179 + 1 целевая. Если пользователь выбирает не ту картинку на любой из стадий, в следующей стадии не будет целевой картинки.
                  Ответить
                  • думаете, он еще помнит, в какой последовательности они идут?
                    Ответить
                    • Последовательности нет. На каждой стадии рандомная целевая картинка
                      Ответить
                      • > Если пользователь выбирает не ту картинку на любой из стадий, в следующей стадии не будет целевой картинки
                        тогда я что-то недопонял?
                        Ответить
                      • А защита от брута есть? Т.е. если, например, 5 раз неправильно указал картинку, аккаунт блокируется.
                        Ответить
                        • 3 раза. Если в истечении 3 дней пользователь не подаёт заявку на разблокировку, аккаунт удаляется
                          Ответить
                          • Лол, а если это не пользователь, а тролль неправильно указал картинки? Тоже удалите юзверя?
                            Ответить
                            • Я, denis90, находясь в здравом уме и твердой памяти, торжественно заявляю: говно случается. cron не щадит никого
                              Ответить
                  • То есть, 16 картинок на каждой стадии? Неплохо.
                    Ответить
                    • Это облегченный вариант. В предыдущей версии сайта была мегакрутая фича, которая нагружала сервер до предела. А состояла в том, что перед отображением 16 картинок, вызывалась ява программа, которая сравнивала целевую картинку со ВСЕМИ которые есть, и выбирала наиболее похожие.
                      Ответить
                      • Это уже защита от людей, а не от ботов.
                        Ответить
                        • >>>А состояла в том, что перед отображением 16 картинок,

                          Разумеется, оценить схожесть каждой пары картинок ОДИН раз и закэшировать результаты до изменения набора - это не наш метод.
                          Ответить
                        • Это же сайт не для людей. они (люди) там не нужны.
                          Ответить
    • Кто это придумал?Какой то новый тренд?как я это пропустил...(
      Ответить

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