Início » Segurança para WordPress » A luta entre DISALLOW_FILE_EDIT versus DISALLOW_FILE_MODS
Segurança para WordPress

A luta entre DISALLOW_FILE_EDIT versus DISALLOW_FILE_MODS

Qual utilizar DISALLOW_FILE_EDIT ou DISALLOW_FILE_MODS? Conheça a diferença entre as constantes e se dê bem com a segurança para WordPress.
Escrito Por Leandro Vieira em abril de 2020 /6 min de leitura
Conteúdo escrito por humano

Quando se trata de segurança para WordPress a constante DISALLOW_FILE_EDIT é comumente lembrada, já a sua concorrente DISALLOW_FILE_MODS é confundida, ignorada ou desconhecida. Afinal, qual devemos utilizar? Qual a diferença entre elas? Devo utilizar as duas?

De imediato a resposta é não para a última pergunta, e no decorrer deste artigo veremos em detalhes as respostas para os demais questionamentos e estenderemos o assunto para abordarmos o benefício de cada uma, como fazer o uso correto, como os desenvolvedores de plugins podem ser impactados e os tipos de ataques que elas previnem.

Sobre o editor de plugins e temas nativos do WordPress

DISALLOW_FILE_EDIT desabilitada

A imagem acima ilustra a localização do editor de temas e plugins na administração do WordPress. Essa funcionalidade é nativa e através dela é possível editar códigos PHP dos plugins e temas. Com ele é possível, também, além da edição dos códigos desses componentes, executar seus próprios códigos.

Por que desabilitar o editor de plugins e temas do WordPress

DISALLOW_FILE_EDIT em uso e Editor padrão de plugins e temas do WordPress desativado

DISALLOW_FILE_EDIT em uso e Editor padrão de plugins e temas do WordPress desativado

Convenhamos que usuários com pouco conhecimento técnico não deve ter a sua disposição uma funcionalidade como essa, é um risco para a segurança e perfeita funcionalidade da aplicação. A chance de fazer algo errado é real. Coisas simples como alterações de CSS requer um cuidado com a compatibilidade entre os navegadores de internet. A falta de um “;” (ponto e vírgula) após uma instrução PHP, por exemplo, paralisará o código.

Além disso se algum atacante conseguir acesso a sua conta ele poderá injetar códigos maliciosos facilmente através do editor. Essa funcionalidade é a primeira tentativa dos atacantes, uma vez que ela permite a execução de códigos PHP.

Se a disponibilidade do editor de temas e plugins do WordPress é perigoso para usuários não técnicos, se ele pode ser utilizado por atacantes para injetar códigos e considerando que os desenvolvedores organizam seus códigos de forma versionada, não há motivos para mante-lo.

Para ilustrar uma cenário clássico. Um atacante tem conhecimento do seu nome de usuário, veja como dificultar a descoberta. Através de um ataque de força bruta “descobre” sua senha e acessa a área administrativa com todos os privilégios. Com o editor disponível rodará seus códigos para os diversos fins: injetar bakdoors – saiba mais a respeito, enviar e-mails em massa, consultar as informações disponíveis no banco de dados e a lista continua.

Como desabilitar o editor de plugins e temas do WordPress

Desabilitar o editor de plugins e temas do WordPress é simples e requer o uso da constante DISALLOW_FILE_EDIT ou DISALLOW_FILE_MODS com o valor true no arquivo wp-config.php da sua instalação WordPress. Para exemplificar com códigos, teríamos algo assim:

define( 'DISALLOW_FILE_EDIT', true );

ou

define( 'DISALLOW_FILE_MODS', true );

A diferenca entre DISALLOW_FILE_EDIT e DISALLOW_FILE_MODS

Os nomes das constantes são bem sugestivos quanto as suas funcionalidades. A constante DISALLOW_FILE_EDIT vai proibir a edição de arquivos através do editor nativo do WordPress.

Com o uso da constante DISALLOW_FILE_EDIT o acesso a página do Editor é bloqueado

Com o uso da constante DISALLOW_FILE_EDIT o acesso a página do Editor é bloqueado

