Для вступления в общество новичков и профессионалов домен-индустрии, пожалуйста нажмите здесь ...

   
 Купля-продажа и обсуждение доменных имён
        

  
Вернуться   Форум о доменах > Дизайн и развитие проектов > Программирование
Регистрация Реноме Правила форума Справка Пользователи Социальные группы Все разделы прочитаны
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования.

Ответ
 
Опции темы
Сегодня
от 149р за .RU
Аренда сервера
2x Intel Hexa-Core Xeon E5-2420
Всего 79 евро!

с видеокартой GeForce GTX 1080 Ti
всего 99 евро!

от 149р за .РФ Реклама на DomenForum.net
Старый 02.09.2007, 23:41   #1
 
Аватар для AndyName
 
Регистрация: 25.03.2007
Сообщений: 936
Доменные сделки: 29
Реноме: 1381
Одобрения
Спасибо (Отдано): 0
Спасибо (Получено): 4
Вопрос Шифрование и расшифровка пароля

Сейчас пишу на php код для одного сайта. Там будет возможность регистрироваться юзерам. Сам код регистрации нового пользователя и т.д. не сложен. Но по-моему мнению, не очень хорошо хранить пароли пользователей в базе данных в открытом виде.

Поискал в гугле...ничего толкового не нашёл...
Как сделать так, чтобы при регистрации пароль юзера шифровался, соответственно, уже в зашифрованном виде записывался в базу (как записывать в базу понятно).

Ну и соответствующий второй вопрос, как его расшифровывать для проверки, когда пользователь логинится?

Если у Вас есть ссылки по теме, то отпишитесь тут пожалуйста.
Заранее спасибо!
AndyName вне форума   Ответить с цитированием
Старый 02.09.2007, 23:44   #2
SEO Специалист
 
Аватар для pastuhoff
 
Регистрация: 24.10.2005
Сообщений: 6,529
Доменные сделки: 40
Реноме: 5358
Одобрения
Спасибо (Отдано): 187
Спасибо (Получено): 315
Его нельзя делать расшифровываемым. Надо тем-же md5 зашифровать то, что от юзера пришло для залогинивания, и сравнить с тем, что в базе.

добавлено через 1 минуту
Да, Вам еще предстоит написать функции защиты от брутфорса на логин и брутфорса на реминдер.

добавлено через 3 минуты
А от массовой регистрации я кроме капчи (ну и платной регистрации, разумеется) что-то ничего не придумал.
__________________
Коллекционер доменных имен.

Последний раз редактировалось pastuhoff; 02.09.2007 в 23:47. Причина: Добавлено сообщение
pastuhoff вне форума   Ответить с цитированием
Старый 02.09.2007, 23:55   #3
 
Аватар для AndyName
 
Регистрация: 25.03.2007
Сообщений: 936
Доменные сделки: 29
Реноме: 1381
Одобрения
Спасибо (Отдано): 0
Спасибо (Получено): 4
Сообщение от pastuhoff Посмотреть сообщение
Его нельзя делать расшифровываемым. Надо тем-же md5 зашифровать то, что от юзера пришло для залогинивания, и сравнить с тем, что в базе.
Благодарю. Теперь хоть мыслить буду в правильном направлении.

 
добавлено через 1 минуту
Да, Вам еще предстоит написать функции защиты от брутфорса на логин и брутфорса на реминдер.
Можно ограничить по времени или IP.

 
добавлено через 3 минуты
А от массовой регистрации я кроме капчи (ну и платной регистрации, разумеется) что-то ничего не придумал.
Массовая регистрация пресекается разными методами. К примеру КАПЧу я делать не умею. Зато у меня есть идея. создать пару десятков вопросов в базе... с меняющимися значениями ответов.
К примеру, самое простое:
"У Маши было 5 яблок, а Саша взял у неё 3 яблока, одно съел и 2 вернул. Сколько у Маши яблок?" Цифры каждый раз меняем. Не думаю, что ради одного моего сайта СПАМеры и т.п. не будут писать скрипт, который будет подбирать ответы к вопросам. Тем более ответы у вопрсов будет не только цифровыми.
AndyName вне форума   Ответить с цитированием
Старый 03.09.2007, 00:03   #4
SEO Специалист
 
Аватар для pastuhoff
 
Регистрация: 24.10.2005
Сообщений: 6,529
Доменные сделки: 40
Реноме: 5358
Одобрения
Спасибо (Отдано): 187
Спасибо (Получено): 315
1 Если не будете использовать ssl - можно найти функцию md5 на js (тут придется-таки почитать мануалы, как ее правильно использовать), хотя это, возможно, уже паранойя.
2 Ограничения могут повлечь за собой невозможность зайти правильному юзеру при атаке.
3 Если у злоумышленника будет задача сделать бяку любыми путями - спасает платная регистрация или какая-нибудь "полиморфная капча". Но бяку он все-равно сделает (ддос).
4 Пожалуйста.
__________________
Коллекционер доменных имен.
pastuhoff вне форума   Ответить с цитированием
Старый 03.09.2007, 00:09   #5
Тех. администратор
 
Аватар для UFO
 
