Encontrar um arquivo PHP estranho na sua pasta de uploads do WordPress pode ser alarmante. Conhecemos bem essa sensação, pois ajudamos centenas de usuários que descobriram o mesmo problema.
Isso geralmente aponta para uma falha de segurança que muitas pessoas ignoram. Hackers podem abusar de diretórios graváveis para fazer upload de scripts maliciosos que lhes dão acesso de backdoor ao seu site.
A boa notícia é que existe uma maneira simples de bloquear um dos métodos de ataque favoritos deles. Ao desabilitar a execução de PHP em pastas específicas, você torna seu site um alvo muito mais difícil.
Mostraremos exatamente como fazer isso passo a passo. Vamos detalhar como adicionar essa importante camada de segurança ao seu site WordPress.

Por que Desabilitar a Execução de PHP em Certos Diretórios do WordPress?
Por padrão, o WordPress torna certos diretórios graváveis para que você e outros usuários autorizados em seu site possam facilmente fazer upload de temas, plugins, imagens e vídeos para o seu site.
No entanto, essa capacidade pode ser abusada se cair nas mãos erradas, como hackers que podem usá-la para fazer upload de arquivos de acesso backdoor ou malware para o seu site WordPress.
Esses arquivos maliciosos são frequentemente disfarçados como arquivos principais do WordPress. Eles são escritos principalmente em PHP e podem ser executados em segundo plano para obter acesso total a todos os aspectos do seu site.
Parece assustador, certo?
Não se preocupe. Existe uma solução fácil para isso. Simplesmente desative a execução de PHP em certos diretórios onde você não precisa dela. Ao fazer isso, nenhum arquivo PHP será executado dentro desses diretórios.
Vamos dar uma olhada em como melhorar a segurança do WordPress desativando a execução de PHP usando o arquivo .htaccess.
Desativando a Execução de PHP em Certos Diretórios do WordPress Usando o Arquivo .htaccess
A maioria dos sites WordPress possui um arquivo .htaccess na pasta raiz. Este é um arquivo de configuração usado pelo Apache, um dos tipos mais populares de software de servidor web. (Se o seu host usa um servidor diferente como Nginx, não se preocupe, cobrimos isso na seção de Perguntas Frequentes abaixo.)
Este poderoso arquivo de configuração é usado para proteger com senha a área de administração, desativar a navegação por diretórios, gerar uma estrutura de URL amigável para SEO e muito mais.
Por padrão, o arquivo .htaccess está localizado na pasta raiz do seu site WordPress, mas você também pode criar e usar arquivos .htaccess adicionais dentro dos seus diretórios internos do WordPress.
Para proteger seu site contra arquivos de acesso de backdoor, você precisa criar um arquivo .htaccess e enviá-lo para os diretórios /wp-includes e /wp-content/uploads do seu site. Proteger a pasta /wp-content/uploads é especialmente importante, pois este é o local mais comum para hackers tentarem colocar scripts maliciosos.
Simplesmente crie um novo arquivo em seu computador usando um editor de texto como o Bloco de Notas (no Windows) ou o TextEdit (no Mac). Em seguida, salve o arquivo vazio com o nome .htaccess
Agora, copie e cole o seguinte código em seu arquivo .htaccess:
<Files *.php>
Require all denied
</Files>
Este código informa ao seu servidor para bloquear qualquer tentativa de executar diretamente um arquivo que termine com .php de dentro desta pasta. Depois de colar o código, salve o arquivo.
Em seguida, você deve fazer o upload deste arquivo para as pastas /wp-includes e /wp-content/uploads em seu servidor de hospedagem WordPress.
Você pode fazer o upload usando um cliente FTP ou o aplicativo Gerenciador de Arquivos no painel cPanel da sua conta de hospedagem.

Assim que o arquivo .htaccess com o código acima for adicionado, ele impedirá a execução de quaisquer scripts PHP nesses diretórios.
Verificando Backdoors no WordPress Usando Sucuri
Usar este truque de .htaccess ajuda a fortalecer a segurança do seu WordPress, mas não corrigirá um site WordPress que já foi invadido.
Backdoors são disfarçados de forma inteligente e já podem estar escondidos à vista de todos.
Se você deseja verificar possíveis backdoors em seu site, então você precisa ativar Sucuri em seu site.