A constante DISALLOW_FILE_MODS implementa a mesma funcionalidade que a DISALLOW_FILE_EDIT, no entanto evita também que os plugins e temas sejam instalados e atualizados, bem como o próprio core do WordPress. Se você considerar o uso da constante DISALLOW_FILE_MODS seja responsável com o processo de atualização do WordPress e seus componentes, e não precisa utilizar em conjunto a constante DISALLOW_FILE_EDIT, uma vez que a primeira também implementa a funcionalidade da segunda.

Com o uso da constante DISALLOW_FILE_MODS o acesso a página de atualização da plataforma é bloqueado

Com o uso da constante DISALLOW_FILE_MODS o acesso a página de atualização da plataforma é bloqueado

Os tipos de ataques evitados ao fazer uso das constantes DISALLOW_FILE_EDIT e DISALLOW_FILE_MODS

Toda implementação de segurança ajuda a dificultar a vida do atacante e deixar seu site mais seguro. Fazer uso das constantes DISALLOW_FILE_EDIT ou DISALLOW_FILE_MODS ajuda prevenir que os atacantes possa executar seus códigos maliciosos caso ele ganhe acesso privilegiado ao painel administrativo do WordPress.

É uma camada adicional de proteção que somada as outras práticas de segurança vai ajudar seu WordPress ficar mais seguro e protegido.

As capacidades e o impactos para plugins e temas

O uso das constantes DISALLOW_FILE_EDIT ou DISALLOW_FILE_MODS impactará as capacidades dos usuários em relação as suas atividades de gestão. É importante ficar atento ao impacto causado para saber como lidar e antever possíveis impactos. Seja na gestão da plataforma, como no impacto aos plugins e temas em uso.

O uso da constante DISALLOW_FILE_EDIT é equivalente a remover de todos os usuários as capacidades (capabilities) edit_themes, edit_plugins e edit_files.

Já as capacidades update_plugins, delete_plugins, install_plugins, upload_plugins, update_themes, delete_themes, install_themes, upload_themes e upload_core são impactadas com o uso da constante DISALLOW_FILE_MODS.

Desenvolvedores de plugins e temas devem ficar atentos a essa questão. Se as capacidades citadas forem utilizadas é possível que elas não estejam disponíveis com o uso da constante. Esteja atento ao fato e se realmente seu plugin ou tema considerar o uso da verificação dessas capacidades considere exibir uma mensagem de alerta.

Qual utilizar DISALLOW_FILE_EDIT ou DISALLOW_FILE_MODS?

No mínimo uma delas você deve considerar o uso. A DISALLOW_FILE_MODS é mais restritiva e impacta o processo de instalação de temas e plugins, bem como suas atualizações e a do próprio WordPress. O tipo de projeto, de negócio e perfil dos usuários vai te balizar sobre caminho seguir. Conhecendo a funcionalidade e impacto de cada uma delas você tomará a decisão mais acertada.

Leandro Vieira

Uma das grandes referências de WordPress no Brasil, entusiasta e evangelista da plataforma. Fundador e CEO da Apiki, empresa especializada no desenvolvimento web com WordPress.
Qual nota você da para este artigo?
Ruim

O que você achou disso?

Clique nas estrelas

Média da classificação 0 / 5. Número de votos: 0

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Excelente
Artigos Relacionados

  1. Rodrigo Vieira Eufrasio da Silva
    Bom dia Leandro, nossa excelente artigo, parabéns. É muito interessante essas temas que envolve seguranca, para quem quer se tornar um especialista em WordPress. Não pare de publicar esse tipo de conteúdo.
  2. Marcelo Batista
    Boa Noite, excelente dica, acabei de colocar define( 'DISALLOW_FILE_EDIT', true ); em meu site.
  3. […] A luta entre DISALLOW_FILE_EDIT versus DISALLOW_FILE_MODS […]
  4. […] A luta entre DISALLOW_FILE_EDIT versus DISALLOW_FILE_MODS […]

Construa seu site WordPress sob medida com os maiores especialistas em WordPress da America Latina
Conheça a Apiki

Faça um comentário
Cadastre-se rápido

Fazer Login