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

    +159

    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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    /**
     * Дублирование пароля в поле CONFIRM_PASSWORD.
     */
    function removeConfirmPasswordField()
    {
        $arFields  = filter_input(INPUT_POST, 'REGISTER', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY);
        if($arFields)
        {
            $arKeys = array_keys($arFields);
            $arNeedKeys = array('PASSWORD', 'CONFIRM_PASSWORD');
            if(count(array_intersect($arKeys, $arNeedKeys)) === count($arNeedKeys))
            {
                $_POST['REGISTER']['CONFIRM_PASSWORD'] = $_POST['REGISTER']['PASSWORD'];
                $_REQUEST['REGISTER']['CONFIRM_PASSWORD'] = $_REQUEST['REGISTER']['PASSWORD'];
            }
        }
    }
    
    AddEventHandler('main', 'OnBeforeProlog', 'removeConfirmPasswordField');

    Вот таким способом я дублирую значение поля ввода пароля в поле для его подтверждения...

    Запостил: littlefuntik, 13 Марта 2015

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

    • Но нафига? Чтобы даже если юзер всё криво ввёл - всё равно засчиталось?
      Ответить
      • Начальство требует убрать поле подтверждения пароля. А в битриксе это значит уходить от стандартного решения, а так нельзя :(
        Ответить
        • > Начальство требует убрать поле подтверждения пароля.
          Идиоты они, что сказать. Готовьтесь к заявкам на смену пароля сразу после регистрации :)

          > от стандартного решения
          От здравого смысла.
          Ответить
          • ну а что тут такого? ну придут на 10000 заявок больше чем обычно, разве это критично. Ну а пользователей например может напрягать все эти повторите ввод. ИМХО надо все регать по openid.
            Ответить
            • > напрягать
              Ага. А потом получаются гениальные "ненапряжные" решения в духе сбербанка... Ввёл номер сотика, надеялся, что сейчас на него придёт смс для подтверждения и надо будет ввести код из неё (тем самым я сразу узнаю, что всё ок, и сотик именно мой)... А вот хуй! Ибо они сделали "удобней" для юзера. И потом я полдня ловил батхерты, надеясь на то, что я не накосячил с номером... Проверить то никак нельзя, пока сервис не подключится.

              > openid
              Мейби oauth через социалочки? По openid запросто можно стадо из сотни ботов пригнать... Да и мало кто знает, где его взять.
              Ответить
              • можно и oauth через социалочки.
                Ответить
              • OAuth и иже с ним могут доставить пользователям много попоболи. Возьмем к примеру сайтик типа Стековерфлоу, на котором можно ассоциировать с одним акком несколько способов авторизации, и, кроме них - обычный логин / пароль. И они не одни такие, Бибтакет тоже такое разрешает например. Ну, вобщем, суть такова: у пользователя на одном из таких сайтов воруют доступ, а потом используя авторизацию со взломаного сайта логинятся куда хотят. Более того, у меня так случайно получалось, когда кто-то из сотрудников зашел что-то посмотреть на Стековерфлоу и забыл разлогинится (там еще и хер найдешь как это сделать), ну и я потом даже не обратив внимание с айди сотрудника залогинился в Бибтакет. Потом очень долго не мог сообразить почему Битбакет мне не позволяет в мою персональную репу посмотреть, а в репу компании - да.
                Ответить
                • Надо что бы не было доступа по логин паролю. А только по OAuth. Тогда надо озаботится что бы не поломали 1 акк с которого ходишь везде. А там уже привязать вход к номеру телефона например.
                  Ответить
                  • Не удивляйтесь, если вас однажды ночью у подъезда встретят форчанеры.
                    Ответить
        • > убрать поле подтверждения пароля
          Кстати, а кнопочка "показать пароль" будет?
          Ответить
    • мало капса
      Ответить
    • А венгерская нотация-то какая – самый сок! На ПХП смотрится особенно смачно.
      Я считаю, если таковая применяется стихийно, то это есть безошибочный детектор особого склада ума проектирования, из которого можно бесконечно выдавливать говнокоды.
      Ответить
    • $arKeys = array_keys($arFields);
      $arNeedKeys = array('PASSWORD', 'CONFIRM_PASSWORD');
      if(count(array_intersect($arKeys, $arNeedKeys)) === count($arNeedKeys)) {
      /* ... */
      }

      Особый сорт сладкого хлебушка.
      Автор – конвеерный петух, а битрикс – призвание его
      Ответить

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