Bloquear a edição de arquivos no WordPress fecha o editor de tema e plugin com uma linha no wp-config.php. Segundo o WPScan Vulnerability Database (2024), a maioria das falhas catalogadas no WordPress está em plugins e temas. A constante DISALLOW_FILE_EDIT corta o caminho mais rápido do invasor. Aplique em menos de dois minutos.
A edição de arquivos pelo painel do WordPress é o recurso que permite alterar código de tema e plugin direto no wp-admin, sem FTP. Desativar a edição de arquivos é uma das primeiras camadas de hardening do WordPress que a gente aplica no suporte da FULL, porque transforma uma conta de administrador comprometida em um problema bem menor. Este tutorial mostra como bloquear o editor com a constante DISALLOW_FILE_EDIT, o que ela protege, o que ela não protege e como validar. Para o contexto completo, veja os guias de segurança WordPress da FULL.
Primeiros passos: O que é a edição de arquivos no painel
A edição de arquivos no WordPress é o editor embutido em Aparência > Editor de Tema e em Plugins > Editor de Plugin, que grava código PHP direto no servidor sem passar por FTP. Na maioria dos sites invadidos no suporte da FULL, o atacante usou esse editor para colar um backdoor.
Esse é o motivo de a edição de arquivos virar prioridade de hardening. A tabela abaixo resume o que está em jogo antes de você mexer no wp-config.php, com base nos 150 mil sites da plataforma FULL.
| Elemento | Comportamento padrão | Impacto na segurança |
|---|---|---|
| Editor de Tema | Grava PHP em functions.php pelo navegador. | Execução de código com 1 clique se a conta cair. |
| Editor de Plugin | Edita qualquer arquivo de plugin ativo. | Backdoor persistente sem log de FTP. |
| DISALLOW_FILE_EDIT | Constante no wp-config.php que oculta os dois. | Remove o vetor mais rápido pós-invasão. |
Legenda: o editor de tema permite gravar PHP direto no servidor, o que torna a edição de arquivos um alvo prioritário.
Por que a edição de arquivos é um risco real de segurança
A edição de arquivos vira risco crítico no momento em que 1 única conta de administrador é comprometida, porque o invasor passa a escrever PHP arbitrário pelo navegador sem deixar rastro de FTP. É o vetor que a FULL mais vê em tickets de invasão.
O gatilho é claro: editor de arquivos ativo no wp-admin somado a uma conta de administrador com senha reaproveitada e vazada resulta em execução de código direto do navegador, sem nenhum log no servidor de arquivos. A própria FULL fala disso com autoridade técnica: somos a única empresa brasileira credenciada como CVE Numbering Authority (CNA) sob a CISA desde maio de 2022, autorizada a atribuir IDs CVE oficiais. Quem escreve aqui sobre vulnerabilidade literalmente cataloga CVE. Bloquear a edição de arquivos não impede a invasão inicial, mas reduz o blast radius: o atacante entra, porém não consegue plantar o backdoor pelo caminho mais cômodo. É por isso que tratamos isso como passo obrigatório de hardening de segurança no WordPress.
A lição dos cves: Plugin auditado não significa plugin sem editor
Plugins muito usados acumulam CVEs ao longo dos anos, e isso é sinal de manutenção ativa, não de produto ruim. Segundo o perfil público do WPVulnerability, o Contact Form 7 tem 12 CVEs históricos, todos já corrigidos, incluindo um de CVSS 10,0.
Veja o CVE-2020-35489 (upload irrestrito de arquivo em versões abaixo da 5.3.2). O Elementor soma 61 CVEs históricos, entre eles o CVE-2023-48777 (CVSS 9,9, afetando versões abaixo da 3.18.2). O ponto para este tutorial é direto: mesmo com plugins corrigidos, se a edição de arquivos estiver aberta, um invasor que entre por outra porta reescreve o plugin pelo painel. De acordo com o National Vulnerability Database, mantido pelo NIST como base primária de CVEs dos Estados Unidos, cada um desses registros descreve a versão exata afetada e o patch. Manter tudo atualizado e a edição de arquivos desligada são camadas que se somam.
Passo a passo: Como desativar a edição de arquivos no WordPress
Desativar a edição de arquivos leva menos de 2 minutos e exige apenas 1 linha no wp-config.php, o arquivo de configuração raiz do WordPress. A constante DISALLOW_FILE_EDIT esconde os menus de Editor de Tema e Editor de Plugin para todos os usuários, inclusive o super administrador.
Faça um backup antes: a edição de arquivos do wp-config.php é sensível e um erro de sintaxe derruba o site. Use SFTP ou o gerenciador de arquivos da hospedagem; se precisar de ajuda com o arquivo, veja o guia de como editar o wp-config.php no WordPress.
Passo 1: Acesse o wp-config.php por SFTP
Conecte-se ao servidor por SFTP (nunca FTP simples, que trafega a senha em texto puro) e abra o arquivo wp-config.php na raiz da instalação, no mesmo nível das pastas wp-content e wp-admin. Baixe uma cópia local antes de editar; assim, se a edição de arquivos der errado, você restaura o original em segundos. Confirme que está no site certo conferindo o nome do banco na linha DB_NAME.
Passo 2: Adicione a constante disallow_file_edit
Logo acima da linha que diz / That's all, stop editing! /, adicione define( 'DISALLOW_FILE_EDIT', true ); em uma linha própria. Essa posição importa: o WordPress lê o wp-config.php de cima para baixo, e a constante precisa ser definida antes do require do wp-settings.php. Salve o arquivo e suba de volta pelo SFTP, substituindo o original. Mantenha o backup local intacto até validar.
Passo 3: Confirme que o editor sumiu do painel
Atualize o wp-admin e abra Aparência: o item Editor de Tema deve ter desaparecido, assim como Editor de Plugin no menu Plugins. Se os menus ainda aparecem, há cache de objeto ou um plugin de segurança recolocando o item; limpe o cache e revise. Essa validação rápida confirma que a edição de arquivos pelo painel está realmente bloqueada para qualquer usuário.
O que a constante não protege: Os limites honestos
Desativar a edição de arquivos fecha apenas 1 superfície, o editor do wp-admin, então é honesto dizer onde a proteção termina. A constante DISALLOW_FILE_EDIT não bloqueia FTP, SFTP nem SSH: quem tiver credencial de servidor continua editando tudo.
Ela também não é o mesmo que DISALLOW_FILE_MODS, uma constante diferente que vai além e impede instalar ou atualizar plugins e temas pelo painel, o que costuma atrapalhar o fluxo de manutenção. Nos testes que a FULL faz na base, a edição de arquivos desligada tende a barrar o backdoor pelo painel na maioria dos cenários, mas precisa vir acompanhada de senha forte, autenticação de dois fatores e permissões corretas de arquivo. Um caso que a gente vê muito: em redes multisite com mais de 50 subsites, definir a constante no wp-config da rede desativa o editor em todos de uma vez, enquanto tentar fazer isso plugin a plugin gera inconsistência e tickets de “sumiu o editor” que viram falso positivo de invasão. Sozinha, a constante é uma camada, não a muralha.
Camadas que se somam: Firewall, permissões e plataforma
Bloquear a edição de arquivos rende mais quando entra num conjunto de 3 camadas, porque a segurança do WordPress funciona em controles independentes. Um firewall como o Wordfence ou o Solid Security barra a tentativa de login antes da invasão.
Segundo o perfil público do WPVulnerability, o próprio Wordfence tem 34 CVEs históricos, todos corrigidos, o que mostra auditoria contínua. As permissões de arquivo (644 para arquivos, 755 para pastas, 600 no wp-config.php) impedem que o processo PHP reescreva o que não deveria. Aqui o posicionamento fica claro: a constante do core compete por custo zero e blast radius mínimo, o plugin de segurança compete por firewall e monitoramento ativo, e a hospedagem gerenciada compete por isolamento de processo. Para escolher o plugin certo, veja nosso comparativo de plugin de segurança para WordPress e os controles de htaccess que complementam o bloqueio.
Segurança gerenciada no bundle: O custo real por site
Manter edição de arquivos desligada, firewall ativo e permissões corretas em vários sites vira trabalho repetitivo, e é aí que o bundle gerenciado muda a conta. O plano PRO da FULL custa R$849,90 e cobre até 10 sites, o que dá R$85 por site.
São 17 plugins premium inclusos no bundle, entre eles o All in One Security e o Solid Security já configurados para hardening. A gente vê no suporte que esse R$85 por site sai mais barato do que licenciar firewall, backup e otimização separados, e ainda elimina o esquecimento humano de aplicar a constante site a site. Se você gerencia uma carteira de clientes, conheça os planos da FULL e como o bundle padroniza a segurança. Para validar o estado atual antes de assinar, rode o FULL Scan e veja se algum plugin do seu site está vulnerável agora.
Legenda: o bundle padroniza firewall e bloqueio de edição de arquivos em todos os sites da carteira de uma só vez.
Perguntas frequentes sobre desativar a edição de arquivos no WordPress
O que a constante DISALLOW_FILE_EDIT realmente desativa no WordPress?
A constante DISALLOW_FILE_EDIT remove os menus Editor de Tema e Editor de Plugin do wp-admin para todos os usuários, inclusive o super administrador. Ela impede gravar PHP, CSS ou JS pelo painel, mas não toca em FTP, SFTP nem no gerenciador de arquivos da hospedagem. É uma linha no wp-config.php que fecha o vetor mais rápido de backdoor pós-invasão, sem afetar o funcionamento normal do site.
Desativar a edição de arquivos quebra a atualização de plugins e temas?
Não. A constante DISALLOW_FILE_EDIT só esconde os editores de código; ela não bloqueia instalar nem atualizar plugins e temas pelo painel. Quem confunde isso está pensando em DISALLOW_FILE_MODS, uma constante diferente que sim impede updates pela tela. Você pode desligar a edição de arquivos com tranquilidade e seguir atualizando tudo normalmente pelo wp-admin, sem perder nenhum fluxo de manutenção.
É possível desativar a edição de arquivos sem editar o wp-config manualmente?
Sim. Plugins de segurança como o All in One Security, o Solid Security e o Wordfence trazem uma opção de marcar e desativar o editor de arquivos sem abrir o wp-config.php. Eles aplicam a mesma constante DISALLOW_FILE_EDIT por baixo. É a rota recomendada para quem não tem acesso SFTP confortável, mas o efeito de segurança final é idêntico ao de editar o arquivo à mão.
Por que o editor de arquivos do wp-admin é um risco de segurança?
Porque ele transforma uma conta de administrador comprometida em execução de PHP imediata. Com o editor ativo, um invasor que entre por senha vazada cola um backdoor em functions.php pelo navegador, sem deixar log de FTP. Segundo o perfil público do WPVulnerability, plugins populares somam dezenas de CVEs; com a edição de arquivos aberta, qualquer brecha vira porta de entrada para reescrever código direto no painel.
Como confirmar que a edição de arquivos foi mesmo desativada no painel?
Atualize o wp-admin e verifique que o item Editor de Tema sumiu de Aparência e o Editor de Plugin sumiu do menu Plugins. Se ainda aparecem, limpe o cache de objeto e revise plugins que recoloquem o menu. Outra checagem: tente acessar a URL theme-editor.php direto; com DISALLOW_FILE_EDIT ativa, o WordPress retorna um aviso de permissão em vez de abrir o editor.
Próximos passos para blindar o painel
Desativar a edição de arquivos é uma das mudanças de segurança com melhor relação esforço-resultado no WordPress: uma linha no wp-config.php que fecha o caminho preferido de quem invade. Combine essa camada com senha forte, autenticação de dois fatores, permissões corretas e um firewall ativo para que a edição de arquivos desligada seja parte de um conjunto, não um gesto isolado. Para aprofundar cada etapa, o FULL Academy reúne tutoriais, guias e checklists de segurança em um só lugar, e o guia de como proteger o site WordPress conecta todas essas camadas num plano único de hardening.
















