- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
if (strlen($_POST["NEW_PASSWORD"]) <= 0)
$arResult["ERROR"][] = GetMessage("STOF_ERROR_REG_FLAG1");
if (strlen($_POST["NEW_PASSWORD"]) > 0 && strlen($_POST["NEW_PASSWORD_CONFIRM"]) <= 0)
$arResult["ERROR"][] = GetMessage("STOF_ERROR_REG_FLAG1");
if (strlen($_POST["NEW_PASSWORD"]) > 0
&& strlen($_POST["NEW_PASSWORD_CONFIRM"]) > 0
&& $_POST["NEW_PASSWORD"] != $_POST["NEW_PASSWORD_CONFIRM"])
$arResult["ERROR"][] = GetMessage("STOF_ERROR_REG_PASS");
Взято из Битрикса /bitrix/components/bitrix/sale.order.ajax/component.php
Потрясающие идентификаторы мессаджей. Ну а то, что прочитать код без слома глаз нельзя отдельная песня.
В целом там такого внутри много.
2. Небезопасное сравнение.
3. Двойной вызов функций.
4. Возможность использования в качестве пароля абсолютно любых символов, например перевода строки или пробела. Почему плохо? Юзер существо тупое и при регистрации/смене пароля может сунуть в буфер пробел. А потом будет такая веселая ошибка, когда он набирает пароль, а пароль не подходит. Сначала делают trim(), потом проверяют длину.
а код красивый.
одна только возможность того, что strlen() <= 0 это уже ярко