por explorer » 2006-05-27 03:53 @203
Se podría hacer con ActiveX, pero a) sólo funciona en windows y con el Internet Explorer, y b) esta tecnología a dado tantos problemas de seguridad que la propia Micro$oft se ha planteado quitarla definitivamente.
Se puede hacer de la siguiente manera. Como no se puede arrancar un ejecutable desde JavaScript, se puede al menos, tener un ejecutable ya instalado en el ordenador del cliente, que esté arrancado y escuchando en un determinado puerto (puede estar instalado como servicio de windows). Lo más normal ho en día es tener un Apache o un Tomcat.
Desde JavaScript, y por orden del cliente, para 'arrancar' el programa, realmente lo que estaríamos haciendo es una petición http al programa que está escuchando. Por ejemplo, el usuario puede pulsar en la página html un enlace de este tipo: http://127.0.0.1:8086/?cmd=dir&arg1=camino.
De esta forma, el programa que está en el propio ordenador del cliente (127.0.0.1), está escuchando por el puerto 8086 y recibe los argumentos que debe ejecutar.
Naturalmente, la seguridad deberá ser máxima:
1.- el programa que recibe la llamada DEBE comprobar que el comando a ejecutar está en su lista de comandos permitidos.
2.- los argumentos están dentro de los rangos de valores permitidos.
Esta es la solución que yo he visto más frecuentemente para poder interactuar una máquina desde una página web.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES