Non, pas vraiment. C'est la mère de tous les trous de sécurité. Vous demandez si vous pouvez configurer une page Web qui exécute des commandes arbitraires sur la machine du client. Et si je configure une page Web qui exécute cette commande:
rm -rf ~/
Cela supprimerait tous les fichiers de votre fichier $HOME
. En fait, il y a eu récemment un tollé lorsqu'un bug a été découvert qui a permis que cela se produise. L'un des vecteurs d'attaque possibles incitait le client (l'ordinateur B dans votre cas) à exécuter une commande bash.
Donc non, vous ne pouvez pas exécuter de code arbitraire sur votre machine locale via un navigateur Web. Pas sans vous être d'abord connecté. Vous pouvez exécuter JavaScript ou des commandes de langage similaires, mais ils n'auront pas accès à la session de votre utilisateur.
Vous ne pouvez pas le faire en général, mais dans un environnement défini, où vous pouvez contrôler la machine cliente B, vous pouvez proposer que la machine B exécute un service setroot, vous pouvez simplement écrire par vous-même avec nodejs ou golang par exemple et parler à cela service lorsque vous recevez l'événement. Mais dans tous les cas, vous n'avez aucune chance (ou du moins vous ne devriez jamais avoir de chance) si vous n'installez pas de service supplémentaire sur la machine B.
la source
run("whatever command on machine B");
?Je le résous en utilisant un serveur nodeJS. (pas de code propre / final mais son fonctionnement)
Ordinateur A: (serveur)
Ordinateur B: fichier (client) appelé
server.js
et exécuté avecnodejs server.js
la source
PHP peut changer le contenu des fichiers texte traverser le navigateur par exemple dans /var/www/.../folder/mytextfie.txt Vous n'avez qu'à récupérer la chaîne de ce fichier, qui peut être une commande ou même une commande pour démarrer un fichier de script .
un cronjob peut être exécuté pour vérifier si le fichier texte contient un exécutable.
contexte de ce fichier texte:
Avec la boucle while, il est possible d'exécuter des commandes à partir de ce fichier texte.
la source
Oui .. c'est possible avec neutralinojs .
Vous pouvez utiliser
Neutralino.os.runCommand()
. Mais dans votre scénario, le mode cloud Neutralino peut être utilisé.la source