Http авторизация.

stifler_x
На сайте с 19.06.2008
Offline
193
823

Доброго времени суток!

Для доступа в админку сайта необходимо было пройти http авторизацию. Пароль хранился в зашифрованном виде в .htpasswd.

В .htaccess прописаны необходимые директивы + путь к файлу паролей.

Механизм авторизации довольно простой и всем знакомый.

Появилась необходимость разделять пользователей в админке по разным уровням доступа. Написал соответствующий скрипт с использованием авторизации по сессиям. Убрал из корневого .htaccess директивы, которые просят авторизироваться. На денвере все работало отлично. Хорошо проверил и выгрузил на сайт.

И тут началось:

Сначала просит авторизироваться по старому (но в файле .htaccess остался только DirectoryIndex index.php)

Потом уже по новому (начинает работать скрипт).

Как не крутил, сервер отвечает:

Server nginx/0.8.54
Date Sun, 13 Nov 2011 16:14:12 GMT
Content-Type text/html; charset=iso-8859-1
Connection keep-alive
WWW-Authenticate Basic realm="admin"
Content-Length 401

Если удалить .htpasswd - получаю Internal Server Error

Проверил весь скрипт админки... из заголовков отправляются только запрет на кеширование.

В чем может быть проблема?

C
На сайте с 04.02.2005
Offline
277
#1

htaccess может находиться не только в корне, но и в поддиректориях админки, там же может храниться и .htpasswd

stifler_x
На сайте с 19.06.2008
Offline
193
#2

в том то и дело... что он один такой уникальный был... если хтацес удалить - Internal Server Error

C
На сайте с 04.02.2005
Offline
277
#3

а можно показать содержимое?

.htaccess

В том-то и дело что удаление htaccess не должно вести к такому.

Следовательно, существуют еще какие-либо htaccess файлы.

зы. а хостинг *nix? А сервер апач? Ну... всякое может быть.

H
На сайте с 15.02.2010
Offline
105
#4
stifler_x:
Server nginx/0.8.54

Не оно причина?

Jekyll
На сайте с 04.05.2009
Offline
136
#5
stifler_x:
Появилась необходимость разделять пользователей в админке по разным уровням доступа. Написал соответствующий скрипт с использованием авторизации по сессиям. Убрал из корневого .htaccess директивы, которые просят авторизироваться. На денвере все работало отлично. Хорошо проверил и выгрузил на сайт.

Ох и изврат... Не легче показать юзеру html форму, в зависимости от логина-пароля дёрнуть из базы его права и записать в сессию?

stifler_x
На сайте с 19.06.2008
Offline
193
#6

Jekyll, правильно... все сделано на сессиях... но как убрать старую http-аутентификацию... ???

Chukcha, DirectoryIndex index.php в хтаццесс только DirectoryIndex index.php

SK
На сайте с 31.08.2007
Offline
81
#7

может как-то захешировалась эта авторизация, хотя вообще странно....

а вообще он обращается к htpasswd? приписать в нем доступ без пароля (как исключительное "временное") решение )

Нужен перенос информации? Информеры на сайт? Сграбить контент? Создать базу товаров? Изготовление любых парсеров! (/ru/forum/836197)
LS
На сайте с 10.08.2010
Offline
42
#8

1 смотреть еррор лог апачи

2 смотреть конфиг апачи на предмет директив авторизации

3 убить апачу, убить енжинкс, запустить апачу, сделать wget http://xx из консоли (или fetch -fRvp http://xx если вгета нет)

4 если файлик отдало без запроса авторизации, запускаем енжинкс, повторяем пункт 3

по результатам ищем где косячит

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий