adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
смена шифрованного пароля пароля
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ
Автор Сообщение
TROLL_
Эксперт
СообщениеДобавлено: Пн 14-04-08 : 20-28    Заголовок сообщения: смена шифрованного пароля пароля Ответить с цитатой

короче база пользователей лежит в мускуле, пароль шифруется.
как теперь сменить его, не удаляя полностью запись.
Все это безобразие на php.

пробовали через сортировку, чет не получилось.
прикол в том что если он не шифрованный то нармально меняет, как тоько добавляем ............. pass=ENCRYPT('pass'); - все !! непашет, причем на синаксис не ругаеться.
кто знает как сделать?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Richard Ferlow
Гуру
Предупреждений : 2
СообщениеДобавлено: Пн 14-04-08 : 20-34    Заголовок сообщения: Ответить с цитатой

Не пойму в чем проблема - в md5 делаешь сравнение текущего, потом если верно, делаешь UPDATE для этого поля..

Зачем здесь сортировка - вообще не понял.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
TROLL_
Эксперт
СообщениеДобавлено: Пн 14-04-08 : 20-49    Заголовок сообщения: Ответить с цитатой

Richard Ferlow

ну дык и напиши как сделать, строками.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Richard Ferlow
Гуру
Предупреждений : 2
СообщениеДобавлено: Пн 14-04-08 : 21-26    Заголовок сообщения: Ответить с цитатой

Код:


// is user changing passwords?
  if(isset($_POST['newpassword']) && strlen($_POST['newpassword']))
  {
    // check to make sure the password is long enough and of the right format
    if(!eregi("^[[:alnum:]]+$", $_POST['newpassword']))
    {
      $error[] = $p11_language['enter_valid_password'];
    }

    // check to make sure that the password matches the confirmed password.
    if($_POST['newpassword'] != $_POST['newpasswordconfirm'])
    {
      $error[] = $p11_language['password_unmatched'];
    }
  }

 if(empty($error))
  {
   
    // change password?
    if(isset($_POST['newpassword']) && strlen($_POST['newpassword']))
    {
      $DB->query("UPDATE {users} SET password = '%s' WHERE userid = %d", md5($_POST['newpassword']), $_POST['p11_userid']);
    }

   }



Только тут нет проверки текущего пароля. По уму надо бы.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
dlnsk
Гуру
СообщениеДобавлено: Пн 14-04-08 : 23-36    Заголовок сообщения: Ответить с цитатой

TROLL_
Для справки:
Мускулу, как и любой другой БД абсолютно пофиг что ты в ней хранишь и в каком виде. Wink

Проблема в коде.
Либо в коде проверяется что-то и это влияет на обновление инфы в БД или в коде ошибка (будут ли отображаться ошибки зависит от настроек PHP, так что ты их можешь просто не видеть) и следующие после нее команды не выполняются.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора  
Richard Ferlow
Гуру
Предупреждений : 2
СообщениеДобавлено: Вт 15-04-08 : 00-00    Заголовок сообщения: Ответить с цитатой

dlnsk
Смотря какая ошибка, а то и вовсе скрипт не работать Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
TROLL_
Эксперт
СообщениеДобавлено: Вт 15-04-08 : 10-11    Заголовок сообщения: Ответить с цитатой

dlnsk
Richard Ferlow

да ворос даже не в коде уже, захожу командной строкой на мускул

если создаю шифрованный пароль и
SELECT * from users where password = ENCRYPT('пароль не шифрованный') - не ищет строку

если создаю не шифрованный пароль и
SELECT * from users where password = 'пароль не шифрованный' - ищет строку.

вот и вопрос
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Richard Ferlow
Гуру
Предупреждений : 2
СообщениеДобавлено: Вт 15-04-08 : 13-52    Заголовок сообщения: Ответить с цитатой

http://forum.lissyara.su/viewtopic.php?f=11&t=4787

тут у парня похожая проблема.

Прочитав, я так понял, что ENCRYPT разные результаты возвращает и не работает в таком случае.
Сущность этой функции не разбирал - не знаю.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
dlnsk
Гуру
СообщениеДобавлено: Чт 17-04-08 : 15-06    Заголовок сообщения: Ответить с цитатой

TROLL_
Ты мозги не парь. Юзай md5 он везде используется именно для такого случая как у тебя.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора  
BS
Эксперт
СообщениеДобавлено: Чт 17-04-08 : 16-58    Заголовок сообщения: Ответить с цитатой

dlnsk,
Верно!
md5 будет не лучше и не хуже другого способа шифрования. Т.е. если ты хочешь, чтобы база данных была доступна любому в сети, но никто не мог её расшифровать, то md5 не подходитSmile. В любом другом случае он подойдет.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора   Номер ICQ
Richard Ferlow
Гуру
Предупреждений : 2
СообщениеДобавлено: Чт 17-04-08 : 17-26    Заголовок сообщения: Ответить с цитатой

BS
Если база доступа любому в сети, то какой тогда способ подойдет акромя необратимного шифрования ? Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
BS
Эксперт
СообщениеДобавлено: Чт 17-04-08 : 17-30    Заголовок сообщения: Ответить с цитатой

Не понял вопроса. md5 тоже необратим.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора   Номер ICQ
Richard Ferlow
Гуру
Предупреждений : 2
СообщениеДобавлено: Чт 17-04-08 : 18-20    Заголовок сообщения: Ответить с цитатой

BS

Цитата:

Т.е. если ты хочешь, чтобы база данных была доступна любому в сети, но никто не мог её расшифровать, то md5 не подходитSmile.


Фраза подрузумевает, что знаешь способ, чтобы не могли расшифровать.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
BS
Эксперт
СообщениеДобавлено: Пт 18-04-08 : 10-33    Заголовок сообщения: Ответить с цитатой

Да способов милионы. Но тут они не нужны. Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора   Номер ICQ
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ Часовой пояс: GMT + 7
Страница 1 из 1

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы