Como Desativar o XML-RPC no WordPress (Método Seguro)

XML-RPC é uma API principal do WordPress que permite aos usuários se conectarem ao seu site WordPress usando aplicativos, ferramentas e serviços de terceiros. Infelizmente, no passado, hackers encontraram maneiras de explorar o XML-RPC para obter acesso a sites WordPress.

Na WPBeginner, ajudamos milhares de usuários a proteger seus sites WordPress e a desativar o XML-RPC. Descobrimos que existem diferentes maneiras de fazer isso, dependendo do seu conhecimento técnico.

Por exemplo, você pode desativar o XML-RPC acessando o arquivo .htaccess ou adicionando um trecho de código. Enquanto isso, se você for um iniciante, existe um plugin que desativa o arquivo principal sem a necessidade de editar o código.

Neste artigo, mostraremos como desativar facilmente o XML-RPC no WordPress usando diferentes métodos.

Desative facilmente o XML-RPC no WordPress

O que é XML-RPC no WordPress?

XML-RPC é uma API principal do WordPress que está habilitada por padrão desde que o WordPress 3.5 foi lançado em 2012. Ele permite que os desenvolvedores usem protocolos XML e HTTPS para se conectar e interagir com seu site WordPress.

Em resumo, você precisa do XML-RPC habilitado para acessar e publicar seu blog remotamente, como quando você deseja usar um aplicativo móvel para gerenciar seu site ou fazer conexões com serviços de automação como Uncanny Automator ou Zapier.

No entanto, se você não estiver usando aplicativos móveis com seu site, alguns especialistas em segurança do WordPress podem aconselhar a desativar o XML-RPC. Isso fecha uma porta que pode ser explorada para invadir seu site.

Dito isso, vamos dar uma olhada em como desativar facilmente a API XML-RPC no WordPress. O método .htaccess é o melhor porque é o menos intensivo em recursos, e os outros métodos são mais fáceis para iniciantes.

Método 1: Desativar o XML-RPC do WordPress com .htaccess (Avançado)

Este método é para usuários avançados porque exige que você edite o arquivo .htaccess do seu site. Recomendamos que iniciantes usem o Método 2 ou 3.

Esta maneira tem várias vantagens, como a capacidade de dar acesso remoto a você e sua equipe, enquanto restringe todos os outros. Também não afetará negativamente o desempenho do seu WordPress, pois desativa as solicitações XML-RPC antes que elas sejam passadas para o WordPress.

Você precisará adicionar o seguinte código ao seu arquivo .htaccess. Você pode fazer isso conectando-se ao seu site usando um cliente FTP ou gerenciador de arquivos. Além disso, os usuários do All in One SEO podem usar a ferramenta de editor integrada do plugin para adicionar o trecho de código, como você pode ver na captura de tela abaixo.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
allow from 123.123.123.123
</Files>
Use o AIOSEO Pro para desativar o XML-RPC do htaccess

Se você deseja dar a um determinado usuário acesso remoto ao seu site, basta substituir ‘123.123.123.123’ na linha 5 pelo endereço IP dele. Você pode adicionar vários endereços IP separando-os com espaços.

Ou, se você quiser desabilitar o XML-RPC completamente, exclua a linha 5 inteira.

Observação: Se você não conseguir localizar o .htaccess, consulte nosso guia sobre por que você não consegue encontrar o arquivo .htaccess no WordPress.

Método 2: Desativar o XML-RPC do WordPress com um Trecho de Código (Recomendado)

Este método exige que você adicione algum código ao seu site WordPress. Se você nunca fez isso antes, confira nosso guia sobre como copiar e colar trechos de código personalizados no WordPress.

WPCode é a maneira mais fácil e segura de adicionar código ao seu site WordPress. Ele ajuda você a gerenciar seus trechos de código e evita que quaisquer erros quebrem seu site.

Neste método, usaremos um dos trechos de código integrados do WPCode para desativar o XML-RPC.

Primeiro, você precisa instalar o plugin gratuito WPCode. Para instruções passo a passo, confira nosso guia passo a passo sobre como instalar um plugin do WordPress.

Após a ativação, vá para Trechos de Código » Adicionar Trecho. A biblioteca WPCode já contém um trecho que desativa o XML-RPC. Você pode encontrá-lo pesquisando por ‘xml.’

Assim que encontrá-lo, você precisa clicar no botão ‘Usar trecho’.

Use a Biblioteca WPCode para desativar o XML-RPC

Em seguida, você precisa mudar o controle deslizante ‘Ativo’ para a posição ‘Ligado’.

Finalmente, certifique-se de clicar no botão ‘Atualizar’ para ativar o trecho em seu site e desativar a API XML-RPC.

Ative o snippet WPCode clicando em Ativar e depois em Atualizar

Método 3: Desativar o XML-RPC do WordPress com um Plugin

