我需要用密码保护我的整个网站(目前仅用于开发)。所以我创建了一个.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
应该会对目录和所有子文件夹产生影响,这就是我想要的。
您知道为什么它对我的情况对子目录中的文件没有任何影响吗? 如果是这样,我该如何让它工作?
答案1
如果您有静态 IP,您可以简单地允许仅从虚拟主机配置中的一个 IP 访问网站:
<Directory /> Order Deny,Allow Deny from all Allow from 127.0.0.1 #your IP </Directory>
答案2
您可以在 php 中编写自定义代码以进行会话登录和禁止在标头上进行 REST 访问
session_start();
if(isset($_SESSION['user']))
{echo "do the stuff";}
else
{header("location:login");}