Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo deshabilitar XML-RPC en WordPress (Método Seguro)

XML-RPC es una API principal de WordPress que permite a los usuarios conectarse a su sitio web de WordPress utilizando aplicaciones, herramientas y servicios de terceros. Desafortunadamente, en el pasado, los hackers han encontrado formas de explotar XML-RPC para obtener acceso a sitios web de WordPress.

En WPBeginner, hemos ayudado a miles de usuarios a asegurar su sitio de WordPress y a deshabilitar XML-RPC. Descubrimos que hay diferentes maneras de hacerlo, dependiendo de su conocimiento técnico.

Por ejemplo, puede deshabilitar XML-RPC accediendo al archivo .htaccess o agregando un fragmento de código. Mientras tanto, si usted es principiante, existe un plugin que deshabilita el archivo principal sin necesidad de editar código.

En este artículo, le mostraremos cómo deshabilitar fácilmente XML-RPC en WordPress utilizando diferentes métodos.

Deshabilita fácilmente XML-RPC en WordPress

¿Qué es XML-RPC en WordPress?

XML-RPC es una API principal de WordPress que se ha habilitado por defecto desde que se lanzó WordPress 3.5 en 2012. Permite a los desarrolladores usar protocolos XML y HTTPS para conectarse e interactuar con su sitio web de WordPress.

En resumen, necesita tener XML-RPC habilitado para acceder y publicar su blog de forma remota, como cuando desea usar una aplicación móvil para administrar su sitio o hacer conexiones a servicios de automatización como Uncanny Automator o Zapier.

Sin embargo, si no estás usando aplicaciones móviles con tu sitio web, entonces algunos expertos en seguridad de WordPress podrían aconsejarte deshabilitar XML-RPC. Esto cierra una puerta que potencialmente podría ser explotada para hackear tu sitio web.

Dicho esto, veamos cómo deshabilitar fácilmente la API XML-RPC en WordPress. El método .htaccess es el mejor porque es el que menos consume recursos, y los otros métodos son más fáciles para principiantes.

Método 1: Deshabilitar XML-RPC de WordPress con .htaccess (Avanzado)

Este método es para usuarios avanzados porque requiere que edites el archivo .htaccess de tu sitio. Recomendamos que los principiantes usen el Método 2 o 3.

Esta forma tiene varias ventajas, como la capacidad de dar acceso remoto a ti y a tu equipo mientras restringes a todos los demás. Tampoco afectará negativamente el rendimiento de tu WordPress, ya que deshabilita las solicitudes XML-RPC antes de que se pasen a WordPress.

Deberás agregar el siguiente código a tu archivo .htaccess. Puedes hacerlo conectándote a tu sitio usando un cliente FTP o un administrador de archivos. Además, los usuarios de All in One SEO pueden usar la herramienta de editor integrada del plugin para agregar el fragmento de código, como puedes ver en la siguiente captura de pantalla.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
allow from 123.123.123.123
</Files>
Usa AIOSEO Pro para deshabilitar XML-RPC desde htaccess

Si deseas otorgar acceso remoto a tu sitio a un usuario determinado, simplemente reemplaza '123.123.123.123' en la línea 5 con su dirección IP. Puedes agregar múltiples direcciones IP separándolas con espacios.

O, si deseas deshabilitar XML-RPC por completo, elimina la línea 5 por completo.

Nota: Si no puedes localizar .htaccess, consulta nuestra guía sobre por qué no puedes encontrar el archivo .htaccess en WordPress.

Método 2: Deshabilitar XML-RPC de WordPress con un fragmento de código (Recomendado)

Este método requiere que agregues algo de código a tu sitio web de WordPress. Si no lo has hecho antes, consulta nuestra guía sobre cómo copiar y pegar fragmentos de código personalizados en WordPress.

WPCode es la forma más fácil y segura de agregar código a tu sitio de WordPress. Te ayuda a administrar tus fragmentos de código y evita que cualquier error rompa tu sitio.

En este método, usaremos uno de los fragmentos de código integrados de WPCode para deshabilitar XML-RPC.

Primero, necesitas instalar el plugin gratuito WPCode. Para obtener instrucciones paso a paso, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Después de la activación, dirígete a Fragmentos de código » Agregar fragmento. La biblioteca de WPCode ya contiene un fragmento que deshabilita XML-RPC. Puedes encontrarlo buscando 'xml'.

Una vez que lo encuentres, necesitas hacer clic en el botón 'Usar fragmento'.

Usa WPCode Library para deshabilitar XML-RPC

A continuación, necesitas cambiar el interruptor 'Activo' a la posición 'Activado'.

Finalmente, asegúrate de hacer clic en el botón 'Actualizar' para habilitar el fragmento en tu sitio y deshabilitar la API XML-RPC.

Activa el fragmento de WPCode haciendo clic en Activar y presionando Actualizar

