php页面传参给shell脚本

2023-06-15,,

代码如下:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>MAC search</title>

</head>

<body align="middle" bgcolor="gray">

<h2><font size="20" face="Verdana" color="blue">MAC search</font></h2>

<form action="" method="post">

MAC:

<input type="text" name="mac" size="20"/>

<input type="submit" value="submit"/>

</form>

<?php

if(isset($_POST['mac'])&&$_POST['mac']!=''){

        $mac=$_POST['mac'];

$output = shell_exec("macsearch $mac");

echo "$output";

}

?>

</body>

</html>

分析如下:

    1.通过表单传入一个参数“mac”        

        <form action="" method="post">

        MAC:

        <input type="text" name="mac" size="20"/>

        <input type="submit" value="submit"/>

        </form>

    2.通过php传入参数并且运行shell脚本     

        <?php

        if(isset($_POST['mac'])&&$_POST['mac']!=''){

                $mac=$_POST['mac'];

        $output = shell_exec("macsearch $mac");

        echo "$output";

        }

        ?>

补充:今天遇到一个问题,通过php页面执行这个脚本的时候无效,macsearch脚本中的wget命令未执行(macsearch脚本在博文《字符串按位数分隔》中有)

    1.切换到一个普通用户执行macsearch发现也不执行wget命令

    2.检查目录权限,发现/srv/macsearch/record权限为755,普通用户无写入权限,所以执行:

        chmod -R 777 /srv/macsearch/record

    3.问题解决

《php页面传参给shell脚本.doc》

下载本文的Word格式文档,以方便收藏与打印。