No, realmente no. Esa es la madre de todos los agujeros de seguridad. Pregunta si puede configurar una página web que ejecute comandos arbitrarios en la máquina del cliente. ¿Qué sucede si configuro una página web que ejecuta este comando?
rm -rf ~/
Eso eliminaría todos los archivos en su $HOME
. De hecho, recientemente hubo un alboroto cuando se descubrió un error que permitió que esto sucediera. Uno de los posibles vectores de ataque fue engañar al cliente (computadora B en su caso) para que ejecutara un comando bash.
Entonces no, no puede ejecutar código arbitrario en su máquina local a través de un navegador web. No sin iniciar sesión de alguna manera primero. Puede ejecutar JavaScript o comandos de lenguaje similares, pero no tendrán acceso a la sesión de su usuario.
No puede hacer eso en general, pero en un entorno definido, donde puede controlar la máquina B del cliente, puede proponer que la máquina B ejecute un servicio setroot, simplemente puede escribir solo con nodejs o golang, por ejemplo, y hablar con eso servicio cuando reciba el evento. Pero, en cualquier caso, no tiene ninguna posibilidad (o al menos nunca debería tenerla) si no instala algún servicio adicional en la máquina B.
fuente
run("whatever command on machine B");
:?Lo resuelvo usando un servidor nodeJS. (no es un código limpio / final pero funciona)
Computadora A: (servidor)
Computadora B: archivo (cliente) llamado
server.js
y ejecutado connodejs server.js
fuente
PHP puede cambiar el contenido de los archivos de texto cruzando el navegador, por ejemplo en /var/www/.../folder/mytextfie.txt. Solo tiene que obtener la cadena de ese archivo, que puede ser un comando o incluso un comando para iniciar un archivo de script .
Se puede ejecutar un cronjob para verificar si el archivo de texto contiene algún ejecutable.
contexto de ese archivo de texto:
Con el bucle te while es posible ejecutar comandos desde ese archivo de texto.
fuente
Sí .. es posible con neutralinojs .
Puedes usar
Neutralino.os.runCommand()
. Pero en su escenario se puede utilizar el modo de nube Neutralino.fuente