在线编译网站

2017-12-07 17:27:06 +08:00
 xingzheduan
好奇在网页里写代码然后可以点击运行的网站怎么做的?就是那种在线编译环境,是前端调用了服务器上装的编译器吗?
6479 次点击
所在节点    程序员
16 条回复
lhx2008
2017-12-07 17:47:48 +08:00
当然是调了服务器上面的编译器再输出的
3dwelcome
2017-12-07 17:51:58 +08:00
有 jslinux 这类纯 js 的 linux+gcc,但局限性很大,一般还是调用服务器编译的。
wxsm
2017-12-07 17:53:45 +08:00
F12 看一下 xhr request / response 不就明白了。
xingzheduan
2017-12-07 17:58:09 +08:00
@lhx2008 感觉这样会有一些安全问题啊,如果有人写了一些恶意代码怎么办
onsale
2017-12-07 17:59:51 +08:00
试试 c9 和 coding 的 ide
lhx2008
2017-12-07 18:02:30 +08:00
@xingzheduan 弄一个沙盒环境就好,还有就是限死资源使用
imlinhanchao
2017-12-07 18:12:19 +08:00
zke1e
2017-12-07 18:16:22 +08:00
不就和 OJ 差不多嘛,代码跑在沙盒里的,限制了很多 api
imxieke
2017-12-07 19:27:55 +08:00
@xingzheduan Docker 咯 我记得是 菜鸟笔记还是 w3school 哪家 用的是 Docker 给的是 root 用户 很强势
MasterMonkey
2017-12-07 19:37:19 +08:00
没有一个靠谱的,我给你一个终极的平台吧!

https://godbolt.org/
ballshapesdsd
2017-12-07 20:00:54 +08:00
@imxieke os.system('rm -rf /')
imxieke
2017-12-07 20:13:51 +08:00
@ballshapesdsd #11 自己看着处理咯 可以 `rm -fr /bin/rm`
毕竟只是用来编译 定期重启系统就会恢复原装 或者禁止运行某些命令
chinvo
2017-12-07 20:17:20 +08:00
用 docker
holyghost
2017-12-07 20:54:21 +08:00
实际上就是 oj 的沙箱,具体怎么处理可以看这里:

https://github.com/justice-oj
iMusic
2017-12-08 10:30:09 +08:00
这个不错,语言很全: http://www.dooccn.com/
calpamomo
2017-12-08 12:34:24 +08:00
可以看看 CodeSandbox 如何做的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/412865

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX