¿Cómo puedo incrustar iframe de forma segura sin restringir su funcionalidad?

13

Me gustaría incrustar un iframe desde un sitio que no sea de confianza en la aplicación web. Iframe:

  • debería poder ejecutar Javascript y los complementos del navegador (Flash, etc.)
  • no debería poder acceder a mi aplicación web a través de Javascript
  • _self, _parent, _top links deberían abrir páginas en el mismo iframe, no en la ventana completa del navegador (no quiero que mi sitio sea reemplazado por otro)
  • Los enlaces _blank deben abrirse en una nueva ventana / pestaña del navegador

(En una palabra, quiero restringir la funcionalidad del sitio incorporado lo menos posible)

¿Es posible hacerlo?

Soy consciente del atributo sandbox de iframe, pero no puedo determinar si se puede hacer con él.

    
pregunta Andrei Botalov 21.12.2012 - 14:47
fuente

1 respuesta

1

El atributo sandbox impedirá la navegación superior de forma predeterminada y se puede configurar para permitir secuencias de comandos usando allow-scripts . La misma política de origen en todos los navegadores actuales debería evitar que cualquier marco que tenga contenido de un origen diferente (host) acceda a su aplicación utilizando JavaScript, el atributo sandbox lo hará incluso para los marcos comunes del mismo origen.

En resumen, el sandbox debería cumplir con sus requisitos, aunque tendría que probar si _blank funciona como se esperaba.

Sin embargo, debe tener en cuenta que no todos los navegadores son compatibles con el atributo sandbox, y los que no lo hacen tratarán el iframe como un no sandbox.

    
respondido por el Jan Schejbal 02.01.2013 - 17:14
fuente

Lea otras preguntas en las etiquetas