我一直在我的应用程序分支中使用wterm,但现在猜测已经很老了并且停止了。我尝试迁移到jquery-terminal,但我不太清楚如何配置。
有一个简单的配置模式吗?并且仅包括我允许的命令?
我目前的职能:
$('#wterm').terminal(function(command, term) {
term.pause();
if(command != ""){
$.post('<?php echo $this->baseUrl, '/bconsole/cmd' ?>', {'bcommand': command, 'command': cmd }).then(function(response) {
term.echo(response,{raw:true}).resume();
});
} else{
term.exec('clear').resume();
} //end if
},
{
greetings: welcome,
prompt: 'bconsole> ',
height: 400,
onBlur: function(){
return false;
}
}
);
答案 0 :(得分:0)
您可以使用此方法(如果您只想执行cmd对象列表中的命令),但如果您希望此终端公开,您还应该在服务器上过滤命令。
var available = Object.keys(cmd);
$('#wterm').terminal(function(command, term) {
term.pause();
var name = $.terminal.parse_command(command).name;
// run only commands that are on the list
if (available.indexOf(name) != -1) {
$.post('<?php echo $this->baseUrl, '/bconsole/cmd' ?>', {'bcommand': command, 'command': cmd }).then(function(response) {
term.echo(response,{raw:true}).resume();
});
} else{
term.exec('clear').resume();
} //end if
},
{
greetings: welcome,
prompt: 'bconsole> ',
height: 400,
onBlur: function(){
return false;
}
}
);