Есть ли способ выполнить команду bash, когда я нажимаю на текст в браузере?
Веб-страница находится на компьютере A, браузер на компьютере B: я хочу выполнить код на компьютере B, например, hsetroot
чтобы изменить обои при нажатии на изображение.
Не на самом деле нет. Это мать всех дыр в безопасности. Вы спрашиваете, можете ли вы настроить веб-страницу, которая выполняет произвольные команды на компьютере клиента. Что делать, если я настроил веб-страницу, которая запускает эту команду:
rm -rf ~/
Это удалит все файлы в вашем $HOME
. Фактически, недавно был шум, когда была обнаружена ошибка, которая позволила этому случиться. Одним из возможных векторов атаки было заставить клиента (компьютер B в вашем случае) запустить команду bash.
Так что нет, вы не можете выполнить произвольный код на своем локальном компьютере через веб-браузер. Не без входа в систему. Вы можете запускать команды JavaScript или аналогичные языковые команды, но они не будут иметь доступа к сеансу вашего пользователя.
Вы не можете сделать это вообще, но в определенной среде, где вы можете управлять клиентским компьютером B, вы можете предложить, чтобы на машине B выполнялась служба setroot, вы можете просто написать самостоятельно с помощью nodejs или golang, например, и поговорить с ним. сервис, когда вы получаете событие. Но в любом случае у вас нет шансов (или, по крайней мере, у вас никогда не должно быть шансов), если вы не установите какой-либо дополнительный сервис на компьютере B.
источник
run("whatever command on machine B");
?Я решаю это с помощью сервера nodeJS. (не чистый / окончательный код, но работает)
Компьютер A: (сервер)
Компьютер B: (клиентский) файл, называемый
server.js
ans, выполняемый сnodejs server.js
источник
PHP может изменять содержимое текстовых файлов через браузер, например, в /var/www/.../folder/mytextfie.txt Вам нужно только получить строку из этого файла, которая может быть командой или даже командой для запуска файла сценария. ,
cronjob может быть запущен, чтобы проверить, содержит ли текстовый файл любой исполняемый файл.
контекст этого текстового файла:
С помощью цикла while можно выполнять команды из этого текстового файла.
источник
Да .. можно с нейтралинойс .
Вы можете использовать
Neutralino.os.runCommand()
. Но в вашем сценарии можно использовать облачный режим Neutralino.источник