Este é um método simples que pode ser usado se você não quiser adicionar nenhuma outra personalização ao seu site com um plugin de trechos de código.

Basta instalar e ativar o plugin Disable XML-RPC-API. Para mais detalhes, veja nosso guia passo a passo sobre como instalar um plugin do WordPress.

O plugin funciona imediatamente e desativará o XML-RPC.

Você pode navegar até XML-RPC Security » XML-RPC Settings para configurar o plugin. Por exemplo, você pode permitir que certos usuários acessem o XML-RPC adicionando seus endereços IP a uma lista de permissões.

As Configurações do Plugin Desativar XML-RPC-API

Testando se o XML-RPC do WordPress está Desativado

Agora você deve verificar se desativou com sucesso a API XML-RPC em seu site WordPress.

Você também pode verificar se o XML-RPC está desativado simplesmente visitando o URL http://example.com/xmlrpc.php em seu navegador. Certifique-se de substituir 'example.com' pelo nome de domínio do seu próprio site.

Se o XML-RPC estiver desativado, você deverá ver a mensagem de erro: 'Forbidden: You don’t have permission to access this resource.'

Esperamos que este artigo tenha ajudado você a aprender como desativar facilmente o XML-RPC no WordPress. Você também pode querer ver nosso guia sobre como adicionar JavaScript facilmente no WordPress e as melhores ferramentas de desenvolvimento 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.

Aviso: Nosso conteúdo é apoiado pelos leitores. 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

