Vistas:

Pregunta:
¿Por qué no se muestra el Cliente web en un iframe?
El Cliente web es una solución de software que permite gestionar, editar y compartir documentos. Puede instalar el Cliente web en su propio servidor y acceder a él a través de un navegador. También puede incrustar el Cliente web en un iFrame para integrarlo en otro sitio web. Un iFrame es un elemento HTML que permite insertar otra página web en una página web.
Sin embargo, es posible que el cliente web no se muestre en un iFrame,si la dirección del iFrame es diferente a la del cliente web. Esto se debe a las directrices de seguridad del navegador que estés utilizando. Muchos fabricantes de navegadores han reforzado las directrices de seguridad de sus navegadores para evitar los ataques cross-site. Los ataques cross-site son ataques en los que un atacante intenta robar o manipular datos de otro sitio web incrustando un iFrame o un script en un sitio web.
Para evitar este tipo de ataques, muchos navegadores utilizan la llamada Política del Mismo Origen. Esta política establece que un iFrame sólo puede cargar contenido de la misma fuente que el sitio web que contiene el iFrame. El origen viene determinado por la combinación de Protocolo, Host y Puerto que se determinen. Si uno de estos componentes es diferente, la fuente se considera diferente y el iFrame se bloquea.

Esto significa que si se llama al Cliente web con una dirección que es diferente de la página de su iFrame, el Cliente web no se mostrará en ella. Por ejemplo, si llama al Cliente web con la dirección https://iframe.example.com pero el iFrame muestra la dirección http://iframe.example.com, el iFrame se bloqueará porque el protocolo ( https frente a http ) es diferente, o si utiliza la dirección http://webclient. example.com porque el host ( webclient vs. iframe ) es diferente.

Respuesta:
Para resolver este problema, debes asegurarte de que la dirección del cliente web y la dirección del iFrame tienen el mismo origen, es decir, que utilizan el mismo protocolo, el mismo host y el mismo puerto. Como alternativa, puedes probar a utilizar un navegador diferente que utilice una política de mismo origen menos estricta o ajustar la configuración de seguridad de tu navegador para permitir iFrames de otras fuentes. Sin embargo, debes tener en cuenta que esto supone un riesgo para la seguridad, ya que puede hacerte más vulnerable a los ataques entre sitios.
Otra forma de eludir la política del mismo origen es utilizar CORS o servidores proxy. CORS significa Cross-Origin Resource Sharing y es un mecanismo que permite a los servidores web determinar a qué otras fuentes se les permite acceder a sus recursos. CORS utiliza cabeceras HTTP para controlar la comunicación entre diferentes fuentes. Si desea utilizar CORS, debe configurar las cabeceras apropiadas en el servidor que aloja el cliente web. También debes asegurarte de que el navegador que utilizas soporta CORS.
Un servidor proxy es un servidor que actúa como intermediario entre tu navegador y el cliente web. Recibe tu petición y la reenvía al cliente web como si procediera de la misma fuente. De esta forma, puedes evitar la política del mismo origen utilizando el servidor proxy como intermediario. Sin embargo, debe encontrar o configurar un servidor proxy que reenvíe sus solicitudes al cliente Web.

La configuración de CORS o del servidor proxy es una cuestión técnica que debe realizar su propio administrador de servidores o proveedor de servicios de TI. DocuWare no es responsable de la configuración o el funcionamiento de su servidor o red. DocuWare sólo le ofrece el Cliente Web como una solución de software que puede instalar y utilizar en su servidor.

Más información:
"Working with Same-Origin Policy Restrictions" - https://www.codecentric.de/wissens-hub/blog/working-origin-policy-restrictions
"Enabling cross-origin requirements (CORS) in ASP.NET Core" - https://learn.microsoft.com/de-de/aspnet/core/security/cors?view=aspnetcore-8.0

La siguiente información sirve como solución ad hoc si está instalando un sistema de cliente y se encuentra con un escenario de dominio cruzado. Antes de que el sistema del cliente entre en funcionamiento, el tema de dominio cruzado descrito anteriormente debe haberse implementado en otro lugar.

Desde DocuWare 6.5, el Cliente Web se suministra con una mayor configuración de seguridad.
Es decir, si el Cliente Web se integra en un iFrame de una página que no contiene el mismo dominio o dirección ( cross domain ), éste se deniega de forma predeterminada.
Para desactivar este mecanismo de seguridad, debe realizarse la siguiente configuración ( también después de cada actualización menor o mayor ):

  • Guarde el archivo "C:\Program Files\DocuWare\Web\Platform\Web.config"
    o versiones anteriores "C:\Program Files (x86)\DocuWare\Web\Platform\Web.config"
  • Abra el archivo "Web.config".
  • Busque la siguiente entrada:
    <location path="WebClient">
    <system.webServer>
    <httpProtocol>
    <customHeaders>
    <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
    </httpProtocol>
    </system.webServer>
    </location>
  • Elimine esta entrada o coméntela (como en este ejemplo):
    <!-- <location path="WebClient">
    <system.webServer>
    <httpProtocol>
    <customHeaders>
    <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
    </httpProtocol>
    </system.webServer>
    </location> -->
  • Guarde los cambios
  • No es necesario reiniciar el componente.
El cliente web ya se puede utilizar en un iframe de dominio cruzado y se puede visualizar.
Si utiliza DocuWare 6.5, también debe instalar Hotfix 21:
https://dwsupport.blob.core.windows.net/supportdownloads/hotfixes/6.5/DW6.5_Hot21.zip
 
Advertencia: Si desactiva la opción SAMEORIGIN de X-Frame, se abre una brecha de seguridad. Los atacantes pueden utilizarla para enviar solicitudes de otros orígenes y hacerlas pasar por ataques de cross site scripting.
Por lo tanto, se recomienda mantener la opción SAMEORIGIN y ejecutar ambas aplicaciones (en las que DocuWare está incrustado como iFrame y DocuWare propiamente dicho) en el mismo servidor.
 
Laúltima generación de navegadores también prohíbe la comunicación entre dominios sin HTTPS.
Por lo tanto, a partir deDocuWare 7. 4se aplica lo siguiente: no se admite HTTP para el uso de DocuWare dentro de un iframe (excepto para Firefox o si el dominio del iframe es idéntico al dominio del navegador).
Consulte los cambios técnicos en DocuWare 7. 4 .
 
KBA es aplicable SÓLO a organizaciones locales.
 
Tenga en cuenta: Este artículo es una traducción del idioma inglés. La información contenida en este artículo se basa en la(s) versión(es) original(es) del producto(s) en inglés. Puede haber errores menores, como en la gramática utilizada en la versión traducida de nuestros artículos. Si bien no podemos garantizar la exactitud completa de la traducción, en la mayoría de los casos, encontrará que es lo suficientemente informativa. En caso de duda, vuelva a la versión en inglés de este artículo.
Comentarios (0)