Проблема с защитой каталога с использованием .htaccess

StackOverflow https://stackoverflow.com/questions/4180508

  •  10-10-2019
  •  | 
  •  

Вопрос

Я создал файлы .htaccess и .htpasswd и сохранил их в папке, которую я хочу защитить, и когда я перешел на эту папку, меня попросили имени пользователя и Passowrd (сохраненный в файле .htpasswd) после входа в имя пользователя и Пароль, я получил 500 внутренней ошибки сервера. Я использовал файлы как на локальном хосте (Windows), так и на веб -сервере (я думаю, Linux) дал один и тот же упомянутый результат.

Это мой файл .htaccess:

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow
Это было полезно?

Решение

Я сомневаюсь, что ты .htpasswd Файл действительно расположен в самом корне файловой системы сервера вместе с /bin, /usr, /home, и другие (а не внутри части файловой системы обслуживали веб -браузеры).

Согласно документации Apache (1, 2), AuthUserFile Ожидается путь файла (как будто вы были в серверном корректе, обычно /usr/apache или аналогично, и попытка найти файл из оболочки UNIX). Это не может быть URL, абсолютный или относительный. Исправьте свой .htpasswd Файл соответственно.

Обратите внимание, что, если возможно, вы не должны ставить .htpasswd Файл внутри а public_html или же htdocs Папка, потому что любая ошибка конфигурации может не только разрешить несанкционированный доступ к файлам, которые вы хотите защитить, но и авторизованные имена пользователей и хэшированные пароли.

Другие советы

Используйте абсолютный путь хостинга, например:

/home/content/14/5267714/html/.htpasswd
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top