Tutoriais confiáveis de WordPress, quando você mais precisa.
Guia para Iniciantes em WordPress
WPB Cup
Mais de 25 Milhões
Sites usando nossos plugins
16+
Anos de experiência com WordPress
3000+
Tutoriais de WordPress por especialistas

Como Desabilitar a Execução de PHP em Certos Diretórios do WordPress

Encontrar um arquivo PHP desconhecido na sua pasta de uploads do WordPress é um momento aterrorizante. Ajudamos milhares de usuários em pânico a proteger seus sites após descobrirem essa exata vulnerabilidade.

Essa questão expõe uma falha de segurança oculta que deixa seu site vulnerável a atacantes. Hackers usam esses diretórios desprotegidos para fazer upload de scripts maliciosos e criar backdoors ocultos.

Felizmente, você pode bloquear esse método de ataque comum com alguns ajustes rápidos. Desabilitar a execução de PHP no WordPress dificulta o controle do seu site por agentes mal-intencionados.

Ao bloquear a execução de PHP em diretórios do WordPress onde não é necessária, você fecha uma grande brecha de segurança.

Mostraremos exatamente como proteger seu site passo a passo. Continue lendo para aprender como proteger seus diretórios do WordPress e manter seu trabalho árduo seguro.

Como Desabilitar a Execução de PHP em Certos Diretórios do 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 mal utilizada 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 tem 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 FAQ abaixo.)

Observação: Se você usa um provedor de Hospedagem WordPress Gerenciada, eles provavelmente já bloqueiam a execução de PHP na sua pasta de uploads por padrão para manter seu site seguro. Se não tiver certeza, você sempre pode entrar em contato com a equipe de suporte deles para verificar!

Este poderoso arquivo de configuração é usado para proteger com senha a área administrativa, desativar a navegação em 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 backdoor, você precisa criar um arquivo .htaccess e enviá-lo para o diretório /wp-content/uploads do seu site. Este é o local mais comum onde hackers tentam esconder scripts maliciosos, tornando-o a pasta mais importante para proteger.

Simplesmente crie um novo arquivo no seu computador usando um editor de texto simples como o Bloco de Notas (no Windows) ou o TextEdit (no Mac). Se estiver usando um Mac, certifique-se de ir em Formatar » Tornar Texto Simples no menu superior.

Em seguida, salve o arquivo vazio e nomeie-o exatamente como .htaccess (certifique-se de que ele não seja salvo acidentalmente como .htaccess.txt).

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 no seu servidor de hospedagem WordPress.

Dica Profissional: Se você cometer um erro e seu site mostrar um erro após o upload deste arquivo, não entre em pânico! Simplesmente use seu cliente FTP para excluir o arquivo .htaccess que você acabou de enviar, e seu site voltará ao normal instantaneamente.

Você pode fazer o upload usando um cliente FTP ou o aplicativo Gerenciador de Arquivos no painel cPanel da sua conta de hospedagem.

Clicando no botão Upload no gerenciador de arquivos do Bluehost

Assim que o arquivo .htaccess com o código acima for adicionado, ele impedirá a execução de quaisquer scripts PHP nesses diretórios.

Bônus: Desabilitar a Navegação de Diretórios no WordPress

Enquanto você está editando seu arquivo .htaccess, recomendamos fortemente dar mais um passo para melhorar a segurança do seu WordPress: desabilitar a navegação de diretórios.

Por padrão, se o seu servidor web não encontrar um arquivo de índice (como index.php ou index.html) em uma pasta, ele exibirá automaticamente uma página mostrando todos os arquivos e pastas dentro desse diretório.

Hackers adoram a navegação de diretórios porque ela permite que eles vasculhem facilmente seus arquivos e procurem por vulnerabilidades.

Para impedir isso, você pode simplesmente adicionar uma linha de código ao arquivo .htaccess principal do seu site (aquele localizado no seu diretório raiz, não o que você acabou de adicionar à sua pasta de uploads):

Options -Indexes

Para instruções mais detalhadas, você pode conferir nosso guia dedicado sobre como desabilitar a navegação de diretórios no WordPress.

Verificando Backdoors no WordPress Usando Sucuri

Usar esse truque do .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ê quiser verificar possíveis backdoors no seu site, então você precisa ativar o Sucuri no seu site.

Sucuri

Sucuri é o melhor plugin de segurança para 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 do Sucuri, pois 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 de 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ê o encontrará 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. O diretório wp-content/uploads destina-se apenas a uploads de mídia, como imagens e vídeos, e não à execução de arquivos PHP. Seus temas e plugins mantêm seus arquivos necessários em pastas separadas onde a execução de PHP ainda é permitida com segurança.

3. Este truque do .htaccess é suficiente para proteger completamente meu site?

Embora esta seja uma etapa de segurança eficaz e importante, é 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 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 truque do arquivo .htaccess só funciona em servidores web Apache. Se o seu provedor de hospedagem WordPress usa Nginx, você não pode usar um arquivo .htaccess para desativar a execução de PHP em diretórios do WordPress.

Em vez disso, o Nginx exige a adição de uma regra específica (um ‘bloco de localização’) diretamente no arquivo de configuração nginx.conf do seu servidor para negar o acesso PHP na pasta de uploads.

Observação: Editar arquivos de configuração do Nginx é uma tarefa avançada. Um único erro de sintaxe pode travar todo o seu servidor web. Além disso, muitos hosts WordPress gerenciados restringem o acesso a esses arquivos principais.

Por causa disso, recomendamos fortemente que você entre em contato com a equipe de suporte do seu provedor de hospedagem. Eles podem adicionar com segurança as regras de negação Nginx corretas ao seu servidor em apenas alguns minutos.

5. O que devo fazer se receber um erro após adicionar o arquivo .htaccess?

Primeiro, não se preocupe! Você não quebrou seu site permanentemente. Simplesmente exclua o arquivo .htaccess que você acabou de enviar para a sua pasta /wp-content/uploads, e seu site voltará a ficar online.

Se você viu 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. Para corrigir isso, abra seu arquivo .htaccess e substitua o código que você adicionou pelo seguinte trecho:

<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.

Recursos Adicionais 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:

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.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

42 CommentsLeave a Reply

  1. 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

    • 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

      • 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

  2. 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?

    • 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

  3. 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.

  4. 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)

  5. 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.

  6. 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?

    • Se você entrar em contato com seus plugins, eles poderão informar os detalhes específicos desses arquivos.

      Admin

  7. Ó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.

    • 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

  8. Não faça wp-content.
    Faça wp-content/uploads.

    E isto:

    order allow,deny
    deny from all

    Pode variar em servidores.

  9. 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.

  10. 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.

  11. 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?

  12. 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

  13. Oi Syed,
    Obrigado por um post tão informativo e, de fato, ele fornece uma ótima solução para salvar o WordPress de hackers.

  14. 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)

  15. 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.

  16. 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.

  17. 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?

      • 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

        • 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?

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.