Desativei as listagens de diretórios assim ...
Options -Indexes
Quando tento acessar um diretório como este: -
www.example.com/secret/
Eu recebo uma resposta 403 Proibida .
No entanto, eu quero uma resposta 404 Não encontrada , para que os hackers não possam adivinhar minha estrutura de diretórios tão facilmente. Como eu faria isso?
apache-2.2
security
directoryindex
Rik Heywood
fonte
fonte
Respostas:
Ative mod_rewrite e AllowOverride em / secret. Em seguida, crie .htaccess:
fonte
Procurei na Internet uma resposta para um problema semelhante. Enquanto mod_rewrite é uma solução possível, acho que a melhor solução usa a diretiva "RedirectMatch".
Consulte StackOverflow: Problema ao redirecionar 403 Proibido para 404 Não Encontrado
fonte
Crie um script 403 personalizado que retorne um erro 404.
Por exemplo, no PHP:
Agora configure o Apache para usar este script para obter resultados 403:
Sem mexer com reescritas e funciona instantaneamente para todo o servidor.
fonte
header()
comando.Minha solução para parar de exibir o conteúdo do diretório como lista e exibir o erro 404 é simples. Crie o arquivo .htaccess no diretório raiz do seu projeto e escreva quais diretórios devem ser protegidos.
Estrutura de diretórios
.htaccess
A segunda linha do .htaccess não permite o acesso a itens de lista no diretório de aplicativos e em todos os seus sub-diretórios.
A terceira linha do .htaccess não permite o acesso a itens de lista no diretório de modelos e todos os seus sub-diretórios.
A quarta linha .htaccess define nosso próprio erro 404 (se você não deseja mostrar o erro padrão do apache).
Lembre-se de limpar o cache do seu navegador ao trabalhar com o htaccess.
fonte
Use .htaccess para mascarar erros. Consulte este guia:
http://www.tarahost.net/pages/web-design/29371.php
fonte