Я работал над своим проектом и забыл пароль администратора. Вот таблица пользователей:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(50) NOT NULL,
`password` varchar(32) NOT NULL,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;INSERT INTO `users` (`id`, `email`, `password`, `name`) VALUES
(7, '[email protected]', '078bbb4bf0f7117fb131ec45f15b5b87', 'Ikhlas Sons'),
(10, '[email protected]', '078bbb4bf0f7117fb131ec45f15b5b87', 'essa');
Может кто-нибудь сказать мне, как сбросить пароль в php, который генерируется с md5()
а также cryp()
Вот как генерируется пароль:
$hash = crypt($entered_password,"");
$hash = md5($hash);
Это должно работать:
$hash = crypt("passpass","");
$hash = md5("passpass");
echo $hash;
Или это:
$hash = crypt("passpass","");
echo $hash;
Помните, что ваш пароль passpass
, Скопируйте код в users
,password
поле в базе данных MySQL. И использовать passpass
в качестве пароля при входе.
Вам нужен дополнительный столбец с именем, например, password_reset_token
, Когда пользователь хочет восстановить свой пароль, ваше приложение должно сгенерировать (достаточно длинную) случайную строку и сохранить ее в чем password_reset_token
поле.
Затем вы создаете скрипт, который получает этот токен $_GET
(Т.е .: example.com/password-reset/?token=982dh89h2w9h92hd
), проверьте, существует ли она в таблице «Пользователи», и, если она верна, запросит форму для сброса пароля для этого пользователя.
Вы должны отправить эту ссылку по электронной почте (example.com/password-reset/?token=982dh89h2w9h92hd
) пользователю, попросив его щелкнуть по нему, чтобы сбросить пароль.