Método 3: Deshabilitar XML-RPC de WordPress con un plugin

Este es un método simple que se puede usar si no deseas agregar ninguna otra personalización a tu sitio web con un plugin de fragmentos de código.

Simplemente instala y activa el plugin Disable XML-RPC-API. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

El plugin funciona de inmediato y desactivará XML-RPC inmediatamente.

Puedes navegar a XML-RPC Security » XML-RPC Settings para configurar el plugin. Por ejemplo, puedes permitir que ciertos usuarios accedan a XML-RPC agregando sus direcciones IP a la lista blanca.

La configuración del plugin Deshabilitar XML-RPC-API

Comprobando que XML-RPC de WordPress está deshabilitado

Ahora deberías verificar para asegurarte de que deshabilitaste correctamente la API XML-RPC en tu sitio web de WordPress.

También puedes verificar que XML-RPC está deshabilitado simplemente visitando la URL http://example.com/xmlrpc.php en tu navegador. Asegúrate de reemplazar 'example.com' con el nombre de dominio de tu propio sitio web.

Si XML-RPC está deshabilitado, deberías ver el mensaje de error: 'Forbidden: You don’t have permission to access this resource.'

Esperamos que este artículo te haya ayudado a aprender cómo deshabilitar fácilmente XML-RPC en WordPress. También te puede interesar nuestra guía sobre cómo agregar fácilmente JavaScript en WordPress y las mejores herramientas de desarrollo de WordPress.

Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

