<?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.
Покажи авторизацию, как ты делаешь.
У тебя двойной 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
не удобна как то
а вобшем думаю у юзера отправлят уже готовии парол не очен хароши идеа, по моему лучше будет дать ползователю возможность, что он сам подумал нови парол, (но ето толко по моему конечно )
тоест будит что позовател получит парол что-то такого вида:
0cc175b9c0f1b6a831c399e269772661
не удобна как то
а вобшем думаю у юзера отправлят уже готовии парол не очен хароши идеа, по моему лучше будет дать ползователю возможность, что он сам подумал нови парол, (но ето толко по моему конечно )
Спустя 56 минут, 24 секунды (4.10.2011 - 22:35) imbalance_hero написал(а):
dadli
У автора страдает логика, он в БД добавляет запись, которую 1 раз прогнал в md5, а сравнивает с записью, которую прогнал 2 раза с md5. Итого разные записи
У автора страдает логика, он в БД добавляет запись, которую 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 и потом попробуйте вход на саит через полученого (из почти конечно) пароля
попробуйте сделать так: отправляите к ползователю не $password, а $rand и потом попробуйте вход на саит через полученого (из почти конечно) пароля
Спустя 12 часов, 30 минут, 20 секунд (5.10.2011 - 12:33) imbalance_hero написал(а):
dadli
Неужели я криво объясняю...
До тебя ведь дошло, что надо отправлять данные ещё до md5, или запись в БД дважды прогонять на md5, а нет...
Неужели я криво объясняю...
До тебя ведь дошло, что надо отправлять данные ещё до md5, или запись в БД дважды прогонять на md5, а нет...
Спустя 2 часа, 36 минут, 31 секунда (5.10.2011 - 15:09) dadli написал(а):
imbalance_hero
Цитата |
Неужели я криво объясняю... |
ви хорошо объясняите.
просто мне казалос что автор теми всеровно не совсем понял "что бил не так"
потому что он задал такои вопрос:
Цитата |
А можно как то кэшированый пароль на почту преобразовать в обычный? |
а почему нужно ему "кэшированый пароль преобразовать в обычный" не понял, ему же бил уже "обычный" парол и ето бил переменная $rand?
Спустя 4 минуты, 14 секунд (5.10.2011 - 15:14) imbalance_hero написал(а):
strannic
Для начала открой и почитай про md5, там самая главная строчка: "В одном направлении".
Для начала открой и почитай про md5, там самая главная строчка: "В одном направлении".