Apache como tornar um diretório acessível apenas a partir do local e também usar o autheticate com o usuário válido

1

Eu tento fazer isso com require local e requer um usuário válido, mas parecido com o require local override the valid-user. faça o acesso local não precisar autenticar

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/tmp/.htpassword"
Require local
Require valid-user

Quando eu removo o local necessário, a autenticação está funcionando. mas permite o acesso de fora. Então, como configurar isso, só posso permitir acesso local com o usuário válido

    
por Yuan Chen 03.12.2014 / 07:05

1 resposta

2

Do Apache 2.4, você tem a opção de usar a RequireAll diretiva de agrupamento :

<Directory /some/path>
    AuthName "Authenticate"
    AuthType Basic
    AuthUserFile "/home/tmp/.htpassword"
    <RequireAll>
       Require valid-user
       Require ip 192.168.1       
    </RequireAll>               
</Directory>

Sem essa diretiva RequireAll explícita, o Apache usa um RequireAny implícito onde O êxito da correspondência de apenas um dos requisitos é suficiente para ser concedido acesso.

No Apache 2.2 você tinha menos controle granular, mas poderia ter usado o Satisfy diretiva para instruir o Apache sobre como as diretivas Permitir e Exigir devem ser combinadas.

<Directory /some/path>
    AuthName "Authenticate"
    AuthType Basic
    AuthUserFile "/home/tmp/.htpassword"
    Require valid-user
    Order allow,deny
    Allow from 192.168.1       
    Satisfy All                
</Directory>

Isso requer um usuário autenticado e o endereço IP do cliente do seu intervalo local: neste exemplo 192.168.1.0/24 .

    
por 03.12.2014 / 09:40