【问题标题】:Embedding C compiler to a webpage将 C 编译器嵌入网页
【发布时间】:2011-10-19 20:22:05
【问题描述】:

我正在开发一个用于在线 C 编码竞赛的网站。编码将在嵌入网页的编辑器中完成,这也必须能够在线编译程序。是否有任何可用的编译器可以嵌入到网页中?服务器可以是 linux 或 windows 服务器。如果有人有任何想法,请分享。

【问题讨论】:

  • 我认为,您应该向服务器发送文本,在服务器上启动编译器(例如 gcc)(类似system())并将结果(编译器错误和警告)发布回页面。跨度>
  • 为什么不用system()调用传统的编译器?
  • 不是具体的代码,而是一些关于它是如何完成的信息:codepad.org/about

标签: php compiler-construction


【解决方案1】:

好吧,您总是可以编写一个脚本,通过system() 命令调用已安装的编译器。尽管您希望非常非常小心,因为这可能非常危险。例如,如果您不清理您的输入,那么有人可能会注入故意使您的系统崩溃/损坏的命令。

【讨论】:

  • +1 还可以查看@stackoverflow.com/questions/3695858/… 了解沙盒信息
  • 除了极其简单的玩具语言之外,每种编程语言都不可能预先清理。限制程序实际可以做的事情(阻止大部分系统调用、沙盒、超时等)应该更有效。
  • 你是绝对正确的 delnan,OP 可能希望将允许的 C 函数集限制为可以安全使用的子集。还需要为整个脚本以及循环等实现某种最大执行超时......这不是一件容易的事。
猜你喜欢
  • 2020-03-04
  • 2012-05-17
  • 2013-10-08
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2014-05-28
  • 1970-01-01
  • 2011-03-18
相关资源
最近更新 更多