如何构建像http://ideone.com/这样可以编译/运行40种不同语言的网站?我不需要40语言支持,但希望能够在个人的pastebin项目上运行PHP和其他几个人,对于如何实现这一点有任何帮助
答案 0 :(得分:4)
在php的情况下,一个有趣的 要做的事情可能是:
直接从浏览器调用javascript
PROFIT
这样,用户就不会生成任何服务器负载(因为它都在浏览器中),并且 no 更少安全隐患。
大声思考
答案 1 :(得分:3)
你需要收集用户输入的内容,将其保存到文件或管道到相应的编译器。 php可以execute任何内容,只要你的服务器上有工具就可以了。
答案 2 :(得分:3)
对于编译语言,您必须编写一些内容来调用位于Web服务器上的[可能的命令行]编译器,并为其提供用户输入源。对于PHP,您可以使用eval()
执行代码,但是调用PHP解释器可能更安全(当然也更便于移植)。
当然,执行任意用户输入源代码会带来严重的安全风险,所以我想http://ideone.com/会在某种沙箱中执行生成的二进制文件。
除非您将Web服务器配置为严格限制PHP,并且使用某种第三方库(不要重新发明轮子)来识别恶意代码,否则我不建议在用户输入上使用eval()