Colección de citas famosas - Slogan de motivación - Cómo llamar de forma segura a programas ejecutables locales en el navegador IE

Cómo llamar de forma segura a programas ejecutables locales en el navegador IE

Normalmente, la ejecución de programas ejecutables locales está prohibida en los navegadores. Sin embargo, no se permite la ejecución del navegador, lo que limita objetivamente el uso y la función del navegador. Para solucionar este problema, es necesario ampliar de forma segura la funcionalidad del navegador. Para ampliar las funciones del navegador, una es utilizar tecnología de control o complemento y la otra es utilizar tecnología de miniprograma. Los principales navegadores del mercado, como IR y Netscape, admiten ambas tecnologías. Los controles o complementos se desarrollan mayoritariamente en lenguajes como VC, BC, VB y Delph. Los miniprogramas generalmente se programan mediante el lenguaje iava. Como todos sabemos, el lenguaje Java prohíbe el acceso al sistema de archivos local a través del mecanismo "sandbox", y mucho menos llamar a programas locales para que se ejecuten. Para llamar a programas ejecutables locales a través del navegador, es necesario utilizar tecnología de control o complemento. 1. Los requisitos para llamar de forma segura a programas locales en el navegador deben resolver al menos dos problemas, uno es la seguridad y el otro es la transparencia de la ubicación. Dado que el navegador se ejecuta en el cliente, la seguridad es muy importante. Si no se puede resolver la seguridad, los controles maliciosos que se ejecutan en el navegador pueden propagar virus y dañar el sistema de archivos local, o provocar la parálisis del sistema informático y la fuga de información. Todos los navegadores tienen un nivel de seguridad predeterminado. El nivel de seguridad predeterminado del navegador IE es el nivel de seguridad medio. Bajo este nivel de seguridad, el navegador puede iniciar y ejecutar programas ejecutables locales. Temprano en la mañana, marque la pieza como segura para ejecutar. El segundo es firmar digitalmente el control. Marcar el control como seguro de ejecutar significa que además de la interfaz Iknown necesaria, el control también debe implementar la interfaz de "seguridad de objetos", para que el control pueda funcionar en armonía con el navegador. Firmar digitalmente un control es utilizar un algoritmo de cifrado asimétrico para cifrar el valor hash del control después del procesamiento mediante la función hash para garantizar la integridad y el no repudio del control. Si los controles no están marcados de forma segura o firmados digitalmente, se debe reducir la seguridad del navegador si desea ejecutar el programa ejecutable localmente. Una vez que se reduce la seguridad del navegador, no parece ser un gran problema para la red interna, pero si está en Internet, abre la puerta a la invasión de virus y piratas informáticos. A menos que exista una buena razón, nunca debes reducir la seguridad de tu navegador de manera casual. La llamada transparencia de ubicación significa que ejecutar un programa ejecutable no tiene nada que ver con la ubicación y puede ejecutarse normalmente sin importar dónde esté ubicado. La transparencia posicional no es ajena a nadie que haya escrito controles. Está en todas partes en Windows y los controles son posicionalmente transparentes sin excepción. La solución es utilizar un clsid de 128 bits para identificarlo de forma única. clsid se puede encontrar en todas partes de las páginas HTML y en el registro del sistema. Cuando se utiliza un control, ya sea que el sistema lo registre manual o automáticamente, la relación de mapeo entre el clsid y la ruta del control se establece en el registro. La transparencia de la ubicación se resuelve automáticamente a través de esta relación de mapeo. También podemos solucionar el problema de la transparencia de la ubicación de los programas en ejecución a través del registro. La relación de mapeo aquí se puede establecer como una relación de mapeo entre el nombre de la aplicación y la ruta del programa ejecutable. Utilice el nombre de la aplicación para identificar de forma exclusiva el programa ejecutable, que es equivalente al cmd del control. Utilice el programa de instalación para instalar el programa ejecutable, que es equivalente al registro del control. Los valores clave de los programas ejecutables instalados a través del instalador en Windows están todos en HKEY_LOCALMACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\. No es difícil utilizar el popular software de instalación InstallShield. Al llamar a un programa ejecutable local, busque su ruta de instalación en el registro y combine el nombre de la aplicación y la ruta del programa ejecutable registrada en el valor de la clave del registro para encontrar el programa ejecutable local. El principio es exactamente el mismo que el de la carga y ejecución dinámicas. del mando. 2. Mecanismo de implementación Utilice herramientas de desarrollo que admitan controles, como VC, VB, etc., para desarrollar un control que llame a un programa ejecutable local. Puede denominarse Cyxm—LocalCallCtrl. Además de implementar la interfaz Iknown necesaria. También implemente la interfaz IObjectSafety, que se menciona anteriormente en la interfaz "Objeto de seguridad".

Luego implemente una función que llame a un programa ejecutable local, como localCall (), una vez completado el desarrollo, firme digitalmente el control y podrá usarlo. 1. El núcleo de la interfaz IOBjectSAFETY La interfaz son las dos funciones siguientes: StDMETHODIMP CYXMLOCALCALLLL :: *PDWSUPPORTEDOPTIONS, DWORD — RPC -FAR*PDWENABLEDOPTIONS), StDMethodimp CyxmlocalCallctrl :: :Set—InterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions) Estos dos Las funciones son solo un ejemplo del uso del anidamiento de objetos. Si usa la agregación de objetos para implementarlo, puede que no se vea así, pero los parámetros y funciones de la interfaz El nombre no cambiará. La codificación de estas dos funciones no es complicada. Si no necesita hacer nada, el cuerpo de la función simplemente puede regresar sin escribir ningún código. La razón por la que se escriben estas dos funciones es el requisito del navegador. Al cargar el control, se deben llamar a estas dos funciones, lo que significa que el navegador requiere que usted reconozca que el control que escribe es seguro. Este es el significado técnico de marcar un script seguro como se describió anteriormente. De hecho, el navegador IE admite muchas interfaces, como IDispatch, IHTML-Document2, IHTMLDocument, IHTMLCollection, I-HTMLFormElement, IHTMLInputTextElement, etc. La ampliación de su funcionalidad se logra implementándolos. Por ejemplo, el robo de nombres de usuario y contraseñas de páginas web a través del navegador IE presentado en algunos artículos también utiliza este principio. 2. Firma digital Para firmar digitalmente un control, primero debe crear un certificado digital. El certificado digital se puede obtener en el Centro de Certificación Digital. Si no deseas pagar y tu red no cuenta con un centro de certificación digital, puedes utilizar las herramientas proporcionadas por VC para completarlo. El método específico es utilizar MakeCert. Exe para crear certificados digitales, utilice CabArc. Use Exe para crear paquetes comprimidos, use signcode. exe para firma digital. Después de completar la firma digital, implemente el control en la web y estará listo para usar. 3. Utilice controles si desea llamar a Word. exe software de procesamiento de textos, inserte el siguiente código y programa de script en la página para comenzar. No te olvides de la tolerancia a fallos, es decir, garantizar que el navegador funcione sin problemas incluso cuando no haya ningún programa ejecutable instalado en el sistema.