Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вытаскивание пароля из БД 
:(
    Опции темы
Sufius
  Дата 30.7.2004, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 5.4.2004
Где: Питер

Репутация: 1
Всего: 1



как можно вытащить пароль из БД, если он там в зашифрованном виде.

Код
$query = "select * from accounts where login='valid_login'";
$result = mysql_query($query, $conn);

while($row = mysql_fetch_array($result))
{
echo $row[password];

}

в этом случае вытаскивается шифрованный пароль... а как его дешифровать?


--------------------
Помогите плиз с Ajax http://forum.vingrad.ru/forum/topic-208747.html
PM MAIL ICQ   Вверх
Secandr
Дата 30.7.2004, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



его не нужно дешифровать, проще зашифровать пароль пришедший от пользователя и сравнить.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Ignat
Дата 30.7.2004, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Sufius, пароль из мд5 не дешифруется - это одностороннее шифрование.
На практике используется сравнение зашифрованного сохраненного и зашифрованного введенного.
if(md5($input_pass)==$pass_from_db).......

Добавлено @ 10:31
Secandr, эх раньше успел smile.gif



--------------------
Теперь при чем :P
PM   Вверх
Sufius
Дата 30.7.2004, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 5.4.2004
Где: Питер

Репутация: 1
Всего: 1



=))) принцип авторизации я понимаю...
А как сделать восстановление пароля?
Когда человек забыл свой пароль...
Или легче сделать автозамену и выслать новый?


--------------------
Помогите плиз с Ajax http://forum.vingrad.ru/forum/topic-208747.html
PM MAIL ICQ   Вверх
Secandr
Дата 30.7.2004, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



генерируй новый и высылай, всё равно он его забыл.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Sufius
Дата 30.7.2004, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 5.4.2004
Где: Питер

Репутация: 1
Всего: 1



=)))
Добавлено @ 12:02
с генерацией буду париться долго... =(((
usr/dict/words на сервере отсутствует... а поддержка только в понедельник заработает =(((

Может кто подскажет, как можно сделать генерацию слова без ispell?


--------------------
Помогите плиз с Ajax http://forum.vingrad.ru/forum/topic-208747.html
PM MAIL ICQ   Вверх
Ignat
Дата 30.7.2004, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Сгенери рандомизом число - отправь ему на мыло, попроси войти по ссылке. Пусть юзер введет его на странице восстановления, а затем попроси ввести новый пароль.


--------------------
Теперь при чем :P
PM   Вверх
skalex
Дата 30.7.2004, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



Не понял, а в чем проблема с генерацией пароля? Не обязательно же ему быть словом...
PM   Вверх
Ignat
Дата 30.7.2004, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



В целях секюрности. Рекомендуется что-то типа
34ZiGmun34D00FReud


--------------------
Теперь при чем :P
PM   Вверх
IZ@TOP
Дата 30.7.2004, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Генерация нового пароля:
Цитата
$PassLen = 8; // Длинна генерируемого пароля.
$Words = "qQwWeErRtTyYuUiIoOpPaAsSdDfFgGhHjJkKlLzZxXcCvVbBnNmM_1234567890";
while($PassLen > 0) {
    $TmpPass[] = $Words[rand(0, strlen($Words) -1];
    $PassLen--;
}
$Password = implode('', $TmpPass);

Добавлено @ 13:35
При такой генерации получаются пароли типа W4cqO_4y.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
IZ@TOP
Дата 30.7.2004, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Решил от нечего делать написать по быстренькому восстановлялку. Запрсоы к БД замените если что. Кое что я могу не помнить, так что советую посмотреть внимательно код. У меня нет возможности сейчас его проверить wink.gif

Цитата
<?php
/* -------------------------------------------------- */
//    Скрипт восстановления забытого пароля.
//    Автор:    IZ@TOP.
//    Дата:    30.07.04
/* -------------------------------------------------- */

switch($_GET['RecoveryWizzard']) {
    case 'confirm': {
        $Res = mysql_query("select email from temp where key = '".$_GET['confirm']);
        if(!mysql_num_rows($Res)) { die('Такого ключа подтверждения не существует'); }
        list(, $mail) = mysql_fetch_array($Res, MYSQL_NUM);
        $PassLen = 8; // Длинна генерируемого пароля.
        $Words = "qQwWeErRtTyYuUiIoOpPaAsSdDfFgGhHjJkKlLzZxXcCvVbBnNmM_1234567890";
        while($PassLen > 0) {
            $TmpPass[] = $Words[rand(0, strlen($Words) -1];
            $PassLen--;
        }
        $Password = implode('', $TmpPass);
        mysql_query("update users set password = '".md5($Password)."' where email = '".$mail);
mail('[email protected]', $mail, 'Recovery Password', $Password);
echo "Ваш новый паролль отправлен Вам на email";
        break;
    } case 'prepare' {
        $Res = mysql_query("select email from users where name = ".addslashes($_POST['name'])." and email = ".addslashes($_POST['email']));
        if(!mysql_num_rows($Res)) { die('Ошибка. Такого пользователя или email'a не существует.'); }
        $RandKey = md5(microtime());
        mysql_query("insert into temp values('".$_POST['email']."', '".$RandKey."'");
        @mail('[email protected]', $_POST['email'], 'Recovery Password', 'http://example.com/recover.php?confirm='.$RandKey);
        echo "Вам на емайл отправлено письмо с ключем для подтверждения смены пароля.";
        break;
    } default : {
?>
<form action="?RecoveryWizzard=prepare" method="POST">
    <input type="text" value="Your name"><br />
    <input type="text" value="Your email"><br />
    <input type="submit" value="send">
</form>
<?php
    }
}

?>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Ignat
Дата 30.7.2004, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



[offtop]
Цитата
Решил от нечего делать

Завидую. Счастливый человек.
[/offtop]


--------------------
Теперь при чем :P
PM   Вверх
IZ@TOP
Дата 30.7.2004, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Ignat
Это же десятиминутное дело biggrin.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 30.7.2004, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 5
Всего: 454



Вообще сгенеренный и высылаемый пароль должен быть одноразовым - только для того чтобы по нему можно было сменить пароль конкретного пользователя. А то есть любители эти письма от напоминателей хранить аки напоминалку - оно конечно это дело юзера, а не админа, но для солидности хотя бы...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
IZ@TOP
Дата 30.7.2004, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Akina
Есть желание дополнить мой код? Нет? Тогда в чем вопрос? Вообще конечно ты прав. Непомешало бы высылатьь пароль по каторому он должен будет войти в систему с временными правами и сменить свой пароль. Но я допустим с одной такой напоминалки пароли храню. И ни чего, пока не хакнул ни кто. правлда... как говорят - не зарекаются...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0654 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.