46 CommentsLeave a Reply

  1. Gracias por el fragmento. Al final, deshabilité XML-RPC usando WPCode porque parecía la forma más fácil, y también puedo revertir XML-RPC fácilmente. ¡Genial!

  2. en htaccess, la línea:
    allow from 123.123.123.123
    Parece que quiere ser editada con mi dirección IP. Pero esto no se indica en ninguna parte —?

    • Bloquear intentaría limitar el acceso a la función, mientras que deshabilitar la desactivaría por completo. Si la deshabilitas, no tendrías que preocuparte de que alguien acceda a ella por un método diferente.

      Administrador

  3. El plugin recomendado Disable XML-RPC no se ha actualizado en los últimos 2 años. Dice que el plugin no ha sido probado con las últimas 3 versiones de WordPress.

  4. Hola,

    ¿Deshabilitar el acceso a xmlrpc.php también deshabilitará el acceso a las API de WordPress utilizadas para el desarrollo de aplicaciones para Android/iOS?

  5. Solución encontrada:
    Agregando la siguiente información en la configuración de nginx:
    # bloque nginx para solicitudes xmlrpc.php
    location /xmlrpc.php { deny all; }

  6. Uso nginx en lugar de Apache. ¿Puedo seguir usando .htaccess en mi sitio?
    ¿Y necesito guardar este archivo en el directorio public_html, o un nivel por encima de él?

  7. ¿Por qué permitiríamos 123.123.123.123?

    Si no estamos usando el servicio en absoluto, ¿por qué no dejar que "deny all" sea absoluto?

    • Si estoy leyendo el código correctamente;
      order deny,allow – pone deny antes que allow, ya que deny es ‘all’ entonces allow no se procesa
      deny from all – hace lo que dice
      allow from 123.123.123.123 – es un marcador de posición

      Entiendo que si tienes una dirección IP fija podrías cambiar el orden a "allow,deny" y reemplazar 123.123.123.123 con tu dirección IP. Eso permitiría tu IP y luego denegaría a todas las demás.

  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 :-)

    Mi .htaccess y yo vamos a tener una pequeña charla sobre htpasswrd y esta cosa de XMLRPC que mis clientes nunca necesitarán.

    ¡Todos ustedes hicieron que mi rincón de la red fuera un poco más seguro, como diría MailChimp: ¡Chócala!

  9. Ok, usaré este código pero quiero que IFTTT funcione en mi sitio web, ¿qué necesito agregar?

    # Bloquear solicitudes de WordPress xmlrpc.php

    orden denegar,permitir
    denegar a todos
    permitir desde 123.123.123.123

  10. Hola,

    He seguido las instrucciones para bloquear el archivo xmlrpc.php usando .htaccess, pero no estoy seguro de si está funcionando.

    Estoy usando la seguridad de Wordfence y en la vista de tráfico en vivo puedo ver que las solicitudes para el archivo xmlrpc.php se han detenido, pero si reviso mis registros de acceso

    tail -f /apache2/logs/access_log

    Todavía puedo ver las solicitudes llegando, pero el código al final ha cambiado de 500 a 403. Me preocupa que mi plugin WordFence me esté dando un informe falso y que todavía me esté inundando de spam. ¿Alguien puede aconsejarme?

    Gracias,

    PhilB

    • ¡Oh sí! ¡Eso está funcionando perfectamente, tu XMLRPC está PROHIBIDO!

      Código de estado HTTP 403: El servidor entendió la solicitud pero se niega a autorizarla.

  11. Tengo un problema extraño…

    Estoy usando mis blogs de WordPress con IFTTT y todo funcionaba bien, hasta que lo integré con MaxCDN; IFTTT dejó de funcionar inmediatamente. Hice una investigación y el problema podría estar relacionado con XML-RPC que fue desactivado.

    Cuando reviso mi panel en "Configuración" > "Escritura", no veo nada como XML-RPC, Publicación remota, etc. He revisado la base de datos en opciones, tampoco está disponible / falta xml-rpc.

    Necesito activar XML-RPC para que mi IFTTT siga funcionando.

    ¿Cómo reactivo XML-RPC? Todo lo que necesito es un script que pueda agregar en .htaccess o functions.php para activar XML-RPC.

    ¿Y por qué me falta la funcionalidad XML-RPC en mi panel?

    ¡Gracias!

  12. Estaba buscando cómo agregar este archivo xmlprc.php a mi wordpress, estoy usando la versión 4.5.3 y llegué a esta página. Necesito agregar este archivo php porque cuando habilito jetpack, obtengo un error de site_inaccessible. Por favor, díganme cómo resolver este error, mi sitio es

    • Conéctate a tu sitio de WordPress usando un cliente FTP o el Administrador de archivos en cPanel. En el directorio raíz de tu sitio web, busca el archivo xmlrpc.php. Si está ahí, entonces intenta el paso 2. Si no está, descarga una copia nueva de WordPress. Descomprímelo y extráelo, y sube el archivo xmlrpc.php de nuevo al directorio raíz de tu sitio.

      Paso 2: Revisa el archivo functions de tu tema de WordPress en busca del código que deshabilita XML-RPC.

      Paso 3: Revisa tus archivos .htaccess y wp-config.

      Administrador

  13. Por favor, ¿qué puedo hacer para habilitar xmlrpc en mi sitio? Porque no puedo iniciar sesión usando la aplicación móvil de WordPress en mi smartphone.

  14. ¡Booyah! Este filtro de WP arregló el ataque de script kiddie. Todavía bloqueé a la persona con el firewall, pero no tengo que vigilar los registros como un halcón para agregar más IPs al firewall. GRACIAS.

  15. Estoy totalmente de acuerdo con deshabilitar xmlrpc.php a nivel de servidor en mi archivo /etc/httpd/conf/includes/pre_main_global.conf. Pero me quedan estas preguntas... ¿hay alguna forma de determinar que un plugin en particular "NECESITA" xmlrpc.php para funcionar? Me preocupa bloquear el acceso a él y luego tener un problema 2 meses después y no saber que el problema se debe a que bloqueé xmlrpc.php anteriormente.

    ¿Hay alguna señal común que buscar en un archivo de registro o algo similar que apunte a un bloqueo de xmlrpc.php como causa?

  16. Hola, estoy usando la aplicación de WordPress para publicar con mi smartphone Android. Ahora no puedo iniciar sesión y mis credenciales de inicio de sesión son correctas. La respuesta que obtuve fue "no podemos iniciar sesión, no pudimos conectarnos al sitio de WordPress". ¿Podrías ayudarme a solucionar este error de inicio de sesión de la aplicación de WordPress?

    • Si desactivaste XML RPC, es posible que no puedas iniciar sesión usando la aplicación móvil de WordPress. Busca en el archivo functions.php de tu tema este código

      add_filter('xmlrpc_enabled', '__return_false');

      Si está ahí, entonces necesitas eliminarlo. También puedes intentar desactivar plugins y activarlos uno por uno hasta que encuentres el plugin que te impide iniciar sesión usando la aplicación móvil de WordPress.

      Administrador

  17. Vale la pena notar que "allow from 123.123.123.123" es opcional, y si se usa, debe actualizarse para incluir tu IP, o la IP del dispositivo que necesita acceso a xmlrpc.php (sería bueno citar ejemplos en este artículo).

  18. Estoy usando el plugin GoodbyeCaptcha para desactivar XML-RPC y funciona sin problemas mientras Jetpack está activado.
    Espero que ayude

  19. Lo siento, he intentado este método muchas veces. No funcionó para mí; de hecho, bloqueó el front-end (impidiendo el acceso de lectura de los visitantes a la página web) después de agregar estos códigos al archivo .htaccess.

  20. Keith, hay una tendencia en WordPress a mover las funciones no relacionadas con el tema fuera del archivo functions.php y a un "plugin específico del sitio", básicamente un plugin que solo activas en un sitio web único y almacena las funciones no relacionadas con el tema para ese sitio.

    Puedes lograr lo mismo colocando el código en tu archivo functions.php.

  21. Hola a todos
    Disculpen mi torpeza, pero ¿podrían explicarme... "Todo lo que tienen que hacer es pegar el siguiente código en un plugin específico del sitio:"

    ¿Qué plugins son específicos del sitio?

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.