जवाबों:
नहीं वास्तव में कोई नहीं। वह सभी सुरक्षा छिद्रों की जननी है। आप पूछ रहे हैं कि क्या आप एक वेबपेज सेट कर सकते हैं जो क्लाइंट की मशीन पर मनमानी कमांड को निष्पादित करता है। यदि मैं इस आदेश को चलाने वाला वेबपृष्ठ सेट करूँ तो क्या होगा:
rm -rf ~/
यह आपके सभी फ़ाइलों को हटा देगा $HOME
। वास्तव में, हाल ही में एक हंगामा हुआ जब एक बग की खोज की गई जिसने ऐसा होने दिया। संभावित अटैक वैक्टर में से एक क्लाइंट (कंप्यूटर बी आपके मामले में) को बैश कमांड चलाने में बरगला रहा था।
तो नहीं, आप अपने स्थानीय मशीन पर एक वेब ब्राउज़र के माध्यम से मनमाने ढंग से कोड निष्पादित नहीं कर सकते। पहली बार में किसी तरह प्रवेश किए बिना नहीं। आप जावास्क्रिप्ट या इसी तरह की भाषा कमांड चला सकते हैं, लेकिन आपके उपयोगकर्ता के सत्र तक उनकी पहुँच नहीं होगी।
आप सामान्य रूप से ऐसा नहीं कर सकते हैं, लेकिन एक परिभाषित वातावरण में, जहां आप ग्राहक मशीन बी को नियंत्रित कर सकते हैं, आप प्रस्ताव कर सकते हैं कि मशीन बी एक सेट्रोट सेवा चलाती है, आप बस उदाहरण के लिए नोड्ज या गोलंग के साथ अपने दम पर लिख सकते हैं और उससे बात कर सकते हैं सेवा जब आप घटना प्राप्त करते हैं। लेकिन किसी भी मामले में आपके पास कोई मौका नहीं है (या कम से कम आपके पास कभी मौका नहीं होना चाहिए) यदि आप मशीन बी पर कुछ अतिरिक्त सेवा स्थापित नहीं करते हैं।
run("whatever command on machine B");
:?
मैं इसे एक नोडजेएस सर्वर का उपयोग करके हल करता हूं। (साफ / अंतिम कोड नहीं बल्कि इसका काम)
कंप्यूटर A: (सर्वर)
function change_wallpaper(image){
var objReq = new XMLHttpRequest();
objReq.open("GET", "http://localhost:8888" + "?image=" + image, false);
objReq.send(null);
}
<img src="./img/1.jpeg" onclick="change_wallpaper(this.src);" />
<img src="./img/2.jpeg" onclick="change_wallpaper(this.src);" />
कंप्यूटर B: (क्लाइंट) फ़ाइल जिसे server.js
ans के साथ निष्पादित किया जाता हैnodejs server.js
var http = require("http");
var sys = require('sys')
var exec = require('child_process').exec;
var url = require("url");
function onRequest(request, response) {
var params = url.parse(request.url,true).query;
function puts(error, stdout, stderr) {sys.puts(stdout)}
exec("/usr/bin/feh --bg-center " + params.image, puts);
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Wallpaper');
}
http.createServer(onRequest).listen(8888);
PHP टेक्सटफाइल्स की सामग्री को /var/www/.../folder/mytextfie.txt में उदाहरण के लिए ब्राउज़र पार कर सकती है। आपके पास केवल उस फ़ाइल से स्ट्रिंग प्राप्त करने के लिए है, एक स्क्रिप्ट फ़ाइल शुरू करने के लिए व्हिच एक कमांड या कमांड भी हो सकती है। ।
एक क्रोनजॉब वेदर को जांचने के लिए चला सकता है कि टेक्स्टफाइल में कोई निष्पादन योग्य है।
#!/usr/bin/env bash
echo $(cat /var/www/.../folder/commandsperline.txt)
#or
while read line
do
echo "$(${line})"
done< "/var/www/.../folder/commandsperline.txt"
उस पाठ का संदर्भ:
#!/bin bash
#you need to declare absolute path
# chmod 755 /home/user/*.sh -to make executabble all scripts there
/home/user/backup.sh
/home/user/anyscript.sh
ते के साथ लूप के साथ उस टेक्स्ट-फाइल से कमांड निष्पादित करना संभव है।
हां .. यह न्यूट्रिनो के साथ संभव है ।
आप उपयोग कर सकते हैं Neutralino.os.runCommand()
। लेकिन आपके परिदृश्य में तटस्थ क्लाउड मोड का उपयोग किया जा सकता है।