终端模拟器必须嵌入到网页中,用户必须通过网页访问来编译和运行在服务器上创建的java程序。我想在终端编译并运行程序。客户端不需要安装任何应用程序软件。
答案 0 :(得分:2)
我会推荐以下内容:
虽然打开控制台给用户时应该非常小心。您可以通过明确地将功能添加到所有终端命令来进一步限制终端的能力,例如, <?php echo exec('git '.$_GET['cmdtxt']); ?>
是确保调用git的一种方法,但它仍然容易受到攻击,因为你可能会执行第二个命令。我相信你可以弄清楚你的安全需求是什么,并正确验证它们。
如果这看起来很模糊,那只是因为你的问题并不是太具体。这是你正在寻找的答案吗?让我知道:))
答案 1 :(得分:0)
首先,您可以创建一个用于显示结果的div和一个用于命令的textarea。检查textarea的按键,并在用户按Enter键时使用AJAX将命令发送到服务器。您可以将它们设计为看起来更像终端。
请注意,向用户公开控制台很容易被黑客入侵。始终检查用户输入以确保无法执行危险命令。
如何过滤命令的示例代码:
<?php
$cmd = $_POST['cmd'];
$allowed = array('ls','git','grep','...');//The allowed commands
foreach($allowed as $part){
if(strpos($cmd,$part) === false){
echo 'Command not recognized!';
}
}
ob_start();
passthru($cmd);
$result = ob_end_clean();
echo json_encode(array('result'=>$result));
希望这可以帮到你。