Saltar al contenido

Wordpress – ¿La mejor manera de eliminar xmlrpc.php?

Ten en cuenta que en la informática un error suele tener más de una soluciones, por lo tanto aquí compartiremos la mejor y más eficiente.

Solución:

Desde WordPress 3.5 esta opción (XML-RPC) está habilitado de forma predeterminada y la posibilidad de desactivarlo desde WordPress dashboard se ha ido.

Agregue este fragmento de código para usarlo en functions.php:

// Disable use XML-RPC
add_filter( 'xmlrpc_enabled', '__return_false' );

// Disable X-Pingback to header
add_filter( 'wp_headers', 'disable_x_pingback' );
function disable_x_pingback( $headers ) 
    unset( $headers['X-Pingback'] );

return $headers;

Aunque hace lo que dice, puede volverse intensivo cuando un sitio está bajo ataque al golpearlo.
Es mejor que utilice el siguiente fragmento de código en su .htaccess expediente.

# Block WordPress xmlrpc.php requests

order allow,deny
deny from all

O use esto para deshabilitar el acceso a la xmlrpc.php archivo del bloque del servidor NGINX.

# nginx block xmlrpc.php requests
location /xmlrpc.php 
    deny all;

Tenga en cuenta que la desactivación también puede tener un impacto en los inicios de sesión a través de dispositivos móviles. Si estoy en lo correcto, la aplicación móvil de WordPress necesita esto.
Consulte el Codex para obtener más información sobre el uso de XML-RPC.

  • Realice siempre una copia de seguridad de los archivos antes de editarlos o agregarlos.

Editar/Actualizar

@Prosti, -Tienes toda la razón- sobre las opciones que RESTful API ofrecerá para WordPress!

Olvidé mencionar esto. Ya debería haber sido integrado en el núcleo (WordPress versión 4.1) que no era posible en ese momento. Pero por lo que parece, será core en WordPress 4.5.

La alternativa por el momento es este plugin: WordPress REST API (Version 2)
Puedes usarlo hasta Restful API también es el núcleo de WordPress.
Fecha prevista para el lanzamiento de WordPress 4.5. (12 de abril de 2016 (+3 sem))

Para aquellos que estén interesados ​​en RESTfulen Stackoverflow es una wiki comunitaria muy agradable.

Cuando tiene la capacidad de bloquearlo a través de la configuración de su servidor web, las sugerencias de @Charles son buenas.

Si solo puede deshabilitarlo usando php, el xmlrpc_enabled filtro no es el camino correcto. Como se documenta aquí: https://developer.wordpress.org/reference/hooks/xmlrpc_enabled/ solo deshabilita los métodos xml rpc que requieren autenticación.

En su lugar, utilice el xmlrpc_methods filtro para deshabilitar todos los métodos:

Puede probar si funciona enviando una solicitud POST a xmlrpc.php con el siguiente contenido:


    system.listMethods

Si el filtro funciona, solo deberían quedar 3 métodos:



    
        
            
                
                    
                        
                            system.multicall
                        
                        
                            system.listMethods
                        
                        
                            system.getCapabilities
                        
                    
                
            
        
    

puedes probarlo rápidamente con curl:

curl -X POST 
  -H 'Cache-Control: no-cache' 
  -H 'Content-Type: application/xml' 
  -d 'system.listMethods' 
  https://your-wordpress-site.com/xmlrpc.php

Estamos utilizando el archivo htaccess para protegerlo de los piratas informáticos.

# BEGIN protect xmlrpc.php

order allow,deny
deny from all

# END protect xmlrpc.php

Si te ha sido de ayuda este post, te agradeceríamos que lo compartas con otros seniors y nos ayudes a difundir este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *