apache - 在 apache 2.4 中结合子文件夹的 ip 和用户身份验证限制

标签 apache .htaccess authentication apache2.4

我想将访问完整网站 (apache 2.4) 的权限限制为某些 IP。最重要的是,我想通过用户身份验证限制对某些子文件夹的访问。用户身份验证不起作用。这是我得到的:

在 vhost 配置中我有

<Location />
    # Localhost
    Require ip 127.0.0.1i
    # some other IP
    Require ip 1.2.3.4
<Location>

现在我希望子文件夹/secure/需要有效的用户登录
<webroot>/secure/.htaccess好像
<RequireAll>
    Require all granted
    Require user user1 user2 user3
    AuthBasicProvider file
    AuthType Basic
    AuthName "Secure Folder Login"
    AuthUserFile /securePath/userAuth
</RequireAll>

我仍然可以在没有用户身份验证的情况下从 IP 1.2.3.4 访问/secure。感觉 apache 匹配 IP Require ip 1.2.3.4指令(在隐式 RequireAny 内)并且不关心可能的额外限制。

最佳答案

如果您希望阻止任何 IP,但仅阻止列表中的 IP,并提供提示允许的 IP 的基本登录,您可以执行以下操作(在您的 .htaccess 中):

Require all denied
<RequireAll>
    Require valid-user
    Require ip 100.04.04.04
    AuthBasicProvider file
    AuthType Basic
    AuthName "Secure Folder Login"
    AuthUserFile /htdocs/www/web_projects/.htpasswd
</RequireAll>

并且对于多个 IP,类似下面的内容应该可以工作:
Require all denied    
<RequireAll>
    <RequireAny>
        Require ip 78.53.160.0/19
        Require ip 80.171.1.0/24
        Require ip 80.171.2.0/23
        Require ip 80.171.4.0/22
        Require ip 80.171.8.0/21
        Require ip 80.171.16.0/20
        Require ip 80.171.32.0/19
        Require ip 80.171.64.0/18
    </RequireAny>
    <RequireAll>
        Require valid-user
        AuthBasicProvider file
        AuthType Basic
        AuthName "Secure Folder Login"
        AuthUserFile /htdocs/www/web_projects/.htpasswd
    </RequireAll>
</RequireAll>

关于apache - 在 apache 2.4 中结合子文件夹的 ip 和用户身份验证限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27043266/

相关文章:

python - Apache mod_wsgi : PermissionError when trying to access a page

c# - 为 RoleManager 和 UserManager 创建实例以进行单元测试?

java - 如何使用 Active Directory 或 LDAP 登录到 Business Objects

php - .htaccess 将所有子文件夹内容(有和没有结尾斜杠)重定向到同一个子文件夹

Java IOException jaas.conf(文件或目录不存在)

java - Apache CXF : get SOAP message inside service method

java - Apache HttpClient API 中的 CloseableHttpClient 和 HttpClient 有什么区别?

java 如何在 apache 服务器中运行 spark 应用程序

php - htaccess 多 URL 变量干净的 URL

php - 重写规则中的条件第二个查询