Lista de diretórios do Apache apenas para IPs específicos?

1

Como posso ativar Indexes apenas para endereços IP específicos?

Geralmente, quero que a listagem de diretórios seja desativada, mas somente seja ativada para um IP específico

    
por mark 22.07.2010 / 01:11

3 respostas

3

<Directory /path/to/your/dir>
  Options indexes
  order deny,allow
  deny from all
  allow from 192.168.1.101
</Directory>

Se isso não fizer o que você quer (como nada no diretório não é um período acessível para ninguém além do IP especificado), você pode fazer algo que consiga o que parece estar habilitando índices para um IP específico com mod_rewrite:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.101
RewriteRule ^/(index\.html)?$ /page_to_kick_people_looking_for_indexes_to.html [L]
    
por 22.07.2010 / 02:32
0

Usando o mod_authz_host no Apache 2 (ou mod_access no Apache 1), você pode limitar o controle de acesso a um diretório por endereço IP (ou intervalo de endereços IP).

Por exemplo:

<Directory "/path/to/directory/">
Order allow,deny
Allow from XXX.XXX.XXX.XXX
Options Indexes
</Directory>

Para mais informações, consulte a página do Apache para mod_authz_host .

    
por 22.07.2010 / 02:30
0

Se você criar 2 <Directory /> entradas, poderá mostrar índices para um IP ou intervalo específico e desabilitar índices para todos os outros, assim:

<Directory "/path/to/directory">
    Order deny,allow
    Allow from all
    Options -Indexes
</Directory>

<Directory "/path/to/directory">
    Order allow,deny
    Allow from 192.168.1.101
    Options +Indexes
</Directory>

EDITAR:

Agora vejo que isso também desativa o acesso a arquivos únicos, por isso ainda é acessível somente a partir de um IP / intervalo

    
por 02.05.2011 / 16:28