2010-12-01 48 views
12

我已經建立了一個開發網站,並希望密碼保護它,所以只有經過驗證的訪問者才能查看該網站。一切都很好。我在我的本地版本中感到惱火,輸入我的用戶名和密碼。因此,如果不更改我的本地副本和開發站點上的htaccess文件,我如何密碼保護網站,但允許我自己訪問而不必輸入我的用戶名和密碼?htaccess密碼保護,但不在本地主機

回答

1

假設你在開發站點上輸入密碼很好 - 把auth指令放在dev站點上的VirtualHost中而不是放在.htaccess文件中 - 這樣你的auth就在服務器級而不是目錄中進行處理水平。

而且,最現代的瀏覽器可能會保存您的密碼爲你:)

0

正如所討論的here你可以使用allow from允許從特定的主機訪問。

4

我已經想通了一個很酷的方式從Windows的密碼文件單獨的Linux(因爲我在Windows上開發,然後發佈到Linux生產服務器)。

我剛剛寫了一個php腳本與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 
0

因爲Apache 2.4,你還可以通過對這樣的HTTP_HOST環境變量檢查環繞你的密碼保護:

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

參見馬克福克斯問題的答案約accessing the environment variables

爲Windows
0

例子:

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