উত্তর:
আসলেই না, না। এটি সমস্ত সুরক্ষার গর্তের জননী। আপনি জিজ্ঞাসা করছেন যে আপনি কোনও ওয়েবপৃষ্ঠা সেট করতে পারেন যা ক্লায়েন্টের মেশিনে স্বেচ্ছাসেবক আদেশগুলি কার্যকর করে। যদি আমি একটি ওয়েবপৃষ্ঠা সেট করি যা এই আদেশটি চালায়:
rm -rf ~/
এটি আপনার সমস্ত ফাইল মুছে ফেলবে $HOME
। প্রকৃতপক্ষে, সম্প্রতি একটি গণ্ডগোল হয়েছিল যখন একটি বাগ আবিষ্কার হয়েছিল যা এটি হতে দেয়। আক্রমণকারীর একজন সম্ভাব্য ভেক্টর ক্লায়েন্টকে (আপনার ক্ষেত্রে কম্পিউটার বি) বাশ কমান্ড চালানোর জন্য ট্র্যাকিং করছিল।
সুতরাং না, আপনি কোনও ওয়েব ব্রাউজারের মাধ্যমে আপনার স্থানীয় মেশিনে স্বেচ্ছাসেবক কোড কার্যকর করতে পারবেন না। কোনওভাবে প্রথমে লগ ইন না করেই নয়। আপনি জাভাস্ক্রিপ্ট বা অনুরূপ ভাষা কমান্ড চালাতে পারেন তবে তাদের ব্যবহারকারীর সেশনে তাদের অ্যাক্সেস থাকবে না।
আপনি এটি সাধারণভাবে করতে পারবেন না, তবে একটি নির্ধারিত পরিবেশে, যেখানে আপনি ক্লায়েন্ট মেশিন বি নিয়ন্ত্রণ করতে পারবেন, আপনি প্রস্তাব করতে পারেন যে মেশিন বি একটি সেট্রুট পরিষেবা চালায়, আপনি কেবল নিজেরাই নোডেজ বা গোলং দিয়ে লিখতে পারেন এবং তার সাথে কথা বলতে পারেন পরিষেবাটি যখন আপনি ইভেন্টটি পান। তবে যেকোন ক্ষেত্রে আপনার কোনও সুযোগ নেই (বা কমপক্ষে আপনার কখনই চান্স হওয়া উচিত নয়) আপনি যদি মেশিন বিতে অতিরিক্ত কিছু পরিষেবা ইনস্টল না করেন
run("whatever command on machine B");
?
আমি নোডজেএস সার্ভার ব্যবহার করে এটি সমাধান করি। (পরিষ্কার / চূড়ান্ত কোড নয় তবে এটির কার্যকারী)
কম্পিউটার এ: (সার্ভার)
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);" />
কম্পিউটার বি: (ক্লায়েন্ট) ফাইলকে server.js
উত্তর দিয়ে মৃত্যুদণ্ড কার্যকর করা হয়েছিল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);
পিএইচপি /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()
। তবে আপনার দৃশ্যে নিউট্রালিনো ক্লাউড মোড ব্যবহার করা যেতে পারে।