Solución:
MVC5 agrega automáticamente el encabezado HTTP X-Frame-Options con SAMEORIGIN
. Esto evita que su sitio se cargue en un iframe
.
Pero podemos apagar esto en Application_Start
en el Global.asax.cs
.
Ejemplo
protected void Application_Start()
{
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
}
Actualizar
He escrito una publicación sobre este MVC5 que evita que su sitio web se cargue en un IFRAME
Prueba algo como esto en Global.asax
:
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("X-Frame-Options");
}
EDITAR:
Mira la respuesta de Colin Bacon. Es más correcto que el mío.
En resumen, no elimine este encabezado si no desea ejecutar su sitio en IFRAME porque abrirá una vulnerabilidad de falsificación. Pero si aún desea eliminarlo, use AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
en Application_Start
, es una forma más limpia de hacer esto.
Si desea un poco más de flexibilidad, aquí hay un ActionAttribute que agrega / elimina encabezados basados en una lista blanca. Si el referente no está en la lista blanca, entonces el encabezado SAMEORIGIN se deja en su lugar. Iba a pegar el código, pero SO se queja de la longitud.