
我需要用密碼保護我的整個網站(目前僅用於開發)。所以我創建了一個.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
in /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 中編寫自訂程式碼以進行會話登入並禁止標題上的其餘訪問
session_start();
if(isset($_SESSION['user']))
{echo "do the stuff";}
else
{header("location:login");}