![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
deex |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 45 Регистрация: 12.3.2009 Пользователь №: 608 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
на других форумах молчат, попытаю счастья здесь
![]() народ, помогите пожалуйста правильно создать пароль для htpasswd средствами php вот пример, но пароль получается невалидный:
|
|
|
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Ну все правильно, что не валидный!
Почему base64? В .htpasswd вроде как хранятся пароли в MD5! ![]() |
|
|
deex |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 45 Регистрация: 12.3.2009 Пользователь №: 608 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
md5() тоже не дает правильного результата
авторизация не проходит а если сделать пароль через онлайн-генераторы, типа http://www.htaccesstools.com/htpasswd-generator/ то всё работает |
|
|
deex |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 45 Регистрация: 12.3.2009 Пользователь №: 608 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Варианты кодирования от гугла:
1 $salt=substr($pass,0,2); $test_pw=crypt($pass,$salt); 2 $password = crypt($pass, base64_encode($pass)); 3 $pass = crypt($pass, base64_encode(CRYPT_STD_DES)) Ни один способ не работает, кроме варианта с некодированным паролем. Но он в свою очередь работает только на винде. Проверено на винде xp, apache 2.2, php 5.2.13 Нюанс: если сгенерить htpasswd онлайн-генератором типа этого http://www.htaccesstools.com/htpasswd-generator/ всё авторизуется нормально и на винде и на юникс-сервере. |
|
|
Iron Bug |
![]()
Сообщение
#5
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
а это не проблема кодировок? вообще говоря, некоторые юзеры пытаются создавать пароли и с кириллицей, и с пробелами. а вот в POST они попадут уже в сериализованном виде и в таком виде и предстанут перед кодировщиком. посмотри для порядка, что тебе в POST приходит. может, там уже не то, что юзер задал в форме.
|
|
|
deex |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 45 Регистрация: 12.3.2009 Пользователь №: 608 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ну задаю я сам, т.к. это тестовый скрипт
и задавал всегда или admin:pass или 1:1 так что кодировка ничего не решает нашёл инфу о том, что хеш из htpasswd (имеющий вид - $apr1$km3.....$DFX3dj2OP9wylDPCfoM9x1) является хешем MD5 (ARP) осталось понять как создать его средствами пхп гугл ничего не может подсказать решение:
|
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 15:31 |