
Por padrão, a maioria dos servidores da web como Apache, NGINX e LiteSpeed tem a navegação de diretório habilitada.
Significa simplesmente que as pessoas podem visualizar o conteúdo das pastas individuais (diretórios) em seu site.
Do ponto de vista da segurança, você não quer que isso aconteça, pois você não quer que as pessoas examinem a estrutura do seu site.
Os hackers podem facilmente encontrar possíveis explorações em temas e plugins cheirando esses arquivos.
Neste breve tutorial, mostraremos como desabilitar a navegação em diretórios no WordPress usando o arquivo .htaccess. Para fins de simplicidade, os termos diretório e pasta são usados como sinônimos neste tutorial.
Vamos começar…
Se você abrir o link a seguir e encontrar vários arquivos, significa que a navegação no diretório está desabilitada em seu servidor.
Link: http://yoursitename.com/wp-includes/ (onde yoursitename é o nome do seu site WordPress).
Se o link acima contiver uma lista de pastas, isso significa que a navegação no diretório está ativada.
Se a navegação no diretório estiver habilitada, será algo assim:

Mostraremos como desativá-lo para evitar possíveis problemas de segurança.
Algumas informações básicas sobre arquivos de índice
Se uma pasta contém um arquivo index.php ou index.htm ou index.html , então o servidor web, por padrão, executa ou carrega esse arquivo quando alguém entra nessa pasta.
Portanto, se alguém visse os arquivos em um diretório e um arquivo index.php/html estivesse lá, não seria possível, pois o servidor da Web chamaria o respectivo arquivo PHP ou HTML.
Se o arquivo index.php/html não estivesse lá, qualquer um poderia listar o conteúdo do diretório.
O diretório base refere-se ao diretório padrão do seu servidor web. Todos os sites adequados têm um arquivo index.php ou index.html em seu diretório base. Verifique seu próprio site, você descobrirá que a pasta base contém um arquivo index.php se estiver usando o WordPress (ou qualquer outro CMS ) ou um arquivo index.html se estiver usando um modelo HTML básico.
Então, por que desativar a navegação no diretório?
Algumas pastas do WordPress, como wp-content ou wp-includes, contêm dados confidenciais que não são necessários para olhares indiscretos. Como você sabe, a pasta wp-content contém seus temas, plugins e uploads de mídia.
Qualquer um pode simplesmente navegar por esses arquivos de mídia e os hackers podem encontrar possíveis explorações. Então sim, de certa forma, você está facilitando o trabalho do hacker ao não desabilitar a navegação no diretório.
Como desativar a navegação em diretórios no WordPress
Desabilitar a navegação em diretórios no WordPress ou em qualquer outro CMS ou site requer acesso ao diretório base via FTP ou algum gerenciador de arquivos como o cPanel.
Existem vários clientes FTP gratuitos que vão te ajudar aqui, uma boa opção é o FileZilla .
Você simplesmente precisa criar um arquivo .htaccess com a seguinte linha de código:
Opções Todos - Índices
Em seguida, faça o upload do arquivo de volta para a respectiva pasta. Esta é uma visão muito geral do processo. Na maioria dos casos, você já pode ter um arquivo .htaccess presente no diretório de instalação do WordPress. Ele é criado quando você alterou as configurações de permalink.
Tenha muito cuidado – não sobrescreva este arquivo, ou você perderá todo o seu permalink e outras configurações de segurança.
Se você já tem um arquivo .htaccess presente, primeiro crie um backup. Em seguida, abra-o no Bloco de Notas (ou qualquer editor de texto simples) e cole a seguinte linha no final:
Opções Todos - Índices
Em geral, a maioria dos arquivos .htaccess contém o seguinte código:
# COMECE WordPress <IfModule mod_rewrite.c> Rewrite Engine On RewriteBase / Regra de reescrita ^index.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}!-d Regra de Reescrita. /index.php [L] </IfModule> # FIM WordPress
O código modificado ficará assim:
# COMECE WordPress <IfModule mod_rewrite.c> Rewrite Engine On RewriteBase / Regra de reescrita ^index.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}!-d Regra de Reescrita. /index.php [L] </IfModule> # FIM WordPress Opções Todos - Índices
Salve o arquivo e carregue-o de volta no mesmo diretório de onde você baixou, desta vez sobrescrevendo o arquivo. Se algo quebrar, substitua-o pelo arquivo de backup e tente o processo novamente.
Depois de desabilitar a navegação no diretório, todos os diretórios que estavam visíveis anteriormente agora o redirecionam para uma página 403 Access Forbidden ou 404 Not Found . Em ambos os casos, funciona.
Eu tentei o tutorial na minha configuração WAMP e funcionou como um encanto!

Conclusão
Desabilitar a navegação em diretórios é uma das contramedidas de segurança mais prejudicadas entre a maioria dos webmasters. A maioria deles simplesmente esquece essa brecha que torna o trabalho do hacker muito mais fácil.
Como exemplo prático, a seguir está uma foto de um dos sites do meu cliente antes de aplicar a correção. Como você pode ver, qualquer um pode navegar pelos uploads de mídia sempre que quiser – mesmo aqueles que foram carregados, mas nunca exibidos no site real.

Espero ter conseguido comunicar a importância de desabilitar a navegação no diretório e como fazê-lo.