0 Сообщения: 478 Зарегистрирован: 25.11.02 Откуда: Україна (файне місто Луцьк)
Заголовок сообщения: .htaccess & .htpasswd Добавлено: 18 Март 2004, 01:35:24
Возникла трабла на ровном месте:
1) не знаю почему, но у меня не работает авторизация через .htaccess под виндой, хотя под FreeBSD все работает
2) и собственно сам вопрос:
допустим есть авторизация через .htaccess и в файле .htpasswd несколько десятков юзеров, юзер ввел логин и пароль, как теперь получить эти значения PERL скриптом и допустим сделать выборку из базы по введенному логину или в правильный каталог перенаправить ну или еще что-то сделать.
1. содержимое .htaccess в студию
2. хранятся в env - auth_user auth_pw если не запамятовал, поправьте если ошибаюсь... а далее получил - делай что хочешь...
_________________ lost world... lost life... lost tomorrow... only night
Long, ничего маловероятного. Дело в том, что алгоритм по умолчанию для Apache под Windows - MD5, а для FreeBSD это DES. Соответственно авторизация работает под Виндами, но файлы паролей несовместимыми получаются. Для паролей, сгенерированных htpasswd.exe - все работает, защищаем директорию таким .htaccess:
Если же скопировать файл паролей от хостера, то с ним - не работает. Вводишь правильные логин и пароль - не пускают. Причем файл - видно, а в логе пишут именно
Цитата:
[Thu Mar 18 12:41:18 2004] [error] [client 127.0.0.1] user tsv: authentication failure for "/test/phpinfo.html": password mismatch
Я использую для проверки аутентификации разные файлы паролей для Windows у себя на машине, и для FreeBSD у хостера, а хорошего и прямого способа добиться совместимости не нашел.
adebt, как это нету сообщений об ошибках? А что есть, т.е. вообще - что происходит? При авторизации через .htaccess проверку правильности логина и пароля сделают еще ДО выдачи страницы/передачи управления скрипту, а юзеро-зависимый контент можно просто скриптом выдавать, собственно. В чем проблема, я просто не понял вопроса, наверное.
0 Сообщения: 478 Зарегистрирован: 25.11.02 Откуда: Україна (файне місто Луцьк)
Добавлено: 18 Март 2004, 13:57:59
@TSV, смотри обьясняю мое ситуацию:
1) созданы 2 файла .htaccess и .htpasswd
2) закрыт один из каталогов сайта в котором находиться допустим видео или скрипты
3) индексного файла нет, чтобы отображалось сразу содержимое директории (при наличии индексного тоже не работает)
4) набиваешь в адрессной строке http://localhost/нужный_каталог
5) сразу же пускает ничего не спрашивая
6) в error.log ничего нового не появляется
0 Сообщения: 478 Зарегистрирован: 25.11.02 Откуда: Україна (файне місто Луцьк)
Добавлено: 18 Март 2004, 14:22:31
@TSV, ты оказался прав во всем:
1) не была включена обработка файлов
2) алгоритм шифрования не подходил (через htpasswd.exe все заработало)
3) эта шняга не работает на ВИРТУАЛЬНЫХ серверах под виндой! только под *никсом
0 Сообщения: 478 Зарегистрирован: 25.11.02 Откуда: Україна (файне місто Луцьк)
Добавлено: 18 Март 2004, 22:26:58
странно
Цитата:
Password Protecting Your Website UNIX Virtual Hosts Only
http://www.eol.ca/support/business/password/ это вот здесь написано или может я чего не понимаю, но у меня внатуре заработало только на localhost, а на виртуальных хостах нивкакую.
@TSV, у меня к тебе просьба большущая:
пожалуйста покажи кусочек кода на PERL где после авторизации через .htaccess дылалась выборка именно по введенному логину, при условии что закрывалась любая директория
0 Сообщения: 478 Зарегистрирован: 25.11.02 Откуда: Україна (файне місто Луцьк)
Добавлено: 19 Март 2004, 01:25:20
@TSV, да я выразился немного не верно насчет ПЕРЛа
У меня такая вот трабла:
1) есть .htpasswd в котором находится туева хуча юзверей
2) .htaccees'ом закрыт каталог, в котором находиться еще столько же каталогов, сколько юзверей в файле с паролями
3) каждому юзверю соответсвует определенный каталог
Задача: после введения юзверем логина и пароля определить в какой каталог его перенаправлять (соответствие каталогов логинам хранится например в МуСкуле)
adebt,
1. Определить пользователя (vasya), логин и пароль будут в переменных среды
2. Определить его каталог, используя базу (vasya_pupkin)
3. Отправить HTTP-заголовок Location: http://www.mysite.ru/users/vasya_pupkin
adebt, ну ломаки мне писать кусок кода на языке, которого я не знаю. По справочникам шариться замучаешься. В чем проблема взять из ENV логин, определить по нему директорию, и отправить HTTP-header, чтобы сделать переход на другую страницу?
0 Сообщения: 478 Зарегистрирован: 25.11.02 Откуда: Україна (файне місто Луцьк)
Добавлено: 19 Март 2004, 23:30:57
@TSV, спасибо огромное за терпение. Я разобрался методом научного тыка. Просто меня ввели в заблуждение переменные, которые мне указал vexoid. Щас все пучком
0 Сообщения: 478 Зарегистрирован: 25.11.02 Откуда: Україна (файне місто Луцьк)
Добавлено: 21 Март 2004, 12:37:51
vexoid, пробовал обращаться к этим переменным после авторизации - глухо как в танке. А переменная REMOTE_USER выдает то что надо. В ПхП использовал вот такую беду
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.