Restringir las solicitudes de API Rest de WordPress a mi dominio
⏰ 2 minutos de lectura
Hombre de la lluvia
Tengo un sitio web de WordPress que uso solo para completar publicaciones de blog y algunas publicaciones privadas en tipos de publicaciones personalizadas. En otro sitio web, estoy usando la API REST para mostrar las publicaciones. Si uso un software como Postman, puedo mostrar datos de la API REST.
¿Cómo puedo evitar solicitudes de API REST no autorizadas al dominio www.example.com? Entonces, si la solicitud no proviene de www.mysite.com, ¿está bloqueada?
Básicamente, evita que mis tipos de publicaciones personalizadas (example.com) sean visibles para el resto de la API si no proviene de mysite.com
Puede deshabilitar la solicitud externa agregando esto en su wp-config.php (Además, puede especificar el dominio que no desea bloquear de esta manera).
Para poder actualizar el núcleo de WordPress, los complementos y los temas que son de https://wordpress.org/themes/ asegúrese de agregar api.wordpress.org a WP_ACCESSIBLE_HOSTS. Si usas un tema no alojado en https://wordpress.org/themes/ póngase en contacto con el autor del tema y pregunte por el dominio desde donde se descargan los archivos del tema.
Una forma de restringir las solicitudes REST es enganchar en rest_api_init con prioridad 1, e incluye en la lista blanca las IP que desees. En este ejemplo, restrinjo el acceso REST solo al servidor:
/**
* Disables WordPress Rest API for external requests
*/
add_action('rest_api_init', function() {
$whitelist = ['127.0.0.1', "::1"];
if(!in_array($_SERVER['REMOTE_ADDR'], $whitelist)){
die('REST API is disabled.');
}
}, 1);
esta acción no parece funcionar en mi instalación de wp: la coloqué en el archivo function.php del tema pero no tuvo efectos
– johnnyontheweb
13 de mayo a las 12:15
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información
Mira esto para la autenticación de la API REST de WP v2.wp-api.org/guide/autenticación
– Sagar Bahadur Tamang
13 de febrero de 2019 a las 5:10