2013-04-04 58 views
0

我有以下网站结构。目录安全使用htaccess

网站

- adminpanel

------图像

------的.htaccess

- websiteone

- websitetwo

我有地方.htaccess里面adminpanel授权访问目录:

AuthName "protected" 
    AuthType Basic 
    AuthUserFile /home/user/.htpasswd 
    Require valid-user 

在websiteone和websitetow中,我有使用图像和文件夹adminpanel的其他东西的页面。

问题: 我已经浏览到adminpanel,它要求登录这就是我想要的,但它也提示登录,当我浏览到websiteone或websitetwo,我想避免的登录。这可能是由于访问adminpanel目录的图像。

是否有任何其他方式,以便我可以将登录凭据应用到只有adminpanel而不是webapps或websitetwo目录?

+0

根据我的意见,使用脚本语言的认证系统会更好,而不是使用'mod_auth'。 – 2013-04-04 04:47:06

回答

1

我同意,这将是更好的在PHP中做到这一点,作为Apache的mod_auth设置有一些显著的安全问题,但如果你必须这样做,试试这个:

在adminpanel的每个文件夹你需要没有密码(如图像)访问文件夹中创建一个.htaccess文件,加入:

Satisfy Any 
Allow from all 

这将告诉Apache任何认证已经满意并允许从任何地方访问。

如果您需要/想指定特定的文件,你可以使用文件指令:

<Files image.jpg> 
    Satisfy Any 
    Allow from all 
</Files> 

或者你也可以做一套相匹配,使用FilesMatch模式(图像,在这种情况下)的文件:

<FilesMatch "\.(gif|jpe?g|png)$"> 
    Satisfy Any 
    Allow from all 
</FilesMatch> 

这些应该是你需要在mod_auth设置中戳一些洞并允许匿名访问的所有东西。