-1
A
回答
3
如果$_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源代码可能会崩溃编译过程
- 输出的程序可能包含的代码是危险的,你的服务器。
1
在您的操作系统中使用编译器。例如,在Linux中,您可以使用gcc。您可以使用exec从PHP运行。
0
PHP有system()
和exec()
的功能。也许这些就是你要找的东西?
相关问题
- 1. 开源的基于Web的Java编译器
- 2. 基于LLVM的编译器的语言
- 3. gcc是基于表的编译器吗?
- 4. 基于ANTLR的成熟编译器v3
- 5. 前端到基于LLVM的编译器
- 6. 基于Delphi 2009中的编译器指令的条件编译
- 7. 基于Web的PDF文档编辑器
- 8. 基于Web的HTML代码编辑器
- 9. 低级基于Web的编辑器
- 10. 基于Web的json编辑器组件
- 11. 基于Web的XML编辑器
- 12. 基于PSD的文件的基于Web的油漆编辑器
- 13. 通过编译配置禁用基于编译器开关的控制器
- 14. 基于Web的计时器
- 15. 带可翻译字幕的基于Web的视频播放器?
- 16. C编译器web服务
- 17. 非基于web的languge翻译器Java api
- 18. 关于编译器和反编译
- 19. 关于Android的编译器
- 20. 基于交互式(GHCi)或编译的条件编译
- 21. 基于编译时类型的调度
- 22. 编译基于堆栈的语言CIL
- 23. 基于GLEW的程序不能编译
- 24. 基于Web的协作编辑
- 25. 使用基于编译器的cmake的条件CXX_FLAGS?
- 26. 用于java web应用程序的动态LESS编译器?
- 27. 可自定义的基于Web的编辑器?
- 28. 用于Java的语法编译器编译器
- 29. 基于PER-FILE的C#编译器常量?
- 30. 在Windows上编译基于Qt的NPAPI浏览器插件
附注:您将面临一些安全问题,因为您将在用户输入中启动编译器。 –
查看[Codepad](http://codepad.org/about),看看他们是如何做到的。 – PeeHaa
另一种方法是将代码翻译成类似JavaScript的代码并在客户端上运行它。你可以用同样的JavaScript编写翻译器并在客户端上运行它。优点:需要处理的安全问题更少,服务器负载更低。缺点:有限的C代码,较慢的“编译”和执行。 –