- 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
Потрясающие идентификаторы мессаджей. Ну а то, что прочитать код без слома глаз нельзя отдельная песня.
В целом там такого внутри много.
AntonMMF 29.08.2011 17:13 # 0
zima 29.08.2011 17:58 # +1
2. Небезопасное сравнение.
3. Двойной вызов функций.
4. Возможность использования в качестве пароля абсолютно любых символов, например перевода строки или пробела. Почему плохо? Юзер существо тупое и при регистрации/смене пароля может сунуть в буфер пробел. А потом будет такая веселая ошибка, когда он набирает пароль, а пароль не подходит. Сначала делают trim(), потом проверяют длину.
shmaltorhbooks 29.08.2011 23:36 # 0
а код красивый.
одна только возможность того, что strlen() <= 0 это уже ярко
zima 29.08.2011 23:43 # +4
Lure Of Chaos 30.08.2011 12:25 # −1
eth0 30.08.2011 16:57 # +1