# Desativar a edição de arquivos no WordPress em 3 passos

Bloquear a <strong>edição de arquivos</strong> no WordPress fecha o editor de tema e plugin com uma linha no wp-config.php. Segundo o <a href="https://wpscan.com" rel="noopener" target="_blank">WPScan Vulnerability Database (2024)</a>, 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 <a href="https://full.services/glossario/hardening-wordpress/">hardening do WordPress</a> 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 <a href="https://full.services/seguranca-wordpress/">guias de segurança WordPress da FULL</a>.

---

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

<table id="diagnostico-edicao-de-arquivos-wordpress">
  <caption>Edição de arquivos no WordPress: recurso, risco e mitigação</caption>
  <thead>
    <tr>
      <th scope="col">Elemento</th>
      <th scope="col">Comportamento padrão</th>
      <th scope="col">Impacto na segurança</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Editor de Tema</th>
      <td>Grava PHP em functions.php pelo navegador.</td>
      <td>Execução de código com 1 clique se a conta cair.</td>
    </tr>
    <tr>
      <th scope="row">Editor de Plugin</th>
      <td>Edita qualquer arquivo de plugin ativo.</td>
      <td>Backdoor persistente sem log de FTP.</td>
    </tr>
    <tr>
      <th scope="row">DISALLOW_FILE_EDIT</th>
      <td>Constante no wp-config.php que oculta os dois.</td>
      <td>Remove o vetor mais rápido pós-invasão.</td>
    </tr>
  </tbody>
</table>

<p class="wp-caption-text">Legenda: o editor de tema permite gravar PHP direto no servidor, o que torna a edição de arquivos um alvo prioritário.</p>

---

## 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 <a href="https://full.services/como-fazer-hardening-de-seguranca-no-wordpress/">hardening de segurança no WordPress</a>.

---

## 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 <a href="https://nvd.nist.gov/vuln/detail/CVE-2020-35489" rel="noopener" target="_blank">CVE-2020-35489</a> (upload irrestrito de arquivo em versões abaixo da 5.3.2). O Elementor soma 61 CVEs históricos, entre eles o <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-48777" rel="noopener" target="_blank">CVE-2023-48777</a> (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 <a href="https://full.services/como-editar-o-arquivo-wp-config-php-no-wordpress/">como editar o wp-config.php no WordPress</a>.

### 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, <a href="https://full.services/two-factor-authentication-wordpress/">autenticação de dois fatores</a> 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 <a href="https://full.services/plugin-seguranca-wordpress/">plugin de segurança para WordPress</a> e os <a href="https://full.services/controles-htaccess-do-wordpress-mestre/">controles de htaccess</a> 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 <a href="https://full.services/planos">planos da FULL</a> e como o bundle padroniza a segurança. Para validar o estado atual antes de assinar, rode o <a href="https://security.full.services">FULL Scan</a> e veja se algum plugin do seu site está vulnerável agora.

<p class="wp-caption-text">Legenda: o bundle padroniza firewall e bloqueio de edição de arquivos em todos os sites da carteira de uma só vez.</p>

---

<h2 id="faq">Perguntas frequentes sobre desativar a edição de arquivos no WordPress</h2>

<details>
  <summary>O que a constante DISALLOW_FILE_EDIT realmente desativa no WordPress?</summary>
  <p>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.</p>
</details>

<details>
  <summary>Desativar a edição de arquivos quebra a atualização de plugins e temas?</summary>
  <p>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.</p>
</details>

<details>
  <summary>É possível desativar a edição de arquivos sem editar o wp-config manualmente?</summary>
  <p>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.</p>
</details>

<details>
  <summary>Por que o editor de arquivos do wp-admin é um risco de segurança?</summary>
  <p>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.</p>
</details>

<details>
  <summary>Como confirmar que a edição de arquivos foi mesmo desativada no painel?</summary>
  <p>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.</p>
</details>

---

## 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 <a href="https://full.services/academy/">FULL Academy</a> reúne tutoriais, guias e checklists de segurança em um só lugar, e o guia de <a href="https://full.services/como-proteger-site-wordpress/">como proteger o site WordPress</a> conecta todas essas camadas num plano único de hardening.
