No.323
Гнидс конечно учудил. У него в движке можно обновлять сущности - аккаунты для мочеров, посты, баны, спамфмльтр. Вроде все хорошо, но тут, понимаешь, есть нюанс - хеширование. Например, хеширование пароля у аккаунта и поста, хеширование айпишников. Казалось бы, в чем проблема? В том, что тревор гнидс мастерски наступает себе на яйца даже в такой ерунде:
> function updateAccount($account) {
> ...
> $row[ACCOUNT_PASSWORD] = hashData($account['password']);
Ясно, да? То есть если я обновлю что-то кроме пароля, то пароль повторно перехешируется, и станет невалидным. А ведь там есть как раз такое:
> $account['lastactive'] = time();
> updateAccount($account);
И все, ловушка гнидуса захлопнулась. Но старина тревор не такой уж идиот, он в своей патентованной функции hashData пишет следующее:
> function hashData($data, $force = false) {
> ...
Пост обрезан. Нажмите Ответить, чтобы просмотреть.
|