shell_exec中使用的PHP变量提供不同的结果
这是一个转发,因为我之前的问题不够清楚,所以删除了它以防止进一步混淆 我有一个接受一个参数的shell脚本。它使用参数对网站进行卷曲,然后使用grep、head和${variable#*>}从网站中提取一些数据 在终端中,使用下面的命令,一切都很好$stockCode作为参数/priceAlert.sh$stockCode 我试着在本地主机上把它做成一个工作网页。(MAMP osx)我尝试了不同的解决方案,但除了shell脚本外,该网站总是会抛出“不来自同一来源” 在搜索如何将shell脚本与web集成之后,我遇到了PHP,现在我正在研究如何让PHP与我的shell脚本对话 我的项目结构:shell_exec中使用的PHP变量提供不同的结果,php,html,post,shell-exec,Php,Html,Post,Shell Exec,这是一个转发,因为我之前的问题不够清楚,所以删除了它以防止进一步混淆 我有一个接受一个参数的shell脚本。它使用参数对网站进行卷曲,然后使用grep、head和${variable#*>}从网站中提取一些数据 在终端中,使用下面的命令,一切都很好$stockCode作为参数/priceAlert.sh$stockCode 我试着在本地主机上把它做成一个工作网页。(MAMP osx)我尝试了不同的解决方案,但除了shell脚本外,该网站总是会抛出“不来自同一来源” 在搜索如何将shell脚本与w
<form action="priceAlert.php" method="post">
<input type="text" name="stockCode"></input>
<input type="submit" name="submit" value="Submit me!">
</form>
$stockCode2 = $_POST['stockCode'];
echo $stockCode2;
$output = shell_exec('sh priceAlert2.sh ' . $stockCode2);
echo "<pre>$output</pre>";
$stockCode2=$\u POST['stockCode'];
echo$stockCode2;
$output=shell_exec('sh priceAlert2.sh'.$stockCode2);
回显“$output”;
$stockCode2='033360';
$output=shell_exec('sh priceAlert2.sh'.$stockCode2);
回显“$output”;
如果我回显所有内容,它们都显示值033360,但行为不同
有办法解决这个问题吗?这可能是目标站点防止刮擦的一种方法吗
谢谢。您应该在传递的shell参数上使用,以防止命令注入。您是这样使用的吗$输出=shell_exec('sh priceAlert2.sh'.escapeshellarg($stockCode2));不幸的是,这不起作用:(这是一个一般性的建议,不是针对你的问题。我明白了,不过谢谢你。。。
$stockCode2 = '033360';
$output = shell_exec('sh priceAlert2.sh ' . $stockCode2);
echo "<pre>$output</pre>";