Acabei de atualizar meu servidor Apache para Apache/2.4.6 que está rodando no Ubuntu 13.04. Eu costumava ter um arquivo vhost que tinha o seguinte:
<Directory "/home/john/development/foobar/web">
AllowOverride All
</Directory>
Mas quando executei isso, recebi um "Proibido. Você não tem permissão para acessar /"
Depois de pesquisar um pouco, descobri que para que meu site funcionasse novamente, precisava adicionar a seguinte linha "Require all grant" para que meu vhost ficasse assim:
<Directory "/home/john/development/foobar/web">
AllowOverride All
Require all granted
</Directory>
Eu quero saber se isso é "seguro" e não traz nenhum problema de segurança. Eu li na página do Apache que isso "imita a funcionalidade que foi fornecida anteriormente pelas diretivas 'Permitir de todos' e 'Negar de todos'. Esse provedor pode receber um dos dois argumentos que são 'concedido' ou 'negado'. O seguinte exemplos concederão ou negarão acesso a todas as solicitações."
Mas não disse se isso era algum tipo de problema de segurança ou por que agora temos que fazer isso quando no passado você não precisava.
A configuração do controle de acesso mudou na versão 2.4, e as configurações antigas não são compatíveis sem algumas mudanças. Veja aqui .
Se sua configuração antiga era
Allow from all
(sem endereços IP bloqueados para acessar o serviço), entãoRequire all granted
é o novo equivalente funcional.No Apache 2.2 seria assim:
No Apache 2.4 seria assim:
Tenha cuidado ao usar a
.htaccess
autenticação , esta nova sintaxe pode fazer algumas coisas ruins e inesperadas , se esse for o seu caso, por favor leia: Apache 2.4 quer que eu decida: Requer ip válido ou requer usuário válido e você deve estar bem!