Nie, naprawdę nie. To jest matka wszystkich luk bezpieczeństwa. Pytasz, czy możesz skonfigurować stronę internetową, która wykonuje dowolne polecenia na komputerze klienta. Co się stanie, jeśli skonfiguruję stronę internetową, na której działa to polecenie:
rm -rf ~/
Spowoduje to usunięcie wszystkich plików w twoim $HOME
. W rzeczywistości ostatnio pojawiło się zamieszanie, gdy wykryto błąd, który pozwolił na to. Jednym z możliwych wektorów ataku było nakłonienie klienta (w twoim przypadku do komputera B) do uruchomienia polecenia bash.
Więc nie, nie można wykonać dowolnego kodu na komputerze lokalnym za pomocą przeglądarki internetowej. Nie bez pierwszego logowania. Możesz uruchamiać komendy JavaScript lub podobnego języka, ale nie będą one miały dostępu do sesji użytkownika.
Zasadniczo nie można tego zrobić, ale w zdefiniowanym środowisku, w którym można sterować maszyną kliencką B, można zaproponować, aby maszyna B uruchomiła usługę setroot, można po prostu napisać samodzielnie, na przykład za pomocą nodejs lub golang, i porozmawiać z tym usługa po otrzymaniu wydarzenia. Ale w każdym razie nie masz szansy (a przynajmniej nigdy nie powinieneś mieć szansy), jeśli nie zainstalujesz dodatkowych usług na komputerze B.
źródło
run("whatever command on machine B");
?Rozwiązuję go za pomocą serwera nodeJS. (nie czysty / końcowy kod, ale działa)
Komputer A: (serwer)
Komputer B: plik (klienta) o nazwie
server.js
ans wykonany za pomocąnodejs server.js
źródło
PHP może zmieniać zawartość plików tekstowych w przeglądarce, na przykład w /var/www/.../folder/mytextfie.txt Musisz tylko pobrać ciąg z tego pliku, który może być poleceniem lub nawet poleceniem, aby uruchomić plik skryptu .
cronjob może uruchomić, aby sprawdzić, czy plik tekstowy zawiera dowolny plik wykonywalny.
kontekst tego pliku tekstowego:
Za pomocą te while loop można wykonywać polecenia z tego pliku tekstowego.
źródło
Tak .. jest to możliwe dzięki neutralnym opiniom .
Możesz użyć
Neutralino.os.runCommand()
. Ale w twoim scenariuszu można użyć trybu chmury Neutralino.źródło