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.

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)
- Método 2: Desativar o XML-RPC do WordPress com um Trecho de Código (Recomendado)
- Método 3: Desativar o XML-RPC do WordPress com um Plugin
- Testando se o XML-RPC do WordPress está Desativado
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>

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

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.

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.

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.

Jiří Vaněk
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!
Pete Mason
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 —?
Christine
Existe diferença entre desabilitar e bloquear?
WPBeginner Support
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
Rashmi K
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.
WPBeginner Support
Para nossa posição sobre o aviso de não testado, você gostaria de dar uma olhada em nosso artigo abaixo:
https://www.wpbeginner.com/opinion/should-you-install-plugins-not-tested-with-your-wordpress-version/
Admin
Nikhil
Olá,
Desabilitar o acesso ao xmlrpc.php também desabilitará o acesso às APIs do WordPress usadas para o desenvolvimento de aplicativos Android/iOS?
WPBeginner Support
Isso dependeria da API que os próprios aplicativos estão usando.
Admin
Vyom
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; }
Vyom
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?
WPBeginner Support
Se você estiver usando nginx, não poderá usar htaccess
Admin
Vyom
Obrigado pela resposta. Então existe uma alternativa para nginx?
WPBeginner Support
Você adicionaria o plugin específico do site ou o plugin mencionado anteriormente no artigo.
Chinecherem Somto
Olá, é no arquivo .htaccess na raiz do site que vou colar o código?
WPBeginner Support
Yes, the .htaccess in your site’s root folder is where you would add the .htaccess code
Admin
Mojtaba Rezaeian
Obrigado, autor.
WPBeginner Support
You are welcome Mojtaba
Admin
Bapi
Como usar múltiplos IPs ou um intervalo de IPs como 123.123.123.1, 2, 3, …… 100,101
malcolm
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?
Edward
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.
David Hoy
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!
WPBeginner Support
Olá David,
Thanks for the kind words. We are glad you find WPBeginner helpful
Admin
Cezar
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
PhilB
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
David Hoy
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.
Raymundo
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!
Muhammad Ammar Ashfaq
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 é
WPBeginner Support
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
omonaija
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..
WPBeginner Support
Se você estiver usando um plugin de segurança no seu site WordPress, verifique suas configurações.
Admin
Mook
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.
WPBeginner Support
É por isso que usamos Sucuri.
Admin
Alex
É porque a Sucuri age como o plugin Disable XMLRPC?
Se sim, posso remover meu plugin Disable XMLRPC,
Obrigado
Alex
WPBeginner Support
A Sucuri age como um firewall entre seu site e os usuários. Ela bloqueia qualquer atividade suspeita antes que ela possa chegar ao seu site.
Chad
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?
Soumitra
Olá, acabei de instalar o plugin, Disable XML-RPC
Vamos ver!
Phranq
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?
WPBeginner Support
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');1-click Use in WordPress
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
Josiah
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).
Natalie
Estou usando o plugin GoodbyeCaptcha para desativar o XML-RPC e funciona sem problemas enquanto o Jetpack está ativado.
Espero que ajude
ATI
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.
Gretchen Louise
Desativá-lo desta forma impede este problema? http://theaffluentblogger.com/operating-a-website/wordpress-xmlrpc-php-vulnerability-affects-shared-hosting-sites/ Tenho uma amiga cujo site está constantemente travando por causa de seu arquivo xmlrpc sendo atacado.
Equipe Editorial
Sim, isso impedirá o ataque em certa medida.
Admin
Christopher Ross
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.
Keith Davis
Obrigado Chris
Parece que vocês já cobriram isso.
https://www.wpbeginner.com/beginners-guide/what-why-and-how-tos-of-creating-a-site-specific-wordpress-plugin/
A propósito – o que aconteceu com o seu sistema de comentários?
Era Livefyre, depois algo relacionado ao Twitter e Facebook e agora?
Keith Davis
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?