代码之家  ›  专栏  ›  技术社区  ›  lepe

Apache基本身份验证,允许的除外

  •  18
  • lepe  · 技术社区  · 14 年前

    问题:我在/var/www/files/下有一些文件,我希望可以从特定的IP地址访问它们,而不需要用户/密码。但是,我希望任何其他IP地址都需要登录才能获得访问权。

    这在我的httpd.conf中:

    <Directory /var/www/files/>
            Order deny,allow
            Deny from all
            Allow from 192.168 
            AuthUserFile /etc/apache2/basic.pwd 
            AuthName "Please enter username and password" 
            AuthType Basic 
            Require user valid-user 
    </Directory>
    

    但是,如果我理解正确,这意味着来自192.168.*的任何客户机都可以访问该目录,但需要有效的用户来查看其内容。其他IP地址将被拒绝。正确的?

    提前谢谢。

    4 回复  |  直到 7 年前
        1
  •  12
  •   Community CDub    7 年前

    Brians answer here

    Satisfy Any

    Require valid-user
    

    Require user <userid>
    
        2
  •  38
  •   Brian Smith    10 年前

    Satisfy Any

    <Directory /var/www/files/>
    
        AuthType Basic
        AuthName "Please enter your username and password"
        AuthUserFile /var/www/files/.htpasswd
    
        <RequireAny>
          Require ip 22.33.44.55
          Require valid-user
        </RequireAny>
    
    </Directory>
    

    <RequireAny> <RequireAll>

        3
  •  3
  •   fracz    9 年前

    Require ip Require env

    <Directory /var/www/files/>
    
        AuthType Basic
        AuthName "Please enter your username and password"
        AuthUserFile /var/www/files/.htpasswd
    
        SetEnvIF X-Forwarded-For "22.33.44.55" AllowIP
    
        <RequireAny>
          Require env AllowIP
          Require valid-user
        </RequireAny>
    
    </Directory>
    

    The source of the idea

        4
  •  1
  •   Seymur    7 年前
    SetEnvIF X-Forwarded-For "192.168.135.159" AllowIP
    SetEnvIF X-Forwarded-For "192.168.135.135" AllowIP
    
    AuthType Basic
    AuthName "admin"
    AuthUserFile "/var/www/domain.com/cms/.htpasswd"
    
    <RequireAll>
    Require env AllowIP
    require valid-user
    </RequireAll>