Регистрация: 16.03.2005
Адрес: mouse.mars
Сообщений: 10,725
Доменные сделки: 17
Реноме: 8693
Одобрения
Спасибо (Отдано): 141
Спасибо (Получено): 313
Ага, шифровать надо. В md5 или base64, например. Капчу можно взять простую в инету. Поиск в Яндексе по "картинка для защиты от ботов" и т.п.
Насчет вопросов про яблоки, если понадобится хакеры составят скрипт, который такую капчу разгадает. Лучше всего - это капча, где надо суммировать цифры на картинке и писать ответ. Это ботам сложновато делать, но машину можно научить чему угодно
Насчет брутофса, даже не подумал что такое может понадобится. Ну здесь можно сделать так, чтобы если x попыток не удачны, то блок акка на 10 минут. Или еще лучше чтобы войти надо получить пароль новый на почту и никак иначе. Почта, конечно, которая вначале при реге вбита.
__________________
Волн нет! | Whois | Полезный форум о геологии
UFO вне форума   Ответить с цитированием
Старый 03.09.2007, 00:16   #6
SEO Специалист
 
Аватар для pastuhoff
 
Регистрация: 24.10.2005
Сообщений: 6,529
Доменные сделки: 40
Реноме: 5358
Одобрения
Спасибо (Отдано): 187
Спасибо (Получено): 315
base64 же вроде дешифруется? На всякий случай (стырили дамп базы) все-же лучше md5 (причем не чисто от логина, а с шумом там каким-либо).

добавлено через 2 минуты
У меня было такое решение насчет брутфорса:
Через n попыток неудачных - меняем пароль и высылаем на мейл, но только если не делали это последние m минут. Т.о. у злоумышленнника на подбор 32х-байтного (или 64х-байтного, к примеру) пароля есть m минут + ящик жертвы не слишком засоряется.
__________________
Коллекционер доменных имен.

Последний раз редактировалось pastuhoff; 03.09.2007 в 00:19. Причина: Добавлено сообщение
pastuhoff вне форума   Ответить с цитированием
Старый 03.09.2007, 00:25   #7
Тех. администратор
 
Аватар для UFO
 
Регистрация: 16.03.2005
Адрес: mouse.mars
Сообщений: 10,725
Доменные сделки: 17
Реноме: 8693
Одобрения
Спасибо (Отдано): 141
Спасибо (Получено): 313
base64 - хз, не пользуюсь. Знаю, что md5 не разшифровали.

Ага, если m небольшое, то ящик жертвы будет забит письмами с паролями. Жертва-ламер потом будет жаловать на то, что не один пароль не подходит, хотя на самом деле правильный пасс в самом новом письме
__________________
Волн нет! | Whois | Полезный форум о геологии
UFO вне форума   Ответить с цитированием
Старый 03.09.2007, 00:30   #8
SEO Специалист
 
Аватар для pastuhoff
 
Регистрация: 24.10.2005
Сообщений: 6,529
Доменные сделки: 40
Реноме: 5358
Одобрения
Спасибо (Отдано): 187
Спасибо (Получено): 315
При m порядка 24 часов (я так полагаю, там время перебора будет далеко не один год, на самом деле ) хакер не успеет подобрать пароль (если он сформирован не тупо), зато юзер сможет войти во время атаки на его акк.
__________________
Коллекционер доменных имен.
pastuhoff вне форума   Ответить с цитированием
Старый 03.09.2007, 00:36   #9
 
Аватар для AndyName
 
Регистрация: 25.03.2007
Сообщений: 936
Доменные сделки: 29
Реноме: 1381
Одобрения
Спасибо (Отдано): 0
Спасибо (Получено): 4
Нашёл на php.net простейший способ шифровать. Соорудил маленький пример:
файл1 - форма:
---------------
<form action="do.php" method="post">
<input name="word" size="80"><br><br>
<input type="submit" value="Зашифровать">
</form>
---------------

Файл 2 - Собсвтенно сам шифровщик:
---------------
<?
$show=md5($word);
echo "$show";
?>
---------------

Ввожу: "hello" получаю "5d41402abc4b2a76b9719d911017c592"
Ввожу "привет" получаю "c2a05319fe7480c9a0cd530b2a3b47dd"


Вопрос: это я всё правильно реализовал? Принцип тот? достаточно для того, чтобы внедрять в код будущего сайта? (пока без учёта защиты от брутфорса, спамеров и т.д.)
AndyName вне форума   Ответить с цитированием
Старый 03.09.2007, 00:39   #10
SEO Специалист
 
Аватар для pastuhoff
 
Регистрация: 24.10.2005
Сообщений: 6,529
Доменные сделки: 40
Реноме: 5358
Одобрения
Спасибо (Отдано): 187
Спасибо (Получено): 315
Да, принцип верный. Но на всякий случай шума добавьте:
$show=md5($word."djfhgjskdsgkfjgdfoishfsdjhgfjdshf s");
__________________
Коллекционер доменных имен.
pastuhoff вне форума   Ответить с цитированием
Ответ



Реклама

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Закладки Добавить Тема в закладки

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:58. Часовой пояс GMT +4.