Forum Webscript.Ru
Общие => Базы данных => Тема начата: MadDog от 07 Мая 2002, 17:33:52
-
Суть проблемы в следующем.
Допустим в базе есть таблица users с полями UserLogin и UserPassword. При регистрации пользователей пароль юзверя заносится в соответсвующее поле базы с помощью функции PASSWORD().
Так вот. А как бы получить настоящее значение поля UserPassword, если юзверь забыл этот самый пароль?
ЗЫ. Уже пару часов на работе голову ломаю. К концу рабочего дня котелок уже не варит. :)
ЗЫЫ. Тьфу ты не в тот топик положил тему. Переместите, плиз, и сильно не ругайте.
-
Никак, генерируй пользователю новый пароль.
-
MadDog
внимательнее на ман нужно любоваться :)
PASSWORD() encryption is non-reversible.
оригинал:
http://www.mysql.com/doc/M/i/Miscellaneous_functions.html
просто нужно поменять пароль на новый.
-
Dm
внимательнее на ман нужно любоваться
Биг сенкс, а вот слона-то я и не заметил. :insane:
генерируй пользователю новый пароль
просто нужно поменять пароль на новый
Ну либо написать свою функцию шифрации-дешифрации
Тогда немного поставлю вопрос по-другому.
Насколько безопастно (или правильно, что ли) хранить пароли пользователей в базе без шифрования?
-
MadDog
Насколько безопастно (или правильно, что ли)
Небезопасно и не правильно.
Ну либо написать свою функцию шифрации-дешифрации
Велосипед изобретать не рекоммендую. Ты же не Седжвик.
Да. И тема уехала в базы.
-
Можно такое использовать:
Необходимые данные:
пароль
вопрос для напоминания
ответ на вопрос
Алгоритм:
юзер вводит пароль
и ответ на вопрос.
в БД заносится password(\'$password\');
и encpass=encode(\'$password\',\'ответ\');
если юзер забыл пароль - ему выводится вопрос
Далее
если password==password(\'decode(\'encpass\',\'ответ\')) юзер выводится decode(\'encpass\',\'ответ) - это будет забытый пароль.
encode() и decode() - встроенные функции MySQL.
Насколько надежны - не знаю, может стоит использовать mcrypt()
PS
Если кто идею не понял, то суть в том, чтобы с помощью ответа шифровать пароль, но сам ответ в БД не хранить. Его будет вводить юзер, когда забудет пароль.
-
еще раз любуемся на ман по тому же адресу
про ENCRYPT/DECODE/DES_ENCRYPT/DES_DECRYPT
ключ к паролям нужно тогда будет в оч. защищенном месте.