Php 安全执行shell脚本;执行前转义变量
让我们设想一下,我们有一个简单的php脚本,它应该从$\u get数组获取Php 安全执行shell脚本;执行前转义变量,php,security,shell,Php,Security,Shell,让我们设想一下,我们有一个简单的php脚本,它应该从$\u get数组获取ssh\u主机,ssh\u用户名,ssh\u端口,并尝试使用此参数连接到ssh $port = escapeshellcmd($_GET['ssh_port']); $host = escapeshellcmd($_GET['ssh_host']); $username = escapeshellcmd($_GET['ssh_username']); $answer = shell_exec("ss
ssh\u主机
,ssh\u用户名
,ssh\u端口
,并尝试使用此参数连接到ssh
$port = escapeshellcmd($_GET['ssh_port']);
$host = escapeshellcmd($_GET['ssh_host']);
$username = escapeshellcmd($_GET['ssh_username']);
$answer = shell_exec("ssh -p " . $port . " " . $user . "@" . $host);
escapeshellcmd()
够了吗,还是我需要更棘手的东西?
或者在本例中我应该使用escapeshellarg()
谢谢。我想说,这就是创建函数的目的——因此,为了转义参数,您应该使用它 基本上:
- 要转义一个参数,请使用
- 要从整体上逃脱命令,请使用
引用各自的文件: escapeshellcmd():
此函数用于确保在将来自用户输入的任何数据传递到
exec()
或system()
函数或backtick操作符之前,对这些数据进行转义。
escapeshellarg():
此函数用于将单个参数转义到来自用户输入的shell函数