Pregunta

Esto es MFC y CHTMLVIEW, pero probablemente se aplica a todos los usos de control web de IE.

Cuando el control web está navegando a una página en algunos sitios, estamos obteniendo la ventana emergente de advertencia de contenido mixto HTTP / HTTPS.

¿Hay alguna bandera, comando o una clave de registro específica de EXE que se pueda configurar, mientras que nuestro programa se está ejecutando que deshabilitará la advertencia?Aún mejor, ¿podemos elegir la respuesta "sí" o "no"?

No controlamos el sitio web para que "Fije la página web" no es una opción.Nuestro programa se está ejecutando en PC de los clientes, por lo que "Entra en la configuración de IE", tampoco es una buena solución.

¿Fue útil?

Solución

Implementar un administrador de seguridad personalizado < / a> en la clase del sitio de control utilizada por la clase derivada de CHTMLVIEW para manejar urlaction_html_mixed_content con un código de éxito. El sitio de control es la implementación de MFC del sitio del cliente ActiveX, A partir de los cuales se utiliza el control de WebBrowser en las consultas de CHTMLVIEW, las capacidades de host .

Si usa MFC 7.0 o superior, debe reemplazar el sitio de control a través de una función de sobreridrado createControlsite . En MFC 6.0 solo puede reemplazar el contenedor de control a nivel mundial por llamando a afxenablecontrolcontainer con su propio CoccManager que anula el Método de creación.

Después de reemplazar el sitio de control, agregue ISERVICEPROVIDER y las interfaces de seguridad (, iinternetsecuritymanager, opcionalmente iinternetsecuritymanagerex e iinternetsecuritymanagerex2) a través de begin_interface_part / end_interface_part macros en la clase del sitio de control. Si no está familiarizado con las macros de MFC, compruebe TN038: MFC / OLE IUNKNOWN Implementación . Su implementación debe devolver INET_E_DEFAULT_ACT_ACT, a menos que cuando el método sea ProcessUrtActionActionActionActionActionActionActionActionActionActionEx / ProcessurLactionEx2 y el código es urlaction_html_mixed_content, entonces necesita devolver S_OK. Rellenar la dirección de PPOLICY con urlpolicy_allow para permitir silenciosamente el contenido mixto, o urlpolicy_disallow no permitirá rechazar. Use URLPOLICY_QUERY para preguntar al usuario cuando sea necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top