phpseclib NET/SSH2 从 post 表单中提取变量
phpseclib NET/SSH2 pulling variable from post form
我正在尝试将 POST 变量放入我的 $ssh->exec post 变量未用于 command.I 希望 $domain 和 $password在 adduser 中使用,如下所示。
我在 centos 7 服务器上 运行 php 7.3 我可以回显变量,但我不能在命令中使用它。
我可以回显 $domain 和 $password。
一个例子 post 是
用户名:adada.com
和
Password:passwordwe3
这个输入字符串的命令运行良好。
set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/html/phpsec');
include ('Net/SSH2.php');
$ssh = new Net_SSH2('hostname');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
$domain = $_POST['domain'];
$password = $_POST['password'];
echo $ssh->exec('adduser $domain -m -p $password -d /var/www/shared/$domain/public_html');
echo $ssh->exec('su $domain');
echo $ssh->exec('pwd');
die();
表格错误如下。 adduser: 无效的用户名 '/var/www/shared//public_html' /root
echo $ssh->exec('adduser $domain -m -p $password -d /var/www/shared/$domain/public_html');
echo $ssh->exec('su $domain');
你在应该使用双引号的时候使用了单引号。试试这个:
echo $ssh->exec("adduser $domain -m -p $password -d /var/www/shared/$domain/public_html");
echo $ssh->exec("su $domain");
此外,通过 escapeshellarg 传递这些变量可能是个好主意。
我正在尝试将 POST 变量放入我的 $ssh->exec post 变量未用于 command.I 希望 $domain 和 $password在 adduser 中使用,如下所示。
我在 centos 7 服务器上 运行 php 7.3 我可以回显变量,但我不能在命令中使用它。
我可以回显 $domain 和 $password。
一个例子 post 是
用户名:adada.com 和 Password:passwordwe3
这个输入字符串的命令运行良好。
set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/html/phpsec');
include ('Net/SSH2.php');
$ssh = new Net_SSH2('hostname');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
$domain = $_POST['domain'];
$password = $_POST['password'];
echo $ssh->exec('adduser $domain -m -p $password -d /var/www/shared/$domain/public_html');
echo $ssh->exec('su $domain');
echo $ssh->exec('pwd');
die();
表格错误如下。 adduser: 无效的用户名 '/var/www/shared//public_html' /root
echo $ssh->exec('adduser $domain -m -p $password -d /var/www/shared/$domain/public_html');
echo $ssh->exec('su $domain');
你在应该使用双引号的时候使用了单引号。试试这个:
echo $ssh->exec("adduser $domain -m -p $password -d /var/www/shared/$domain/public_html");
echo $ssh->exec("su $domain");
此外,通过 escapeshellarg 传递这些变量可能是个好主意。