sábado, 16 de mayo de 2015

webs dinámicas seguras

Por favor, si alguien conoce algún lenguaje de programación o framework o toolkit que permita especificar con nombres propios los datos que se aceptan, y que procese las llamadas como fuesen transacciones, que me lo indique (le estaré eternamente agradecido).

Mi sueño, por ejemplo, en pseudo-java:

doPost(....,.....)
{
  OnlyText  fullName = input.getParameter('fullName');
  otras instrucciones..
  OnlyNumber age = input.getParameter('age');

}

Y que las clases OnlyText y OnlyNumber sean capaces, ellas solas, de alimentar una estructura de datos si le llega un carácter inválido, tipo "<" o algo que no es un número, ignorar las otras instrucciones y al salir del método llamar a la página de error correspondiente con los datos de los errores.
Sí, como si fuese una base de datos, al entrar en el método hay un beginTransaction implícito, y si todo sale bien hay un commit implícito y si sale mal un rollback respondiendo con los datos de los errores.

Otra posibilidad es poner el tipo en la llamada al getParameter('fullName', OnlyText);

Por supuesto, estas clases se tienen que poder mejorar con tipos más concretos (rango de números, por ejemplo), con validaciones de expresiones regulares (sanas) para texto.

El problema con los esquemas donde se separa la validación del código es que no se hace la validación. La mayoría solo se centran en el código.

Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.

No hay comentarios:

Publicar un comentario