Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Авторизация. Безопасность.
Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012 Откуда: Армавир, Краснодарский край
Помог: 15 раз(а)
Доброго времени. Подскажите, пожалуйста, наиболее безопасный способ хранения пароля от админки в БД. Сейчас я использую двойной хэш с солью:
md5(md5($password.$salt))
Соль - 3 случайных символа, хранится в бд как есть.
В кукисы ставится только PHPSESSID, действующая до закрытия браузера.
Полностью отключен вывод ошибок. (включаю только если нужно в данный момент)
Везде, где есть $_POST[], стоят проверки, соответствующие назначениям полей в БД.
Насколько такой подход надежен в плане безопасности?
Сразу скажу, в плане безопасности я мало осведомлен.
P.S. Не нашел раздела о безопасности, поэтому пишу здесь.
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
более надежно чем md5(md5($password.$salt)), только sha1(md5($password.$salt))
а вообще для шифрования пароля разработчики php рекомендуют использовать функцию crypt
хотя я использую md5
----- Чем больше узнаю, тем больше я не знаю.
tato
Отправлено: 22 Апреля, 2012 - 16:54:59
Посетитель
Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011 Откуда: Владивосток
Помог: 8 раз(а)
Через .htaccess например приявязать ip админа, что бы с других нельзя было войти в админ зону, но это буде эффективно если ip статичный.
Использовать для хранения не БД а в .htpasswd http://www.php.su/articles/?cat=...che&page=010
----- просто ?: сложно
LIME
Отправлено: 22 Апреля, 2012 - 17:24:54
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
а еще неплохо завести никнэйм для вывода
тоесть логин для входа а ник для "Здрасти, юзер Вася"
Vinyl
Отправлено: 23 Апреля, 2012 - 01:14:15
Частый посетитель
Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012 Откуда: Армавир, Краснодарский край
Помог: 15 раз(а)
DelphinPRO, насколько я знаю, crypt() зависит от оси. В разных осях может использоваться как DES, так и MD5, т.е. если надо будет переехать с хостинга на хостинг и оси будут разными, возможны проблемы (админа надо будет перерегать)? Или я не прав?
с php.net: Иногда стандартный алгоритм, основанный на DES, заменяется алгоритмом на основе MD5
Настораживает "иногда".
tato, спасибо. Отличная статья.
LIME, в админке один пользователь, Администратор. Если авторизацию использовать для пользователей сайта, либо если есть несколько пользователей в админке (с разными привилегиями например), то ваш совет естественно целесообразен.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.