0

我有以下网站结构。

网站

- 管理面板

- - - 图片

------ .htaccess

-- 网站一

-- 网站二

我在管理面板中放置了 .htaccess 以对目录进行授权访问:

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

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

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

有没有其他方法可以让我只将登录凭据应用到管理面板而不是 websiteone 或 websitetwo 目录?

4

1 回答 1

1

我同意在 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 设置中戳一些漏洞并允许匿名访问所需的全部内容。

于 2013-04-04T05:25:36.237 回答