46 CommentsLeave a Reply

  1. Obrigado pelo snippet. No final, desativei o XML-RPC usando o WPCode porque parecia a maneira mais fácil, e também posso reativar o XML-RPC facilmente. Ótimo!

  2. no htaccess, a linha:
    allow from 123.123.123.123
    parece que quer ser editada com o meu endereço IP. Mas isso não é dito em lugar nenhum —?

    • Bloquear tentaria limitar o acesso ao recurso, enquanto desabilitar o desligaria completamente. Se você desabilitar, não precisaria se preocupar com alguém acessando por um método diferente.

      Admin

  3. O plugin recomendado Disable XML-RPC não é atualizado há 2 anos. Diz que o plugin não foi testado com as últimas 3 versões do WordPress.

  4. Olá,

    Desabilitar o acesso ao xmlrpc.php também desabilitará o acesso às APIs do WordPress usadas para o desenvolvimento de aplicativos Android/iOS?

  5. Solução encontrada:
    Adicionando as seguintes informações na configuração do nginx:
    # bloco nginx para requisições xmlrpc.php
    location /xmlrpc.php { deny all; }

  6. Eu uso nginx em vez de Apache. Ainda posso usar .htaccess no meu site?
    E preciso armazenar este arquivo no diretório public_html, ou um nível acima dele?

  7. por que permitiríamos 123.123.123.123?

    Se não estamos usando o serviço de forma alguma, por que não permitir que "deny all" seja absoluto?

    • Se eu estiver lendo o código corretamente;
      order deny,allow – coloca deny antes de allow, já que deny é ‘all’ e então allow não é processado
      deny from all – faz o que diz
      allow from 123.123.123.123 – é um placeholder

      Eu entendo que se você tiver um endereço IP fixo, você poderia mudar a ordem para “allow,deny” e substituir 123.123.123.123 pelo seu endereço IP. Isso permitiria seu IP e depois negaria todos os outros.

  8. Thanks WP-Beginner, I’m trying to be baddest WP boy in my neighbourhood and this is exactly why I keep coming back to you guys, each question I have you say; here is the easy way, and here is the RIGHT way :-)

    Eu e meu .htaccess vamos ter uma pequena conversa sobre htpasswrd e essa coisa de XMLRPC que meus clientes nunca precisarão.

    Vocês todos tornaram meu canto da internet um pouco mais seguro, como o MailChimp diria: High Fives!

  9. Ok, vou usar este código, mas quero que o IFTTT funcione no meu site, o que preciso adicionar?

    # Bloquear requisições xmlrpc.php do WordPress

    order deny,allow
    deny from all
    allow from 123.123.123.123

  10. Olá,

    Segui as instruções para bloquear o arquivo xmlrpc.php usando .htaccess, mas não tenho certeza se está funcionando.

    Estou usando o Wordfence security e na visualização de tráfego ao vivo, posso ver que as requisições para o arquivo xmlrpc.php pararam, mas se eu verificar meus logs de acesso

    tail -f /apache2/logs/access_log

    Ainda consigo ver as requisições chegando, mas o código no final mudou de 500 para 403. Estou preocupado que meu plugin WordFence esteja me dando um relatório falso e que eu ainda esteja sendo inundado de spam. Alguém pode me aconselhar?

    Obrigado,

    PhilB

    • Ah, sim! Isso está funcionando perfeitamente, seu XMLRPC está PROIBIDO!

      Código de Status HTTP 403: O servidor entendeu a requisição, mas se recusa a autorizá-la.

  11. Tive um problema estranho…

    Estou usando meus blogs do WordPress com IFTTT e tudo funcionou bem, até que integrei com MaxCDN; o IFTTT parou de funcionar imediatamente. Pesquisei e o problema pode estar relacionado ao XML-RPC que foi desativado.

    Quando verifico meu painel em “Configurações” > “Escrita”, não vejo nada como XML-RPC, Publicação Remota, etc. Verifiquei o banco de dados nas opções, também xml-rpc não está disponível / faltando.

    Preciso ativar o XML-RPC para manter meu IFTTT funcionando.

    Como reativo o XML-RPC; tudo que preciso é um script que posso adicionar em .htaccess ou functions.php para ativar o XML-RPC.

    E por que estou perdendo a funcionalidade XML-RPC no meu painel.

    Obrigado!

  12. Eu estava procurando como adicionar este arquivo xmlprc.php ao meu wordpress, estou usando a versão 4.5.3 e cheguei a esta página. Preciso adicionar este arquivo php porque quando habilito o jetpack recebo um erro de site_inaccessible. Por favor, me diga como resolver este erro, meu site é

    • Conecte-se ao seu site WordPress usando um cliente FTP ou o Gerenciador de Arquivos no cPanel. No diretório raiz do seu site, procure pelo arquivo xmlrpc.php. Se ele estiver lá, tente o passo 2. Se não estiver, baixe uma cópia nova do WordPress. Descompacte e extraia e envie o arquivo xmlrpc.php de volta para o diretório raiz do seu site.

      Passo 2: Verifique o arquivo functions do seu tema WordPress em busca de código que desabilita o XML-RPC.

      Passo 3: Verifique seus arquivos .htaccess e wp-config.

      Admin

  13. Por favor, o que posso fazer para habilitar o xmlrpc no meu site? porque não consigo fazer login usando o aplicativo móvel do wordpress no meu smartphone..

  14. Booyah! Este filtro do WP corrigiu o ataque de script kiddie. Eu ainda bloqueei a pessoa no firewall, mas não preciso ficar de olho nos logs como um falcão para adicionar mais IPs ao firewall. OBRIGADO.

  15. Concordo totalmente em desabilitar o xmlrpc.php em todo o servidor no meu arquivo /etc/httpd/conf/includes/pre_main_global.conf. Mas restam-me estas questões… existe alguma forma de determinar que um plugin específico “PRECISA” do xmlrpc.php para funcionar? Tenho receio de bloquear o acesso a ele e depois ter um problema daqui a 2 meses e não saber que o problema é o facto de eu ter bloqueado o xmlrpc.php anteriormente.

    Existem sinais comuns para procurar num arquivo de log ou algo semelhante que apontem para um bloqueio do xmlrpc.php como causa?

  16. Olá, estou usando o aplicativo WordPress para postar com meu smartphone Android. Agora não consigo fazer login e minhas credenciais de login estão corretas. A resposta que recebi foi 'não conseguimos fazer seu login, não foi possível conectar ao site WordPress'. Você poderia me ajudar a corrigir este erro de login do aplicativo WordPress?

    • Se você desativou o XML RPC, pode não conseguir fazer login usando o aplicativo móvel do WordPress. Procure no arquivo functions.php do seu tema por este código

      add_filter('xmlrpc_enabled', '__return_false');

      Se estiver lá, você precisará removê-lo. Você também pode tentar desativar plugins e ativá-los um por um até encontrar o plugin que está impedindo você de fazer login usando o aplicativo móvel do WordPress.

      Admin

  17. Vale notar que "allow from 123.123.123.123" é opcional e, se usado, deve ser atualizado para incluir seu IP ou o IP do dispositivo que precisa de acesso a xmlrpc.php (seria bom citar exemplos neste artigo).

  18. Estou usando o plugin GoodbyeCaptcha para desativar o XML-RPC e funciona sem problemas enquanto o Jetpack está ativado.
    Espero que ajude

  19. Desculpe, tentei este método muitas vezes. Não funcionou para mim – na verdade, derrubou o front-end (bloqueando o acesso de leitura dos visitantes à página da web) após adicionar esses códigos ao arquivo .htaccess.

  20. Keith, há uma tendência no WordPress de mover funções não relacionadas ao tema do arquivo functions.php para um "plugin específico do site", basicamente um plugin que você ativa apenas em um site exclusivo e que armazena as funções não relacionadas ao tema para esse site.

    Você pode realizar a mesma coisa colocando o código no seu arquivo functions.php.

  21. Oi pessoal
    Desculpem ser um pouco lerdo, mas vocês poderiam explicar melhor… “Tudo o que você precisa fazer é colar o seguinte código em um plugin específico do site:”

    Quais plugins são específicos do site?

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.