我一直在做一个项目,制作一个读取文件(c/c++ 文本文件)并编译其上编写的代码的网站。
如何使用我服务器上的编译器?
最佳答案
如果$_POST['CODE']
包含cpp代码。您可以执行以下操作。
$code = do_sanitizing($_POST['CODE']);
$filename = "cfile".time().".c";
// put the contents in a file
file_put_contents($filename, $code);
// compile it
$output = system("/usr/bin/gcc $filename 2>&1");
echo $output;
注意:这种类型的事后编译和运行程序存在危险的安全缺陷。
- 您必须清理用户输入
- C 源代码可能会导致编译过程崩溃
- 输出程序可能包含对您的服务器有害的代码。
关于php - 基于网络的编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9016328/