|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.05.2018, 18:13 | #1 |
Форумчанин
Регистрация: 24.02.2014
Сообщений: 159
|
Cовместимоли md5 и REMOTE_ADDR
Здравствуйте, кто из опытных подскажите - можно ли написать регистрацию пользователя с вычислением IP-адреса SERVER['REMOTE_ADDR'] и хеширования пароля md5 ? Или более современный SHA256. Какой вариант лучше ?
|
01.05.2018, 20:24 | #2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
А какая связь IP и шифрования пароля?
Разница между MD5 и SHA256 незначительна. SHA256 капельку будет понадёжнее. Вообще читайте про то как правильно солить хэш-сумму.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
02.05.2018, 11:43 | #3 |
Форумчанин
Регистрация: 24.02.2014
Сообщений: 159
|
Pavia, я как раз и хотел это узнать - ,,А какая связь IP и шифрования пароля?,,
Я читал много примеров, но без объяснения не могу разобраться. Читаю php manual md5 все начинается - Вычисляет MD5-хеш строки str используя » алгоритм MD5 RSA Data Security, Inc. и возвращает . Нет пояснения куда как писать. Где то смысл не могу понять. |
02.05.2018, 11:46 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
02.05.2018, 23:22 | #5 | |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Цитата:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
|
03.05.2018, 12:14 | #6 |
Форумчанин
Регистрация: 24.02.2014
Сообщений: 159
|
Здравствуйте всем кто откликнулся. bcrypt у меня не работает, я читал пробовал, все тщетно. Двух факторная аутентификация - интересно, но еще мне рано - на ум пошло. У меня работает - $pass = md5($pass) - но выводит на экран все 32 знака и отправляет письмо пользователю, то же 32 знака. Получается - что бы войти, пользователю нужно будет вводить только эти же 32. И не какого смысла. Где оно косит, не пойму.
|
03.05.2018, 12:18 | #7 |
Форумчанин
Регистрация: 24.02.2014
Сообщений: 159
|
Да еще в догонку - if(trim($_POST['pass'])=="") $err = $err."Введите пароль<br>";
else $pass=trim(anti($_POST['pass'])); $pass = md5($pass); Может здесь что то не правильно. |
03.05.2018, 12:26 | #8 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Вообще не понятно что Вы пытаетесь сделать, если вы захешировали пароль то зачем же Вы его посылаете пользователю? Вы понимаете как это работает. Юзер придумывает пароль он хешируется записывается в базу, затем юзер водит пароль чтобы зайти на Ваш сайт к примеру, пароль снова хешируется и сравнивается с тем что в базе если ок, то пускаем. Это грубое объяснение того как это работает. Если юзер забыл пароль не зачем ему слать хеш вместо это вы генерируете рандомную строку формируете ссылку записываете строку в базу, если юзер перейдет по этой ссылке если строка совпадает с той что в базе открывается форма где можно поменять пароль.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
03.05.2018, 12:38 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Вот смотрите, пользователь вводит пароль. ну пусть это будет банальное "12345" Для того, чтобы в дальнейшем проверять, тот ли пользователь пришёл, Вам нужно этот пароль где-то сохранить. Но, как Вы понимаете, если где-то сохранить "12345", то любой человек, получивший доступ к БД, сразу получит ВСЕ пароли. А это - не гуд! что же делать? А нужно использовать криптографию, в частности хэш-функцию. берём пароль "12345", который ввёл пользователь и применяем нормальную хэш-функцию. Пока, для простоты, берём md5() md5('12345') получаем строчку "827ccb0eea8a706c4c34a16891f84e 7b" эту строчку и сохраняем в БД. ПОЛЬЗОВАТЕЛЮ ХЭШ НЕ ОТСЫЛАЕМ!!!! Теоретически, из этой строчки никак нельзя получить исходную строку (иначе, как полным перебором всех возможных символов и строк). Теперь. Когда пользователь захочет авторизироваться, он вводит свой логин и пароль. Мы берём тот пароль, который он ввёл и используем ту же самую хэш-функцию. Получаем строчку. И проверяем если ли у нас в БД пользователь с таким логином и таким хешем. Если есть - это наш пользователь, нет - давай, до свидания!. Теперь что касается, какую функцию использовать. Почитайте обсуждение на форуме в вашей предыдущей теме - http://programmersforum.ru/showthread.php?t=318865 Там что-то осталось непонятным?! Это как? |
|
03.05.2018, 12:45 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Что именно не работает?
Чему там не работать? Это ж просто функция, передал пароль, получил хеш. hash = f(password) Если сильно древняя версия РНР, то там может не быть конечно, но непонятно зачем использовать древнюю версию РНР.А чего, жалко что ли?)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 03.05.2018 в 12:47. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Есть ли в delphi md5 как в lazaruse, там достаточно подключить MD5 и считать хэш? | Taner | Общие вопросы Delphi | 8 | 12.05.2014 08:38 |
проблема с REMOTE_ADDR | Ol'ga | PHP | 4 | 10.07.2013 18:36 |
Строку в MD5-hash если Строка является MD5-хешем... | Человек_Борща | Общие вопросы Delphi | 0 | 13.04.2010 15:27 |
PHP MD5 и Delphi/C/C++ MD5 в чем отличие? | Человек_Борща | Общие вопросы Delphi | 1 | 05.04.2010 20:18 |
REMOTE_ADDR | defaults2 | PHP | 3 | 13.05.2009 21:48 |