[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемма с востановлением пароля
strannic
Есть страничка востановления пароля. Пароль приходит на почту но при авторизации пишет ( пишет ПАРОЛЬ НЕ ВЕРНЫЙ).

<?php
if($_POST['this']){
$email = htmlspecialchars(trim($_POST['email']));
//Опознаем пользователя по мылу
$select = mysql_query("SELECT * FROM users WHERE email = '$email'") or die(mysql_error());
//Генерируем новый пароль
$datenow = date('YmdHis');//извлекаем дату
$new_password = md5($datenow);// шифруем дату
$new_password = substr($new_password, 2, 6); //извлекаем из шифра 6 символов начиная со второго. Это и будет наш случайный пароль. Далее запишем его в базу, зашифровав точно так же, как и обычно.

$new_password_sh = strrev(md5($new_password))."b3p6f";//зашифровали
mysql_query("UPDATE users SET password='$new_password_sh' WHERE login='$login'",$db);// обновили в базе
//формируем сообщение

$message = "Здравствуйте, ".$login."! Мы сгененриоровали для Вас пароль, теперь Вы сможете войти на сайт xxxxxxx.ru, используя его. После входа желательно его сменить. Пароль:\n".$new_password;//текст сообщения
mail($email, "Восстановление пароля", $message, "Content-type:text/plane; Charset=windows-1251\r\n");//отправляем сообщение

echo "<html><head><meta http-equiv='Refresh' content='5; URL=index.php'></head><body>На Ваш e-mail отправлено письмо с паролем. Вы будете перемещены через 5 сек. Если не хотите ждать, то <a href='index.php'>нажмите сюда.</a></body></html>";//перенаправляем пользователя
}
?>




Спустя 12 минут, 9 секунд (4.10.2011 - 21:21) dadli написал(а):
strannic
ви у юзера отправляте не парол а его хеш ???

Спустя 1 минута, 42 секунды (4.10.2011 - 21:23) imbalance_hero написал(а):
strannic
Покажи авторизацию, как ты делаешь.

У тебя двойной md5 сравнивается, скорее всего, с 1 md5.

Спустя 5 минут, 17 секунд (4.10.2011 - 21:28) imbalance_hero написал(а):
$password = md5($rand);
$update = mysql_query("UPDATE users SET password = '$password' WHERE id_user = '$id'")or die(mysql_error());
$message = "Здравствуйте {$arr['name']}, ваш новый пароль к сайту {$password}";
$newpassword = md5($password);


Считаем количество первого значения и второго. Количество md5

Спустя 10 минут, 14 секунд (4.10.2011 - 21:38) dadli написал(а):
strannic
тоест будит что позовател получит парол что-то такого вида:
0cc175b9c0f1b6a831c399e269772661
не удобна как то
а вобшем думаю у юзера отправлят уже готовии парол не очен хароши идеа, по моему лучше будет дать ползователю возможность, что он сам подумал нови парол, (но ето толко по моему конечно ) smile.gif

Спустя 56 минут, 24 секунды (4.10.2011 - 22:35) imbalance_hero написал(а):
dadli
У автора страдает логика, он в БД добавляет запись, которую 1 раз прогнал в md5, а сравнивает с записью, которую прогнал 2 раза с md5. Итого разные записи

Спустя 11 минут, 30 секунд (4.10.2011 - 22:46) strannic написал(а):
Результат тот же - Мыло или пароль не совпадают

Спустя 8 минут, 49 секунд (4.10.2011 - 22:55) strannic написал(а):
Хотя в базе тот же пароль - типа этого "3a89yu2396274d8cb7a7783be61d9d76"
В чем же проблема? При авторизации пишет - Мыло или пароль не совпадают....

Спустя 5 минут, 32 секунды (4.10.2011 - 23:01) imbalance_hero написал(а):
'3a89yu2396274d8cb7a7783be61d9d76' !== md5('3a89yu2396274d8cb7a7783be61d9d76')

!!!!

Спустя 2 минуты, 19 секунд (4.10.2011 - 23:03) imbalance_hero написал(а):
echo md5('3a89yu2396274d8cb7a7783be61d9d76');


....
ТВОЁ УСЛОВИЕ:

echo '3a89yu2396274d8cb7a7783be61d9d76 = '.md5('3a89yu2396274d8cb7a7783be61d9d76');

Спустя 16 минут, 14 секунд (4.10.2011 - 23:19) strannic написал(а):
Проверил - регистрирую нового пользователя ставлю пароль например 12345, Беру пароль из базы типа 3a89yu2396274d8cb7a7783be61d9d76, пытаюсь войти.... Ответ НЕТ. Ввожу пароль 12345 - Все нормально!

Спустя 7 минут, 7 секунд (4.10.2011 - 23:26) dadli написал(а):
strannic
да, совсем логично что так происходить

Спустя 18 минут, 22 секунды (4.10.2011 - 23:45) strannic написал(а):
А можно как то кэшированый пароль на почту преобразовать в обычный?

Спустя 17 минут, 48 секунд (5.10.2011 - 00:03) dadli написал(а):
strannic
попробуйте сделать так: отправляите к ползователю не $password, а $rand и потом попробуйте вход на саит через полученого (из почти конечно) пароля

Спустя 12 часов, 30 минут, 20 секунд (5.10.2011 - 12:33) imbalance_hero написал(а):
dadli
Неужели я криво объясняю... sad.gif
До тебя ведь дошло, что надо отправлять данные ещё до md5, или запись в БД дважды прогонять на md5, а нет...

Спустя 2 часа, 36 минут, 31 секунда (5.10.2011 - 15:09) dadli написал(а):
imbalance_hero
Цитата
Неужели я криво объясняю...  sad.gif

ви хорошо объясняите. smile.gif
просто мне казалос что автор теми всеровно не совсем понял "что бил не так"
потому что он задал такои вопрос:
Цитата
А можно как то кэшированый пароль на почту преобразовать в обычный?

а почему нужно ему "кэшированый пароль преобразовать в обычный" не понял, ему же бил уже "обычный" парол и ето бил переменная $rand?

Спустя 4 минуты, 14 секунд (5.10.2011 - 15:14) imbalance_hero написал(а):
strannic
Для начала открой и почитай про md5, там самая главная строчка: "В одном направлении".
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.