Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Validación de esquema en la entrada y en la salida

5 tareas · 35 min · Principiante

Validar contra el contrato es la forma más barata de rechazar lo que no debería llegar al código y de detener lo que no debería salir de él. Pero la pasarela solo valida lo que el esquema dice, y solo bloquea si alguien le pidió bloquear. Droguerías Tasajera activó la validación en su API de domicilios y te entrega los esquemas, la configuración del validador y un día de sus decisiones.

0 de 5 · 0%

Objetivo de la sala

Validar contra el contrato es la forma más barata de rechazar lo que no debería llegar al código y de detener lo que no debería salir de él. Pero la pasarela solo valida lo que el esquema dice, y solo bloquea si alguien le pidió bloquear. Droguerías Tasajera activó la validación en su API de domicilios y te entrega los esquemas, la configuración del validador y un día de sus decisiones.

Validar con un esquema es un modelo positivo: en lugar de buscar lo malo, se describe lo único que es aceptable y se rechaza todo lo demás. Un esquema bien escrito fija el tipo de cada propiedad, sus longitudes, sus rangos, la lista cerrada de valores cuando la hay, cuáles son obligatorias y, con additionalProperties: false, que no se acepte ninguna propiedad que no esté declarada. Desde la versión 3.1, los esquemas de OpenAPI son JSON Schema, y en JSON Schema lo que no se prohíbe se permite: un objeto sin esa palabra acepta cualquier propiedad extra.

La validación de entrada no reemplaza la codificación por contexto ni la autorización: un texto puede tener la longitud correcta y aun así terminar en una consulta mal construida. Lo que sí hace es reducir mucho lo que llega al código y cortar de raíz las propiedades que nadie esperaba.

Responde para continuar

Un esquema de objeto en OpenAPI 3.1 no dice nada sobre propiedades adicionales. ¿Qué pasa con una propiedad que no está declarada?

Ver pista de ayuda

Fíjate en la palabra que hay que escribir para prohibirlas.

Abre el laboratorio y lee domicilios-v1.yaml. Compara cómo están acotadas las propiedades de texto de la solicitud con las de la dirección. Hay una que no tiene ni longitud máxima, ni patrón, ni lista de valores, y el registro de validación muestra lo que llegó por ella.

Responde para continuar

¿Qué propiedad de texto de la solicitud de domicilio no tiene ningún límite en el esquema?

Ver pista de ayuda

Una de las peticiones aceptadas trae más de dieciocho mil caracteres en ese campo.

validacion.yaml dice que la pasarela rechaza propiedades no declaradas solo si el esquema lo pide. El esquema de la dirección lo pide; el de la solicitud no. Lee registro-validacion.txt: el validador anota en cada entrada las propiedades no declaradas que encontró.

Responde para continuar

¿Cuántas solicitudes de domicilio fueron aceptadas aunque traían al menos una propiedad no declarada?

Ver pista de ayuda

Cuenta solo las entradas aceptadas con la lista de no declaradas no vacía. La rechazada por la dirección no cuenta.

La validación de salida compara la respuesta del servicio con su esquema antes de entregarla. Configurada para bloquear, impide que salga un campo que nadie declaró; configurada para registrar, solo deja constancia mientras el dato llega al cliente. Lee qué modo eligió Tasajera y qué anotó el validador en las respuestas.

Responde para continuar

¿Qué propiedad no declarada salió en las respuestas de estado del domicilio? Escríbela tal como la anota el validador.

Ver pista de ayuda

Busca los avisos de salida, no las entradas.

Las propiedades que se colaron en la entrada no son inocentes: el costo del envío y la prioridad los decide Tasajera, no el cliente, así que si el servicio llegara a leerlas sería una asignación masiva. Y el teléfono personal del repartidor sale hacia cualquier cliente que consulte su domicilio. La corrección vive en dos sitios: el contrato y la configuración del validador.

Responde para continuar

¿Qué conjunto de cambios corrige los tres hallazgos de la API de domicilios?

Ver pista de ayuda

Hay un ajuste para cada hallazgo: uno sobre propiedades extra, uno sobre longitud y uno sobre la salida.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad