Вы не зашли.
POFIGISST написал:
я рашивровал его
крутой чел)
бля,опять у меня криворукость
ночью что-то не так замутил с проверкой старого пароля на соответствие с тем паролем который в базе,и теперь когда пишу правильный пароль,проверка не срабатывает,пишет что старый пароль не верный,посмотрите пожалуйста мой код,и подскажите в чем моя ошибка
вот так я наговнокодил
Код:
span style="color: #0000BB"><?php case 'smpass':echo '<b>Смена пароля</b><br/>';echo '<form action="editanketa.php?act=ssm" method="post"><input name="old_password" type="password" value=""/><br/><input name="new_password" type="password" value=""/><br/><input name="confirm_new_password" type="password" value=""/><br/><input type="submit" value="Сменить пароль"/></form>';break;case 'ssm':if(mysql_query("SELECT * FROM `users` WHERE id ='" . $user['id']."', `password` = " . md5($_POST['old_password']) )){if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password']){if(mysql_query("UPDATE `users` SET `password` = " . md5(mysql_real_escape_string($_POST['password'])) . " WHERE id =" . $user['id'])){echo 'Вы успешно сменили пароль<br />';}else{echo 'Пароль сменить не удалось<br />'.mysql_error().'<br/>';}}elseecho 'Пароль сменить не удалось<br />Не заполнен новый пароль или неправильное его подтверждение<br/>';}elseecho 'Пароль сменить не удалось<br />Старый пароль указан неправильно!<br/>';break; |
Отредактировано POFIGISST (2011.12.09 00:12)
разобрался уже со сменой,вотЬ мой говнокодЬ
Код:
case 'smpass': |
echo '<b>Смена пароля</b><br/>'; |
echo ' |
<form action="editanketa.php?act=ssm" method="post"> |
Старый пароль:<br/> |
<input name="old_password" type="password" value=""/><br/> |
Новый пароль:<br/> |
<input name="new_password" type="password" value=""/><br/> |
Подтвердите новый пароль:<br/> |
<input name="confirm_new_password" type="password" value=""/><br/> |
<input type="submit" value="Сменить пароль"/> |
</form> |
'; |
|
break; |
|
case 'ssm': |
if(mysql_query("SELECT * FROM `users` WHERE `id` ='" . $user['id']."' AND `password` = '" . md5($_POST['old_password'])."' " )) |
{ |
if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password']) |
{ |
if(mysql_query("UPDATE `users` SET `password` = '" . protect(md5($_POST['new_password'])) . "' WHERE `id` ='" . $user['id']."' ")) |
{ |
echo 'Вы успешно сменили пароль<br />'; |
} |
else |
{ |
echo 'Пароль сменить не удалось2<br />'.mysql_error().'<br/>'; |
} |
|
} |
else |
echo 'Пароль сменить не удалось3<br />Не заполнен новый пароль или неправильное его подтверждение<br/>'.mysql_error().'<br/>'; |
} |
else |
echo 'Пароль сменить не удалось4<br />Старый пароль указан неправильно!<br/>'.mysql_error().'<br/>'; |
|
break; |
напишите какие есть замечания по коду))
лучше сначало проверить это
if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password']))
И проверить лучше на существование все данные формы if(isset($_POST['new_password'], $_POST['confirm_new_password'], $_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password'])).
Я бы ещё на всякий случай обрабатывал md5($_POST['old_password']) с помощью mysql_real_escape_string, хотя это скорее даже лишнее, но я бы сделал так
ну так тупо перебор по заданным хэшам - не интересно)
GemorrojУ меня когда то была идея закупить серьезное оборудование чтобы перебрать в базы. Для обыгрывания казино.
Я по высчетам дошел до квинтилиона, далее понял что достаточно бредить.
Если и закуплю данное оборудование надо минимум пару лет для создания базы хешов. Да и в казино нет столько денег что бы окупить затраты на оборудование.
Только что реально посчситал.
Вот дурная идея надо хешев корочь я даже не знаю как назвать в общем 70в32 ст.
Ну собирать хэши - дурнаю идея, а вот раскодировать. md5 - это по сути своеобразное кодирование данных. А что имело определённую сущность, можно привести к первообразному.
DarkRiDDeR веперед) вот только приведение у тебя вся жизнь уйдет)