Sucuri é o melhor plugin de segurança WordPress do mercado. Ele escaneia seu site em busca de possíveis ameaças, códigos suspeitos, malware e vulnerabilidades.
Ele também bloqueia efetivamente a maioria das tentativas de invasão antes mesmo de chegarem ao seu site, adicionando um firewall entre seu site e o tráfego suspeito.
Mais importante ainda, se o seu site WordPress for invadido, ele o limpará para você. Para saber mais, você pode ler nossa análise da Sucuri porque usamos o serviço deles há anos.
Você pode aprender mais em nosso guia sobre como encontrar e corrigir backdoors em um site WordPress invadido.
Perguntas Frequentes Sobre Desabilitar a Execução de PHP
Aqui estão algumas das perguntas mais comuns que recebemos sobre o fortalecimento da segurança do WordPress, desabilitando a execução de PHP em determinados diretórios.
1. O que é um arquivo .htaccess e onde ele está localizado?
O arquivo .htaccess é um arquivo de configuração do servidor usado por servidores web Apache. No WordPress, ele controla coisas como a estrutura de URL do seu site e pode ser usado para adicionar regras de segurança. Geralmente, você pode encontrá-lo na pasta raiz principal da sua instalação do WordPress.
2. Desabilitar a execução de PHP na pasta de uploads quebrará meu site?
Não, essa medida de segurança não deve afetar a operação normal do seu site. Os diretórios wp-content/uploads e wp-includes não foram projetados para conter arquivos PHP que são executados diretamente. Seus temas e plugins mantêm seus arquivos necessários em pastas separadas onde a execução de PHP ainda é permitida.
3. Este truque do .htaccess é suficiente para proteger completamente meu site?
Embora esta seja uma etapa de segurança eficaz e importante, ela é apenas uma parte de um plano de segurança completo. Uma estratégia completa também deve incluir o uso de um plugin de segurança do WordPress, a manutenção de todos os seus temas e plugins atualizados e a imposição de senhas fortes para todos os usuários.
4. E se meu provedor de hospedagem usar Nginx em vez de Apache?
O arquivo .htaccess só funciona em servidores web Apache. Se o seu provedor de hospedagem usa Nginx, você precisará adicionar uma regra diferente ao arquivo de configuração do seu servidor para obter o mesmo resultado. Recomendamos entrar em contato com a equipe de suporte do seu provedor para obter ajuda com o código correto para a plataforma deles.
O que devo fazer se receber um erro após adicionar o arquivo .htaccess?
Em casos muito raros, você pode ver um 'Erro Interno do Servidor 500' após o upload do arquivo. Isso geralmente significa que seu provedor de hospedagem está usando uma versão mais antiga do software de servidor Apache.
Se isso acontecer, basta abrir seu arquivo .htaccess e substituir o código que você adicionou pelo seguinte trecho em vez disso:
<Files *.php>
deny from all
</Files>
Salve o arquivo e faça o upload novamente. Esta versão mais antiga do código faz a mesma coisa, mas é compatível com servidores desatualizados.
Guias de Especialistas sobre Como Melhorar a Segurança do WordPress
Esperamos que este artigo tenha ajudado você a aprender como desativar a execução de PHP em determinados diretórios do WordPress para fortalecer a segurança do seu site. Você também pode querer aprender outras técnicas de segurança. Aqui estão alguns dos nossos melhores guias sobre como melhorar a segurança do WordPress:
- O Guia Definitivo de Segurança do WordPress (Passo a Passo)
- Como Realizar uma Auditoria de Segurança do WordPress (Checklist Completo)
- Como Escanear Seu Site WordPress em Busca de Código Potencialmente Malicioso
- Melhores Scanners de Segurança do WordPress para Detectar Malware e Hacks
- Como Encontrar e Remover Injeção de Links de Spam no WordPress
- Como Adicionar Autenticação de Dois Fatores no WordPress (Método Gratuito)
- Como Adicionar Perguntas de Segurança à Tela de Login do WordPress
- O que são, por que são importantes e como usar as Chaves de Segurança do WordPress
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.


