首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php代码中的shell脚本

php代码中的shell脚本
EN

Stack Overflow用户
提问于 2015-06-09 20:33:00
回答 1查看 66关注 0票数 2

我有一个web界面,它可以帮助我使用shell中的命令创建配置文件,但实际上我的代码中有一些错误,因为我在web界面中输入的值在shell srcipt中无法识别,这是我的源代码:

index.php:

代码语言:javascript
复制
<div class="inputbox">
<form id="createProfile" name="createProfile">
<label for="channelName">Group Name</label>
<br/>
<input type="text" id="groupName" name="groupName" />
<br/>
<label for="profileName">Profile Name</label>
<br/>
<input type="text" id="profileName" name="profileName" />
<input type="button" value="Create Profile" onclick="createUser()" />
</form>
</div>

script.js

代码语言:javascript
复制
function createUser(){
        if ($('#groupName').val() != '' && $('#profileName').val() != ''){
                     $.ajax({
                                type:'post',
                                url: 'addProfile.php',
                                data:{group_name:$('#groupName').val()+'/'+$('#profileName').val()},
                                cache:false,
                                success: function(returndata){
                                                                $('#profilesList').append('<option value="'+ $('#groupName').val()+'/'+$('#profileName').val() +'">' + $('#groupName').val()+'/'+$('#profileName').val() + '</option>');
                                 alert('profile added');
                                }
                        });
        }
        else{
        alert('you must enter both group name and profile name');
        }
}

addprofile.php

代码语言:javascript
复制
<?php
$var='.$_POST['group_name'].';
$output1=shell_exec('/etc/init.d/nfsen --add-profile $var  expire=0 maxsize=0 shadow=1');
echo "<pre>$output1</pre>";
?>

你能告诉我我的代码出了什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-09 20:36:38

在PHP代码中,您使用'来分隔字符串。如果您希望将$var扩展为它的值,则必须使用"作为字符串分隔符,或者终止字符串并像这样连接它:'string start '.$var.' string end'

此外,如果此应用程序是公开的,请非常小心这里的安全性。提交一个可以执行任何外壳命令的group_name是非常容易的。

编辑:正如@Tool在您的问题注释中指出的那样,出于同样的原因,$var=行也需要进行调整。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30732156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档