.htaccess Защита паролем постоянно запрашивает пароль

Я поместил этот код в файл .htaccess папки, которую хочу защитить:

AuthName "restricted area"
AuthType Basic
AuthUserFile /home/#/#/#/#/#/.htpasswd
require valid-user

В эту же папку я поместил вот это .htpasswd:

my:pass

Когда я перехожу по URL-адресу защищенной папки, браузер снова и снова запрашивает пароль, хотя я ввожу правильный пароль.

Я знаю, что корневой каталог, упомянутый в AuthUserFile, в порядке, потому что я нашел его с помощью:

<?php
    $dir = dirname(__FILE__);
    echo "<p>Full path to a .htpasswd file in this dir: " . 
        $dir . "/.htpasswd" . "</p>";
?>

В чем проблема?


person rockyraw    schedule 26.03.2014    source источник


Ответы (3)


Просто добавьте "user" между require valid-user.

Например:

Require user markpanado

Но нет:

Require markpanado
person Mark    schedule 05.03.2017
comment
вы говорите добавить пользователя между требованием действительного пользователя, но в вашем окончательном ответе нет записи действительного пользователя... :( - person Duck; 28.11.2017
comment
Что делать, если есть две учетные записи пользователей, которым необходимо разрешить доступ в этот каталог? - person Jacksonkr; 13.02.2019
comment
@SpaceDog нет, окончательный ответ - это первый ответ. Прочтите еще раз. - person Mark; 13.06.2019
comment
@Jacksonkr Я этого не пробовал, но вы пробовали формат Require user1 user2 user3? - person Mark; 13.06.2019
comment
@mark Память смутная, но я думаю, что это решило мою конкретную проблему. - person Jacksonkr; 15.06.2019

проблема, которую я обнаружил для своего веб-сайта, заключается в том, что путь к файлу htpasswd не совпадает с путем, указанным в файле htaccess. Я потратил недели, пытаясь найти, в чем проблема, но, хотя вы создаете имена пользователей и пропуска с помощью htpasswrd, файл не взаимодействует с защищенной папкой. Вам нужно будет выяснить, почему. возможно орфографическая ошибка или как в моем случае, htpasswd сохранялся в совершенно другой папке, а у меня было 2 htpasswrd в разных папках. этим двоим нужно сообщить htacccess и htpassrd, надеюсь, это сэкономит вам время. Я понял это после нескольких недель бессонных ночей.

person thewarpreactor    schedule 15.08.2016

Я только что столкнулся с этой проблемой. Попытавшись разобраться в этом за последние пару дней, я обнаружил источник проблемы:

Это приглашение срабатывает при использовании AuthType Basic и всякий раз, когда с веб-сайта отправляется сообщение 401.

Возможно ли, что у вас было сообщение с кодом состояния 401 HTTP, отправляемое с сервера при каждом запросе? Вы можете проверить консоль разработчика, чтобы узнать.

person kojow7    schedule 03.02.2019
comment
В моем случае я вижу 401, но когда я использую другого пользователя, я больше не получаю подсказку повторно. - person Jacksonkr; 13.02.2019
comment
@Jacksonkr Можете ли вы определить, какая часть вашего внутреннего скрипта отправляет ошибку 401? Это сценарий, который вы создали, или платформа какого-то типа? - person kojow7; 13.02.2019
comment
это favicon.ico, который кажется стандартным элементом, предоставляемым apache. Кроме того, я подал это как отдельный вопрос если вам интересно узнать подробности. - person Jacksonkr; 13.02.2019
comment
это было много лет назад, но да, я почти уверен, что вернул 401. - person rockyraw; 11.04.2019