Desactivar la REST API

Descripción

¡El plugin más completo para controlar el acceso a la API REST de WordPress!

Funciona como una instalación ‘configúralo y olvídalo’. Simplemente subir y actualizar, y toda la API REST no será accesible a los usuarios anónimos de la web.

Pero si necesitas permitir el acceso a algunos endpoints, puedes hacerlo también. Ve a la página de Ajustes y puedes añadir rápidamente endpoints individuales a una lista blanca (o ramas enteras de endpoints) en la API REST.

Puedes hacer esto incluso por roles de usuario, por lo que tus usuarios anónimos tendrán un conjunto de reglas mientras los usuarios de WooCommerce tendrán otro mientras tu Suscriptores, Editores y Administradores tendrán las suyas propias. NOTA: Por defecto, todos los roles de usuario definidos tendrán acceso a toda la API REST hasta que elija modificar dicha configuración.

Para la mayoría de las versiones de WordPress, este plugin devolverá un error de autenticación si el usuario no tiene permitido acceder al endpoint. Para soporte heredado, WordPress 4.4, 4.5 y 4.6 utilice el filtro rest_enabled proporcionado para desactivar toda la API REST.

Capturas

  • El JSON devuelto por un sitio web con la API desactivada mediante filtros (versiones de WP 4.4, 4.5, 4.6)
  • El JSON devuelto por un sitio web con la API desactivada mediante métodos de autenticación (WP versiones 4.7+)
  • La página de Ajustes te permite añadir endpoints específicos registrados en la API REST a una lista blanca, por rol de usuario

Instalación

  1. Sube el directorio disable-json-api al directorio /wp-content/plugins/ mediante FTP
  2. De forma alternativa, sube el fichero disable-json-api_v#.#.zip a la página Plugins->Añadir Nuevo’ en tu área de administración de WordPress.
  3. Activa el plugin desde el menú ‘Plugins’ de WordPress

FAQ

¿Cómo sé si este plugin está funcionando?

Mientras tengas sesión iniciada en WordPress como usuario, la API REST funcionará como siempre. Por esto, debes utilizar un navegador nuevo – o el modo incógnito de Chrome – para probar tu sitio web con una sesión limpia. Ve a tudominio.com/wp-json/ (o tudominio.com/?rest_route=/ si tienes los permalinks desactivados) mientras no tengas SESION INICIADA para probar los resultados. Verás que devolverá un error de autenticación si el plugin está activo. «Sólo usuarios autenticados podrán acceder a la API REST.»

¿Éste plugin desactiva todas las API REST instaladas en mi sitio web?

Este plugin SÓLO tiene la intención de desactivar los endpoints accesibles vía la API REST del núcleo que es parte de WordPress. Si un plugin o un tema ha implementado su propia API REST (no confundir con implementar su propio endpoint mediante la API de WordPress) este plugin no tendrá efecto sobre ella.

Reseñas

29 de diciembre de 2023
The plugin does what it says on the tin, without being pretentious. Absolutely fantastic!
14 de septiembre de 2023
I always start my WordPress installations with this plugin (among a few other ones). A must have on all sites. Thank you.
3 de abril de 2023
The plugin still works for me on WordPress 6.2. It's great to have the option to allow API access where I need it and block everything else.
26 de enero de 2023
Allows locking the WP API behind auth and selectively allowing it where needed. Despite the lack of plugin updates, the author does have an active github repo so don't let that put you off.
20 de enero de 2023
Blocking the REST API entirely breaks plugins that require this functionality, so being able to selectively enable routes is perfect. I recommend this plugin to everyone who uses Independent Analytics to secure their site while still enabling analytics to be recorded.
25 de abril de 2024
This is a very good plugin with the options, and it could still work now, but we can not verify compliance. Please update. And do not forget to update the .txt file that shows tested Wordpress.
Leer todas las 37 reseñas

Colaboradores y desarrolladores

«Desactivar la REST API» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Desactivar la REST API» está traducido en 13 idiomas. Gracias a los traductores por sus contribuciones.

Traduce «Desactivar la REST API» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.8

  • Probado hasta WP v6.3
  • Añadido filtro dra_error_message para que los desarrolladores puedan personalizar el mensaje de error de acceso
  • Solucionado bug que causaba errores fatales si se activaba el plugin en instalaciones ejecutando el plugin LearnPress
  • Modificado el requerimiento mínimo a PHP 5.6 (antes 5.3) y WordPress 4.9 (antes 4.4). Añadiendo comentarios docblock para soporte mínimo.

1.7

  • Probado hasta WP v5.8
  • Reemplazado el uso de filemtime() con el número de versión del plugin para puesta en cola de ficheros estáticos. ¡Gracias a @tangrufus por avisar!
  • Solucionado error de lógica para reglas de permiso por defecto basadas en roles. ¡Gracais a @msp1974 por el reporte!
  • Algunas pequeñas actualizaciones de estilo de código

1.6

  • Probado hasta WP v5.6
  • Añadido soporte para gestionar el acceso a los endpoints por rol de usuario
  • Algunos pequeños cambios internos para mantener lo anterior

1.5.1

  • Probado hasta WP v5.5

1.5

  • Probado hasta WP v5.3
  • Añadido requisito de versión mínima de PHP y de WordPress
  • Solucionado pequeño error para prevenir rutas vacías involuntarias
  • Pequeñas actualizaciones de textos y añadido de textdomain a las funciones de traducción que no lo tenían

1.4.3

  • Añadido load_plugin_textdomain() para i18n

1.4.2

  • Solucionada incidencia que causaba desbloqueo no intencionado de endpoints cuando otro WP_Error existía antes que este plugin hiciera su trabajo

1.4.1

  • Solucionada impresión de la URL en la página principal de Plugins en el Dashboard de WP

1.4

  • Probado con WP v4.8
  • Probado con PHP 5.3+
  • Añadida página de ajustes
  • Administradores del sitio pueden ahora añadir a la lista blanca rutas en las que deseen permitir acceso anónimo
  • Añadido filtro dra_allow_rest_api a la comprobación is_logged_in(), para que los desarrolladores puedan tener más ajuste fino con los permisos
  • Gracias a @tangrufus por toda la ayuda recibida en esta versión

1.3

  • Probado con WP v4.7
  • Añadida nueva funcionalidad para mostrar errores de autenticación en 4.7+ para usuarios sin sesión iniciada

1.2

  • Probado con WP v4.5
  • Eliminado de acciones que publican información REST en la head y en la cabecera

1.1

  • Actualizado para soportar los nuevos filtros creados en la API 2.0 beta

1.0

  • Lanzamiento inicial