Страница: 1 |
Вопрос: Программное создание .htpasswd | Добавлено: 18.09.05 02:34 |
Автор вопроса: ![]() |
Нужно:
На пхп функцию которая бы шифровала пароль так, чтобы Apache потом нормально обрабатывала его. (ось - винда) Смотрел много примеров на эту тему, все скрипты "криво" шифруют пароль. Криво, в том смысле, что пароль якобы шифруется, но при запросе паролько которую мы шифровали неподходит, а подходит сам шифрованный пароль. Т.е. если я шифрую "505050", получается "VpWb9UtBozCUk" Но при запросе, подходит пароль не 505050, а VpWb9UtBozCUk т.е. апач думает что пароль записанный в .htpasswd никак не зашифрован. Шифровать пробовал вот этим классом http://www.creater.ru/index.php?section=scripts&id=1966 его немного изменял: (943 строка) изменил: function assignPass ($UserID, $UserPass) ну и соответственно ниже $pass = $UserPass; вызывал: //Добавления админа if($command=="add_admin"){ include("class.Htpasswd.php3"); $Htpasswd = new Htpasswd($ht_passwd); if(!($Htpasswd->EXISTS)){ Msgbox ("Ошибка при добавлении нового админа"); exit; } //if(!($Htpasswd->EXISTS)) $UserID = $login; $Pass = $Htpasswd->assignPass($UserID, $password); if(!empty($Pass)){ Msgbox ("Новый администратор <b>".$login."</b> успешно создан с паролем ".$password); }else{ //if(!empty($Pass)) echo "Add user failed: $Htpasswd->ERROR <BR> \n\r"; } //if(!empty($Pass)) } //if($command=="add_admin") т.е. $UserID = $login; $Pass = $Htpasswd->assignPass($UserID, $password); походу всё должно быть хорошо, а нет, ситуация не изминилась, подходит шифрованный пароль как рассказывал выше... У кого какие предложения как программно создать .htpasswd? Говорят что надо написать свою функцию которая бы пасс подгоняла к виду понятному для апача, и юзать её параллельно с md5() |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #1 | Добавлено: 18.09.05 02:45 |
на phpclub на форуме, по поиску ".htpasswd" куча топов с аналогичной не решенной проблемой.
P.S. Вызывать внешнюю программу (htpasswd.exe) не предлагать! |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ICQ: 311715784 Вопросов: 39 Ответов: 157 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 18.09.05 06:08 |
А не хочешь авторизацию просто на РНР реализовать? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 18.09.05 07:23 |
Вопрос-то о .htpasswd, а чем тебе не нравится вариант с внешней программой? У PHP есть функция system() |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ICQ: 311715784 Вопросов: 39 Ответов: 157 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 18.09.05 07:32 |
Я могу дать пример на РНР
Выглядит оно точно так же, как и при использовании .htapasswd, и проблем никаких. Я тоже сталкивался с тем, что Apache нормально не воспринимал пароли. Помучался немного, плюнул, и сделал все на РНР. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #5 | Добавлено: 18.09.05 21:38 |
Я тоже сделал сейчас всё через пхп сессии. Но мне всё же интерестно было бы посмотреть на функцию шифрования пароля для .htpasswd. Sharp, внешнюю прогу хостер запускать не разрешает... знаю знаю... меняй хостера - поменяю, через года 2, я предоплату сделал. |
Страница: 1 |
|