tutorial tag pagina net mvc establecer español crear asp asp.net-mvc web-config forms-authentication asp.net-authorization

asp.net-mvc - tag - tutorial asp.net mvc 5 español



¿Cómo bloquear rutas en ASP.NET MVC? (1)

Eche un vistazo a Asegurar su aplicación ASP.NET MVC 4 y el nuevo Atributo AllowAnonymous .

No puede usar los archivos de enrutamiento o web.config para asegurar su aplicación MVC (cualquier versión). La única forma admitida para proteger su aplicación MVC es aplicar el atributo Autorizar ...

Citar

MVC usa rutas y no asigna direcciones URL a ubicaciones de archivos físicos como WebForms, PHP y servidores web tradicionales. Por lo tanto, el uso de web.config definitivamente abrirá un agujero de seguridad en su sitio.

El equipo del producto tendrá una comunicación si esto cambia en el futuro, pero por ahora es sin excepción la regla.

Ejemplos:

Comience con el proyecto ASP.Net MVC predeterminado (internet / intranet).

Edite el archivo web.config agregando:

<location path="Home"> <system.web> <authorization> <deny users="*"> </authorization> </system.web> </location>

Ejecute el proyecto, de forma predeterminada usará la Ruta predeterminada /Home/Index y verá el contenido, simplemente omitiendo el archivo web.config sin cambios en la plantilla predeterminada. ¿Por qué? Porque el conducto de ASP.Net compara la URL solicitada con la ubicación especificada en web.config. Sin embargo, después de que se haya ejecutado el evento de autorización en la tubería, el enrutamiento tiene lugar (enrutamiento predeterminado o enrutamiento personalizado) y permite el acceso al área supuestamente restringida.

Además, cualquier MVC Redirect() también pasará por alto las mismas medidas de seguridad que una vez que el enrutamiento tenga lugar después del evento de canalización de autorización.

No creo que nadie deba aceptar la seguridad de trabajar sorta . Hazlo correctamente la primera vez, no seas flojo y utiliza algo que no fue diseñado para ser utilizado con una tecnología específica.

Estoy jugando con MVC 4 por primera vez para ver qué se ha cambiado / agregado / etc. en comparación con MVC 3.

Para comenzar, creé una aplicación web MVC 4 en blanco y comencé a construir desde cero.

Una de las primeras cosas que noté que es diferente en MVC 4 es el hecho de que las siguientes configuraciones de web.config no afectan la accesibilidad de las páginas web:

<configuration> <location path=""> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> ..... </configuration>

De vuelta en MVC 3, la configuración de autorización anterior negaría a todos los usuarios anónimos el acceso a cualquier contenido dentro del sitio. Sin embargo, si agrego las mismas configuraciones a un archivo MVC4 Web.config, un anónimo tiene dominio libre sobre una URL que elija.

¿Qué debo hacer en MVC 4 para bloquear todas las rutas como lo hice en MVC 3?