¿Cómo puede saber si el estado de visualización en una aplicación ASP.Net ha sido manipulado?
Pregunta
Durante una discusión sobre seguridad, un desarrollador de mi equipo preguntó si había alguna manera de saber si se había manipulado el estado de visualización.Me da vergüenza decir que no sabía la respuesta.Le dije que lo averiguaría, pero pensé en darle a alguien de aquí la oportunidad de responder primero.Sé que hay alguna validación automática, pero ¿hay alguna forma de hacerlo manualmente si la validación de eventos no está habilitada?
Solución
Directiva de página EnableViewStateMac
Otros consejos
ViewState de forma predeterminada está codificado en MIME y codificado con una clave MAC (ya sea de la máquina o del archivo web.config), lo que ayuda a evitar la manipulación (es decir,la decodificación explota).También puede cifrar y comprimir ViewState si lo desea para obtener mayor protección y menos gastos generales, respectivamente.Ver Estado de vista de MS y CodeProject.com
Es posible que puedas hacerlo manualmente, pero simplemente estarías implementando el mismo algoritmo que ya existe para ti.Generalmente es una mala idea deshabilitar la validación de ViewState en una página.