Pregunta

Estoy desarrollando una página web que necesita para mostrar, en un iframe, un informe servidos por el servidor SharePoint de otra compañía. Son bien con esto.

La página que estamos tratando de hacer en el marco flotante nos está dando-Opciones X-Frame: SAMEORIGIN que hace que el navegador (Internet Explorer 8) al menos a negarse a representar el contenido en un marco.

En primer lugar, esto es algo que pueden controlar o es algo SharePoint sólo lo hace por defecto? Si les pido que desactivar esta opción, podría incluso hacerlo?

En segundo lugar, ¿puedo hacer algo para decirle al navegador ignorar esta cabecera HTTP y simplemente hacer que el marco?

¿Fue útil?

Solución

Si la segunda empresa es feliz para acceder a su contenido en un iframe entonces tienen que tomar la restricción fuera - que pueden hacer esto con bastante facilidad en el IIS config.

No hay nada que puedas hacer para evitarlo y todo lo que hace el trabajo debe conseguir rápidamente parcheado en una revisión de seguridad. No se puede decir que el navegador simplemente hacer que el marco si el encabezado de contenido de código dice no permitido en marcos. Eso haría más fácil para el robo de sesiones.

Si el contenido es obtener sólo lo haces datos no colocar en ese entonces usted podría conseguir el lado del servidor proxy de página y el contenido sin la cabecera, pero entonces cualquier posterior puesto debe ser invalidada.

Otros consejos

ACTUALIZACIÓN 2019: puede X-Frame-Options de derivación en un <iframe> usando mi X-Frame-Bypass de componentes web. Se extiende el elemento IFrame mediante el uso de múltiples CORS proxies y se puso a prueba en el último Firefox y Chrome.

Se puede usar de la siguiente manera:

  1. (Opcional) Incluya el elementos personalizados con una función de Extiende polyfill para Safari:

    <script src="https://unpkg.com/@ungap/custom-elements-builtin"></script>
    
  2. Incluir el módulo de derivación JS X-Frame-:

    <script type="module" src="x-frame-bypass.js"></script>
    
  3. Introduzca el X-Frame-bypass Elemento de medida:

    <iframe is="x-frame-bypass" src="https://example.org/"></iframe>
    

Los X-Frame-Options cabecera es una característica de seguridad aplicada a nivel del navegador.

Si usted tiene control sobre su base de usuarios (IT Dept de aplicación Corp), podría intentar algo así como un script de Greasemonkey (si se puede a) Greasemonkey realice la distribución en todo el mundo, y b) destacar la secuencia de comandos de una manera compartida) .. .

Como alternativa, puede delegar su resultado. Crear un punto final en su servidor, y tiene ese punto final abrir una conexión con el punto final de destino, y simplemente hacia atrás tráfico embudo.

En cuanto a la segunda pregunta - puede usar Fiddler filtros a X-Frame-Options cabecera de respuesta ajustado manualmente a algo así como ALLOW-FROM * . Pero, por supuesto, este truco sólo funcionará para usted -. Todavía otros usuarios no podrán ver el contenido iframe (si no lo hacen de la misma)

Sí Fiddler es una opción para mí:

  1. Abrir menú violinista> Reglas> Reglas Personalizar (esto edita efectivamente CustomRules.js).
  2. Para el OnBeforeResponse función
  3. Añadir las siguientes líneas:

    oSession.oResponse.headers.Remove("X-Frame-Options");
    oSession.oResponse.headers.Add("Access-Control-Allow-Origin", "*");
    
  4. Recuerde guardar el guión!
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top