- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
/**
* @param $password
* @return bool
*/
public function validatePassword($password)
{
return (strcmp($password, $this->getPassword() === 0));
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+166
/**
* @param $password
* @return bool
*/
public function validatePassword($password)
{
return (strcmp($password, $this->getPassword() === 0));
}
- "Пароль"
))
Чет я не понимаю. показывает false
Почему ветка true выполняется.
Всё я понял.
>$this->getPassword() === 0)
лажа со скобками.
- Слава богу у нас хоть что-то в безопасности
Хотя бы потому что $this->getPassword() не целое число (=== сравнение с учетом типа).
Единственное умеет ли похап в имплисит каст который сделает из була FALSE строку "FALSE". Если да, то где этот сайт, я джва года жду такой сайт?
http://raz0r.name/vulnerabilities/simple-machines-forum/
это, наверное, самая охуенная уязвимость, которую я видел
return ($password === $this->getPassword());
?
а) Бросить исключение
б) Стриггерить error/warning/notice
в) Молча вернуть FALSE
г) Молча вернуть NULL
д) Молча вернуть код ошибки
е) Молча прервать выполнение скрипта
ж) Не сделать нихуя (Чтобы узнать об ошибке нужно вызвать какое-нибудь kokoko_get_last_error_code())
з) Молча вернуть вполне осмысленный результат (о_О)
Тройное равно лишним не бывает.