• Resuelto Dani

    (@danimzyec)


    Hola, espero que me puedan aclarar porque tengo una idea, pero bastantes dudas y miedo de hacerlo de forma insegura, en la creación de peticiones desde cliente a servidor.

    Tengo una página personalizada hecha por código, estoy recogiendo información y se la tengo que pasar al servidor. La información que voy a pasar va a ser para varias cosas. Mi duda es general para entender que opciones hay y cuál es la mejor en cada caso, por eficiencia, seguridad…

    Por ejemplo, voy a coger información de productos y en el servidor, añadir esos productos al carrito. En este caso es para hacer una petición sobre información de wordpress.

    Por otro lado, voy a enviar datos al servidor y combinarlo con datos de la base de datos y devolver un cálculo o información.

    He visto que hay varias opciones como la API REST de WP, llamadas Ajax con Fetch o admin-ajax.php, etc… Llevo un buen cacao jeje. Me gustaría entender cuando se debería usar cada opción y sobre todo, si hay alguna mejor que no sea la que yo he nombrado. Os agradecería muchísimo si me ponéis algún enlace o ejemplo de la llamada para entenderlo.

    Muchas gracias!!

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Moderador kallookoo

    (@kallookoo)

    Hola,

    No existe una u otra, solo debes comprender para que se utilizan y dependiendo del proyecto usar una u otra.

    Por ejemplo para cargar contenido dinamico en una web con WordPress se suele usar ajax, salvo que sea headless con React, etc… entonces se usa la API y cuando se tiene que conectar dos sitios se suele usar la API con algun tipo de inicio de sesion.

    Sobre la seguridad, todo dependera de si el visitante inicia sesion o no. Ya que si se deben guardar datos esta claro que debe haber un tipo de inicio de sesion para que nadie no autorizado pueda acceder o implementar algun tipo de medida para evitarlo. Como por ejemplo crear un sistema de tokens con bearer para que nadie obtenga las credenciales del sitio.

    Tambien comentas que obtendrias informacion o calculos. Si esos datos (envio y respuesta) no contiene informacion personal o sensible, puedes usar el metodo que quieras ya que no deberia producir ningun agujero de seguridad.

    Para la autentificacion de un usuario cuando no es directamente sobre el WordPress, es recomendable desde mi punto de vista usar tokens con una vida util para evitar que alguien reutilice un token o obtenga los datos de inicio de sesion desde el mismo codigo.

    Iniciador del debate Dani

    (@danimzyec)

    Muchas gracias por tu respuesta!

    Entiendo lo que me dices, es que todo lo que buscaba, decía que usase la API y me parecía extraño, siendo que no es headless ni conecto con otras Apps. En la carga de precios para que puedan añadir a carrito, al filtrar el usuario, hay que calcular el precio y si que es «sensible». Aunque no es algo que vayan a modificar y haré la validación en el lado del servidor, no quería que estuviera accesible desde fuera con la API, por eso mi duda de usarla o no.

    Para hacer la llamada con Ajax, tendrías un ejemplo de como hacerlo? Un ejemplo básico que yo pueda entender y copiar. Lo que hay que poner en el lado del servidor y en el de cliente.

    Muchas gracias!!

    Moderador kallookoo

    (@kallookoo)

    Hola,

    Sobre la api yo uso este filtro «rest_authentication_errors» y dependiendo del sitio compruebo el usuario, etc… y si no lo pasa devuelvo un WP_Error asi evito sustos.

    Sobre el ajax, exiten varios sitios que puedes visitar, y te recomiendo que uses el admin-ajax.php

    Iniciador del debate Dani

    (@danimzyec)

    Muchas gracias!!

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • El debate ‘Peticiones a servidor desde lado cliente’ está cerrado a nuevas respuestas.