tom
sobre desabilitar execuções de php na pasta wp-includes para evitar que qualquer código de backdoor seja executado, etc. – mas parece haver muitos, muitos arquivos php nessa pasta, por exemplo: admin-bar.php ou author-template.php para citar alguns que parecem importantes para serem executados e eu me pergunto se colocar o arquivo htaccess nessa pasta não impedirá a execução desses arquivos e possivelmente prejudicará os recursos principais do wordpress? a propósito, obrigado por muitos artigos bons em seu site
WPBeginner Support
A menos que você tenha um plugin específico que adicione funcionalidade aos arquivos, não deve haver problema em impedir a execução de PHP nas pastas.
Admin
tom
Obrigado pela sua resposta. minha configuração é simplesmente: astra/spectra, malcare e all in one seo, nesse caso, colocarei .htaccess em wp-includes também. Obrigado novamente por muitos ótimos artigos
Mrteesurez
Vejo isso como uma ótima forma de proteger um site desabilitando a execução de PHP em pastas. De acordo com este artigo, apenas dois diretórios são protegidos, e os outros? Eles foram protegidos naturalmente ou os hackers não precisam deles durante a tentativa?
WPBeginner Support
Outras seções dos arquivos do seu site normalmente exigem acesso mais restrito ou possuem arquivos php que são necessários para que seu site funcione.
Admin
Jiří Vaněk
Obrigado por essas dicas de segurança. Criei um arquivo htaccess e farei o upload para o FTP. Tenho um site no meu próprio servidor, então a questão da segurança depende inteiramente de mim. Obrigado pelo próximo passo para tornar meu WordPress um pouco mais seguro novamente.
Unarine Leo Netshifhefhe
Também tenho este alerta no meu plugin Updraft, onde os backups não estão acontecendo, isso pode ser devido ao htaccess?
“O diretório de backup não pôde ser criado…
A pasta existe, mas seu servidor web não tem permissão para escrever nela. Você precisará consultar seu provedor de hospedagem para descobrir como definir permissões para um plugin do WordPress escrever no diretório. (wp-content/updraft)
WPBeginner Support
Isso parece ser um problema de permissões de arquivo/pasta, você deve entrar em contato com seu provedor de hospedagem e eles poderão ajudar, você também pode dar uma olhada em nosso guia abaixo:
https://www.wpbeginner.com/beginners-guide/how-to-fix-file-and-folder-permissions-error-in-wordpress/
Admin
Brian Prom
FYI: você tem um erro de digitação no seu trecho de código para o trecho .htaccess.
Usar seu trecho de código como está (sem a barra de fechamento /) quebra o carregamento de imagens.
WPBeginner Support
Thank you for pointing that out, our code should be fixed
Admin
Vitor Gonçlaves
Encontrei alguns arquivos .php na pasta de uploads criados por plugins. Posso assumir que isso não causará problemas, ou preciso analisar cada plugin individualmente?
WPBeginner Support
Se você entrar em contato com seus plugins, eles poderão informar os detalhes específicos desses arquivos.
Admin
nirbo
Obrigado pela informação
WPBeginner Support
You’re welcome
Admin
cliff denney
muito obrigado
WPBeginner Support
You’re welcome
Admin
Suman Samanta
Ótima escrita! Você tem um talento para escrita informativa. Seu conteúdo me impressionou além das palavras. Tenho muita admiração pela sua escrita. Obrigado por toda a sua valiosa contribuição neste tópico.
WPBeginner Support
Thank you, glad you enjoy our writing
Admin
Thato
Pessoal, acho que estraguei meu arquivo htaccess, meu site não está exibindo imagens completamente
WPBeginner Support
Olá Thato,
Você pode baixar seu arquivo .htaccess para o seu computador como backup e depois excluí-lo do seu site. Vá para a área de administração do WordPress em Configurações » Links Permanentes e clique no botão salvar alterações. Isso deve regenerar seu arquivo .htaccess.
Admin
Shawn Rebelo
Não faça wp-content.
Faça wp-content/uploads.
E isto:
order allow,deny
deny from all
Pode variar em servidores.
Hardik
Isso afeta o arquivo de uploads para carregar em páginas da web?
Descobri que, após fazer o upload deste arquivo htaccess para a pasta, muitas imagens de várias postagens não estão sendo exibidas.
Chuck Cochems
Sim, negar acesso a arquivos php no diretório includes quebra o site porque a inclusão realmente obedece às restrições do .htaccess.
Mas a restrição no diretório de uploads é muito inteligente, e isso deveria estar lá .POR PADRÃO no diretório de uploads, e não há boas razões para que não esteja presente.
Stan
Qual é o método para servidores IIS?
Obrigado,
KOnnie
ZOMG! você não pode simplesmente desabilitar o acesso de escrita à pasta /wp-includes?
Por que lutar com as consequências quando você pode prevenir a causa?
Jonathan Hodgson
Isso não impediria o WordPress de conseguir atualizar os arquivos em atualizações principais?
Jeff Wigal
Você também pode colocar isso no seu virtualhost do Apache, que fará a mesma coisa:
Order allow,deny
Deny from all
anton
como implementar este código se tivermos uma combinação de letras minúsculas e maiúsculas na extensão do arquivo, por exemplo, on.php no meu site funciona, mas não funciona se o arquivo for nomeado com.PHp, .PHP .PhP ou uma combinação deles, o script backdoor ainda é executado
Obrigado
Timothée Moulin
Você pode colocar isso no seu arquivo .htaccess
Order Deny,Allow
Deny from All
Shams
Oi Syed,
Obrigado por um post tão informativo e, de fato, ele fornece uma ótima solução para salvar o WordPress de hackers.
Vladimir
Oi!
Segui todas as suas instruções neste artigo, mas não está funcionando...
Obrigado
Aurélien Debord
Uma postagem tão útil com dicas tão boas e rápidas.
Obrigado
Ramon
Criei um arquivo .htaccess na pasta wp-includes. O site parecia ok, mas meu editor WYSIWYG nas páginas de administração não estava funcionando. Tive que remover o arquivo .htaccess novamente. (WP 3.9.1)
Wes
Também achei minha pasta wp-includes cheia de arquivos php e não consigo ver como usar esse arquivo .htaccess lá não quebraria alguma coisa. Eu o usei no diretório de uploads.
Equipe Editorial
Ele quebra às vezes (dependendo do plugin que você está usando), mas não o tempo todo.
Admin
Vermelho
desculpe meu inglês ruim…
Segui todas as suas instruções neste artigo, mas quando vou ao meu painel para adicionar um novo post, minha seção de posts ficou bagunçada. … suspeito que o .htaccess foi o problema.
quando o deletei, o post ficou bom.
Equipe Editorial
Em qual diretório você fez o upload do arquivo .htaccess que causou esse problema?
Admin
Chris
Adicionei o arquivo .htaccess à minha pasta wp-includes e não tive nenhum problema. Muito obrigado pelas dicas.
Brad
Tentei isso no meu diretório /wp-includes/, que está cheio de arquivos php. Claro que não consegui mais acessar o site. Você realmente quis incluir o diretório includes para uso com o arquivo .htaccess?
Você talvez quis dizer /wp-includes/images?
Equipe Editorial
Não. Quisemos dizer a pasta /wp-includes/. Temos isso em nossa pasta wp-includes. Se por algum motivo estiver quebrando seu site, então delete o arquivo .htaccess de sua pasta wp-includes.
Admin
Brad
Estranho, minha pasta wp-includes tem mais de 90 arquivos php nela. E isso quebra o site. Tirei imediatamente.
Mas eu o coloquei na pasta /wp-content/uploads/ e funciona muito bem lá. Obrigado por responder
Alfred
Colocar um arquivo htaccess negando acesso a arquivos php em um diretório cheio de arquivos php parece bastante estranho. Presumo que seja porque esses arquivos normalmente são apenas incluídos, não executados diretamente. Se isso for verdade, não seria melhor apenas negar o acesso a todo o diretório?