Pregunta

Estoy familiarizado con el uso del contexto objeto de diseño modelo - un ligero contenedor de contexto en torno a los objetos pasados entre niveles.

Si uno fuera a utilizar el objeto de contexto para el seguimiento de la mancha (que no son de confianza entrada de usuario), o el origen de nivel, que podría ver cómo recibir tier podría filtrar dinámicamente, codificar, o validar en consecuencia.

Por ejemplo:Un usuario envía "HTTP/HTML" datos de contexto que eventualmente se almacena como un archivo en el sistema.El archivo guardar método podría detectar el contexto y decodificar las entidades HTML, asignar un identificador aleatorio para la carga de archivos, y asociar la acción del usuario y el nombre de archivo en la base de datos.

Mi pregunta es:cómo es que el más inteligente de lo que la aplicación de todos depuración, codificación y validación por defecto?Lo que existen casos donde conocer el origen de contexto de mejora de la seguridad más allá de las buenas validación de entrada/codificación?

Estoy trabajando en Java/J2EE/Struts pero esto es generalizable a otros lenguajes y frameworks.

Referencias:

http://www.corej2eepatterns.com/Patterns2ndEd/ContextObject.htm

http://www.cs.wustl.edu/~schmidt/PDF/Contexto-Objeto-Patrón.pdf

http://www.owasp.org/index.php/Category:OWASP_Security_Analysis_of_Core_J2EE_Design_Patterns_Project

Con mi agradecimiento,

-Ben

¿Fue útil?

Solución

No sé que el seguimiento de la mancha entre los niveles de aplicación es la mejor aplicación del patrón de objeto de contexto. Como lo entiendo, un objeto de contexto es un objeto que permanece dentro de un solo nivel y proporciona servicios a múltiples mensajes que pasan a través de ese nivel.

Donde pude ver que este uso es de uso, ya que un mecanismo de seguridad está en la creación de una capa de seguridad explícita dentro de su solicitud. Imagine que a medida que cada usuario se autentica con su sistema, se crea un objeto de contexto de seguridad dentro de la capa de seguridad para ese usuario. El objeto de contexto de seguridad contiene una lista de todos los permisos de ese usuario. Cada solicitud que entra en el sistema de cualquier usuario debe pasar primero a través de la capa de seguridad y evaluarse contra el objeto de contexto de seguridad del usuario.

Si se permite la solicitud, la capa de seguridad lo pasa por la pila a las capas más altas para su procesamiento. Si se niega la solicitud, la capa de seguridad devuelve un error al usuario y el resto de la aplicación no es el más sabio. La centralización de las preocupaciones de seguridad dentro de la capa de seguridad evita la dispersión de los controles de seguridad en las capas de negocios y servicios.

En este caso, el objeto de contexto de seguridad implementa el patrón de objeto de contexto. El objeto de contexto es de larga duración, proporcionando contexto a múltiples solicitudes de usuario, pero no es visible para las capas más altas o inferiores en la pila de solicitud.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top