Мне нужно защитить весь свой веб-сайт (на данный момент он только для разработки) паролем. Итак, я создал .htaccess
и .htpassword
файл. В .htaccess
содержит
AuthUserFile /my/absolute/path/.htpassword
AuthName "Protected"
AuthType Basic
Require valid-user
Мое дерево каталогов выглядит так
/var/www
|--- file.php
|--- .htaccess
|--- dir
| |--- text.html
|--- file2.php
Если я попытаюсь получить доступ file.php
или file2.php
(любой файл, который находится прямо в /var/www
), веб-страница защищена паролем. Однако я могу получить доступ к файлу в подкаталоге (/dir/text.html
) без аутентификации. Я абсолютно уверен что нет .htaccess
в /var/www/dir
(Я использую ls -A
).
Я видел в сети, что .htaccess
должен иметь эффект на каталог и ВСЕ подпапки, и это то, что я хочу.
Вы знаете, почему в моем случае это не влияет на файл в подкаталоге? Если да, то как заставить его работать?
вы можете написать собственный код на php для входа в сеанс и запретного доступа к отдыху в заголовке
session_start();
if(isset($_SESSION['user']))
{echo "do the stuff";}
else
{header("location:login");}
Если у вас статический IP-адрес, вы можете просто разрешить доступ к веб-сайту только с одного IP-адреса в конфигурации вашего виртуального хоста:
<Directory />
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 #your IP
</Directory>