• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Core / Deshabilitar la REST API de WordPress

Deshabilitar la REST API de WordPress

Deshabilitar la REST API de WordPress

[ hace 4 meses ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

optimización seguridad

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

La funcionalidad de REST API en WordPress permite comunicar tu sitio con otros sistemas externos, sin embargo si no usas esta funcionalidad y estas buscando mantener tu sitio seguro y optimizado tal vez debas evaluar desactivarla.

 

Generalidades

Puedes comprobar que tienes activa la REST API usando las siguientes URL en tu navegador y reemplazando tudominio.com .

Con esta url veras todas las endpoints o rutas disponibles

tudominio.com/wp-json/wp/v2/

Por ejemplo:

tudominio.com/wp-json/wp/v2/posts
tudominio.com/wp-json/wp/v2/users

 

REST API habilitada sólo para los administradores

Una de las mejores opciones es limitar el uso de esta funcionalidad sólo a los administradores del sitio, para esto podemos usar el siguiente código.

add_filter( 'rest_authentication_errors', function( $result ) {
    if ( ! empty( $result ) ) {
      return $result;
    }

    if ( ! current_user_can( 'administrator' ) ) {
      return new WP_Error( 'rest_not_admin', 'No estas autorizado.',  ['status' => 401] );
    }
    
    return $result;    
});

En el código anterior:

  • Usamos el Hoook de filtro rest_authentication_errors, que hace referencia a una función anónima con un parámetro de resultado
  • Por defecto la variable $result es NULL, es decir no se esta usando la autorización
  • Dentro de la función comprobamos si $result tiene algún valor, es decir, si no esta vacía la devolvemos, ya que es posible por ejemplo que algún otro plugin o código ya este controlando la autorización
  • Si la variable $result esta vacía entonces hacemos una comprobación de cualquier tipo, en nuestro caso comprobamos si el usuario actual tiene privilegios de administrador
  • Si no cumple esta condición entonces devolvemos un objto WP_Error

 

Puedes agregar este código como parte del archivo functions.php de tu tema hijo.

 

Conclusión

Como has podido comprobar, puedes limitar el uso de la funcionalidad de REST API en WordPress de manera simple directamente a través de código y que sólo sea accesible para usuarios administradores del sitio.

 

¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores:

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Agregar endpoints a la API REST de WordPressAgregar endpoints a la API REST de WordPress
  • REST API en WordPressCómo usar la REST API de WordPress
  • Guardar las búsquedas internas en WordPressGuardar las búsquedas internas en WordPress
  • Roles y Capacidades en WordPressCómo usar Roles y Capacidades en WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (2 votos, promedio: 4,50 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Presentación

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Mostrar categorías con descripción en entradas WordPress

Página de inicio y Página de entradas en WordPress

WP CLI: Interfaz de línea de comandos para WordPress

Desactivar la actualización para plugins específicos

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2023 Todos los derechos reservados