Javascript 从网页执行Linux命令
我在apache2服务器上建立了一个非常基础的网站(运行在Ubuntu 18.04上)。该网站只有一个页面。我使用了一些JavaScript向其添加动态内容,该网站包含HTML表单,将数据发送到MySql服务器——我使用PHP连接到数据库 根据用户输入,我需要执行某个Linux终端命令(比如:Javascript 从网页执行Linux命令,javascript,php,html,linux,web-development-server,Javascript,Php,Html,Linux,Web Development Server,我在apache2服务器上建立了一个非常基础的网站(运行在Ubuntu 18.04上)。该网站只有一个页面。我使用了一些JavaScript向其添加动态内容,该网站包含HTML表单,将数据发送到MySql服务器——我使用PHP连接到数据库 根据用户输入,我需要执行某个Linux终端命令(比如:ls-l)。例如,如果用户输入名字和姓氏并单击Submit按钮,则ls-l命令将自动执行,而无需用户在终端中执行任何操作。这可能吗? 这是我的HTML表单: <form method="post"&g
ls-l
)。例如,如果用户输入名字和姓氏并单击Submit按钮,则ls-l
命令将自动执行,而无需用户在终端中执行任何操作。这可能吗?
这是我的HTML表单:
<form method="post">
<label>Fisrt Name: <input type="text" name="firstname" required></label>
<label>Last Name: <input type="text" name="lastname" required></label>
<input type="submit" name="submit" value="Submit">
</form>
第一个名称:
姓氏:
编辑:
好的,除了连接MySql数据库的代码外,我现在还有以下PHP代码:
<?php
$output = shell_exec('sudo addgroup test2');
echo "<pre>$output</pre>;
$result = exec('echo $?');
echo "$result";
?>
这需要由Apache后面运行的后端服务器代码来处理。您可以从UI以查询字符串或POST json的形式传递命令,并编写服务器端脚本(php)来捕获参数,并以shell exec
so的形式执行函数,ls-l
将在服务器上运行-因此您需要在服务器端代码中显示您打算如何执行此操作,因此我还不知道如何在服务器端代码中执行此操作。我需要一些向导。所以这段代码将在网站托管的服务器上运行,对吗?哪段代码?您尚未显示任何代码。请检查编辑的部分并尝试此代码段
在执行后验证check/tmp/created_from_php
路径。sudo addgroup test2
的原因是php正在运行的用户可能没有sudo/root
权限。比如,如果您使用www-data
用户运行php,那么它可能没有sudo
访问权限。用简单的sudo命令替换上面的shell_-exec函数,比如sudo-touch/etc/created_from_-php
,如果它不起作用,那就是php用户权限问题。我尝试过shell_-exec('touch/tmp/created_from_-php')代码>但对我来说没有效果。您是对的,看起来我正在使用www-data
user运行php。当我执行exec('whoami')代码>--返回www数据