✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Solicitudes remotas con wp_safe_remote_get

15

Ayer, compartí una publicación sobre cómo usar wp_remote_get, pero omití una función alternativa: wp_safe_remote_get. El objetivo original era usar la primera publicación para mostrar:

  1. Lo que acepta la función original,
  2. Cómo usar la función original,
  3. Lo que devuelve la función original,
  4. Cómo se ve una implementación.

Y luego iba a echar un vistazo a wp_safe_remote_get. Pero hay un desafío: tengo amigos inteligentes. Poco después de publicar la publicación, recibo una respuesta de Roy :

¡Gracias, Roy! (Asegúrate de decirle "¡Hola!". 🙂

Pero en serio, el seguimiento de la publicación de ayer es exactamente eso: wp_safe_remote_get. Y es cómo determinar la diferencia en las dos funciones y cuándo usarías una sobre la otra.

wp_safe_remote_get

Directamente de los documentos de la API, aprendemos :

Esta función es ideal cuando la solicitud HTTP se realiza a una URL arbitraria. La URL se valida para evitar redirección y solicitar ataques de falsificación.

Y al igual que su contraparte, acepta una URL y una serie de argumentos que pueden especificar cómo se realiza la solicitud.

Además, al igual que wp_remote_get, también devuelve una matriz de los datos de respuesta o una instancia de WP_Errorsi la solicitud falla.

El uso de esta función no es diferente al uso de la anterior, pero plantea la pregunta:

¿Cuándo usamos uno sobre el otro? Más específicamente, ¿cuándo usamos wp_remote_getversus wp_safe_remote_get?

Leer la fuente

Cuando te enfrentas a una situación como esta, lo mejor que puedes hacer es leer la fuente:

  1. wp_remote_get
  2. wp_safe_remote_get

Si lee los enlaces anteriores, notará que este último rechaza las "URL no seguras" que determina wp_http_validate_url a través de una serie de comprobaciones avanzadas.

Pero aún así, ¿cuál uso?

Esto todavía deja la pregunta sin respuesta, ¿no es así? Creo que es fácil hacer la declaración general de que siempre debe usar wp_safe_remote_get (o wp_safe_remote_post, para el caso).

Sin embargo, todos los proyectos son diferentes.

Por ejemplo, si está trabajando en un complemento que solo se usará en una intranet y tiene control sobre, digamos, una lista blanca de URL que se puede pasar a la función, entonces está bien usar el primero.

Sin embargo, si está exponiendo este último a los usuarios, use siempre la versión segura de la función.

En breve

Mi regla general es esta (y es similar a la desinfección):

Si los usuarios van a interactuar con la función, asegúrese de que estén interactuando con la versión más segura posible del código.

De lo contrario, hay demasiado en riesgo.

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More