Maneira simples de fazer o Apache pedir uma senha, a menos que a partir do IP especificado

3

Existe uma maneira simples de definir diretivas do Apache que:

  1. Permitir acesso sem senha do IP especificado
  2. Solicitar senha de qualquer outro IP

Estou procurando uma maneira de conseguir isso editando as diretivas, e não por meio de configurações avançadas, como configurando novos manipuladores .

Eu tentei a configuração sugerida pela documentação do Apache e outro post do fórum mas parece permitir todo o acesso, independentemente do IP. A configuração que eu tentei é esta:

AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/apache2/restricted_htpasswd
Require valid-user
Allow from [IP]
Satisfy Any

Isso deve funcionar? (onde [IP] é claro o IP atual)

    
por Ilari Kajaste 27.08.2010 / 10:07

2 respostas

5

Já fiz isso antes e demorei para descobrir. Aqui está como eu fiz:

# Requires a valid user unless 
# logged in from a specific IP address
Order deny,allow
Deny from all
AuthName "Keep out"
AuthUserFile "/path/to/your/passwd/file"
AuthType Basic
Require valid-user
Allow from 192.0.32.10 
Satisfy Any

O que isso fará é permitir o acesso se o usuário fornecer autenticação OU for do IP especificado. A chave é "satisfazer qualquer", que diz que deve atender a qualquer uma dessas condições, nem todas elas. Você também pode especificar um intervalo de IP, por exemplo, Allow from 192.0.0.0/16 .

    
por 27.08.2010 / 22:53
2

Atualização: experimente ...

AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/apache2/restricted_htpasswd
Require valid-user

Order deny,allow
Deny from all
Allow from [IP]

Satisfy any

(Comentários prévios de greve, pergunta mal interpretada)

    
por 27.08.2010 / 10:39