Tengo una aplicación ASP.NET MVC 4.
En algunas páginas web o vistas, tengo información mostrada en la tabla. Los valores de columna se representan como enlaces.
Problemas: 1. Cuando muevo el cursor sobre el enlace, su URL está visible en la parte inferior del navegador. 2. Cuando hago clic en el enlace, muestro información del recurso solicitado en la URL. (www.someurl.com/Employee/67 me da información del empleado con id = 67). Ahora, esta URL se muestra en el navegador. Si cambia la URL a www.someurl.com/Employee/88, muestra la información del empleado con id = 88, aunque se supone que el usuario registrado no debe ver la información para el ID del empleado 88
Estas son violaciones graves de seguridad.
Estoy pensando en seguir como posibles soluciones:
-
Enmascaramiento de URL en el nivel de aplicación
-
Codificación Base64 de la URL para acortarla y ofuscarla, de modo que los usuarios no puedan simplemente introducir valores en la URL.
-
@ Html.AntiForgeryToken () y ValidateAntiForgeryTokenValidation mecanismo
¿Existe un enfoque mejor y más seguro que el anterior para resolver este problema?
Saludos,
Suraj