Como desativar a execução de scripts PHP em pastas específicas

Desativar a execução de scripts PHP em pastas específicas é uma prática recomendada para reforçar a segurança de sites WordPress e evitar que arquivos maliciosos sejam executados em diretórios vulneráveis. Essa medida simples pode impedir que hackers explorem uploads não autorizados ou backdoors instalados em pastas de mídia, cache e backups.

Neste artigo, vamos mostrar como bloquear a execução de PHP em pastas críticas, proteger seu site contra ataques e reduzir os riscos de infecção por malware.


Por que desativar a execução de PHP em determinadas pastas?

No WordPress e em outros CMSs, algumas pastas devem armazenar arquivos estáticos (como imagens, PDFs e cache), mas não devem executar código PHP. Se um invasor conseguir enviar um arquivo .php para essas pastas e executá-lo, ele poderá:

  • Injetar malwares e shells remotos
  • Criar redirecionamentos maliciosos
  • Roubar dados sensíveis
  • Acessar o banco de dados

Pastas comuns que devem ter a execução de PHP desativada:

  • /wp-content/uploads/
  • /wp-includes/
  • /wp-content/cache/
  • /backup/ (caso exista)
  • Qualquer outra pasta onde o usuário pode fazer upload

Como desativar a execução de scripts PHP com .htaccess

A forma mais simples de bloquear a execução de arquivos PHP em pastas específicas em servidores Apache é usando um arquivo .htaccess.

Passo a passo:

1. Acesse o diretório que deseja proteger

Use o gerenciador de arquivos do seu painel de hospedagem (como cPanel) ou um cliente FTP para navegar até a pasta, por exemplo:

bashCopiarEditar/wp-content/uploads/

2. Crie ou edite o arquivo .htaccess

Se não existir, crie um novo arquivo chamado .htaccess dentro da pasta.

3. Insira o seguinte conteúdo:

apacheCopiarEditar<FilesMatch "\.(php|php5|phtml)$">
  Order Deny,Allow
  Deny from all
</FilesMatch>

Esse código bloqueia o acesso e execução de arquivos .php, .php5 e .phtml naquela pasta.


Como testar se a restrição está funcionando

  1. Faça upload de um arquivo de teste, como test.php, com o seguinte conteúdo:
phpCopiarEditar<?php echo 'executando'; ?>
  1. Acesse o arquivo pelo navegador:
arduinoCopiarEditarhttps://seusite.com/wp-content/uploads/test.php

Se tudo estiver configurado corretamente, você verá um erro 403 (Acesso negado) ou página em branco — o que significa que a execução foi bloqueada.

Importante: Após o teste, exclua o arquivo test.php para evitar riscos.


Protegendo sites em servidores NGINX

Se você utiliza NGINX, a lógica é aplicada diretamente no bloco de configuração do site (geralmente no arquivo default.conf ou site.conf).

Exemplo para bloquear execução de PHP na pasta uploads:

nginxCopiarEditarlocation ~* ^/wp-content/uploads/.*\.(php|php5|phtml)$ {
    deny all;
}

Reinicie o NGINX após editar:

bashCopiarEditarsudo systemctl restart nginx

Dicas extras de segurança para evitar execução maliciosa

  • Desabilite upload de arquivos PHP em formulários
  • Use plugins de segurança como Wordfence ou Sucuri
  • Realize escaneamentos regulares no seu site
  • Mantenha o WordPress, plugins e temas atualizados
  • Aplique permissões de arquivos e pastas corretamente
    • Arquivos: 644
    • Pastas: 755

Conclusão: proteja seu site com medidas simples e eficazes

Desativar a execução de scripts PHP em pastas específicas é uma ação técnica simples que pode evitar problemas graves de segurança. Com ela, você reduz a superfície de ataque e protege seu WordPress contra explorações comuns usadas por bots e hackers.

🔐 Quer uma análise completa da segurança do seu site WordPress?
Nossa equipe oferece consultoria, auditoria de segurança, configuração de regras de proteção e blindagem completa do seu ambiente digital.