Подтвердить что ты не робот

Htaccess защищает паролем, но не на localhost

Я создал сайт dev и хочу защитить его паролем, поэтому только проверенные посетители могут просматривать сайт. Все хорошо и хорошо. Меня раздражает моя локальная версия, введя мое имя пользователя и пароль. Итак, не меняя файл htaccess между моей локальной копией и ссылкой на сайт dev, как мне защитить паролем сайт, но разрешить мне доступ без ввода моего имени пользователя и пароля?

4b9b3361

Ответ 2

Я разработал классный способ отделить Linux от файлов паролей Windows (потому что я разрабатываю в Windows, а затем выпускаю на сервер производства Linux).

Я только что написал php script с phpinfo(); на нашем локальном и prod-сервере и нашел модуль apache 'mod_win32' для разделения двух из них.

<IfModule mod_win32.c>
    AuthUserFile C:\xampplite\your\windows\path.passwd
</IfModule>
<IfModule !mod_win32.c>
    AuthUserFile "/your/linux/path/.passwd"
</IfModule>
AuthName "Please Login"

RewriteEngine On
AuthType Basic
Require valid-user

Ответ 3

Предполагая, что вы правильно ввели пароль на сайте dev - поместите директивы auth в VirtualHost на сайте dev, а не в файл .htaccess, - таким образом ваш auth обрабатывается на уровне сервера, а не на уровне каталога.

Кроме того, большинство современных браузеров, вероятно, сохранит ваш пароль для вас:)

Ответ 4

Как обсуждалось здесь, вы можете использовать allow from, чтобы разрешить доступ с определенного хоста.

Ответ 5

С Apache 2.4 вы также можете окружать защиту паролем, проверяя переменную окружения HTTP_HOST следующим образом:

<If "%{HTTP_HOST} != 'localhost'">
    # Your password protection code
</If>

См. также ответ от Марка Фокса на вопрос о доступе к переменным окружения.

Ответ 6

Пример для Windows:

AuthType Basic
AuthName "Password Protected Area"
AuthUserFile C:/Apache24/htdocs/.htpasswd
Require valid-user
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
Satisfy Any