使用htaccess实现目录安全


directory security using htaccess

我有以下网站结构:

网站

——adminpanel

——图像

, . htaccess

——websiteone

——websitetwo

我在adminpanel中放置了。htaccess,用于授权访问目录:

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

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

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

是否有其他方法可以使我只能将登录凭据应用于adminpanel,而不能应用于websiteone或websitetwo目录?

我同意在PHP中这样做会更好,因为Apache的mod_auth设置有一些重要的安全问题,但如果您必须这样做,请尝试如下:

在adminpanel文件夹的每个文件夹中,您需要访问而无需密码(例如:,创建一个.htaccess文件,并添加如下内容:

Satisfy Any
Allow from all

这将告诉Apache,所有的身份验证已经满足,并允许从任何地方访问。

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

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

或者您可以使用FilesMatch(在本例中为图像)执行一组匹配模式的文件:

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

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