用什么比较实现起来简单,安全。
1
learningman 2020-12-13 13:46:01 +08:00
docker
|
2
xiaket 2020-12-13 13:59:21 +08:00
AWS lambda
|
3
liuxey 2020-12-13 14:15:09 +08:00
无头无尾,无答案
|
4
laravel OP |
6
xiaket 2020-12-13 14:22:20 +08:00 1
@laravel 自己实现的话, 里面的细节多得吓人, 而且几十几百个细节有一个做不好就是送人 RCE, 你确定? 反正我是没胆量自己去做.
|
8
neoblackcap 2020-12-13 14:36:15 +08:00
最安全快捷的就是按需开虚拟机。
|
9
BiteTheDust 2020-12-13 14:36:26 +08:00
可以研究一下各种 online judge 的做法
|
10
Greatshu 2020-12-13 14:38:01 +08:00
评测机?有现成的
|
11
zxCoder 2020-12-13 15:14:36 +08:00 2
据说是个大坑,强迫症不建议搞这个,或者找现成的评测机,(因为做不对绝对的安全,然后强迫症就会很烦,就是我了
|
12
loading 2020-12-13 15:21:26 +08:00 via Android
这做得好能成立一家公司了,大坑。
|
13
joesonw 2020-12-13 15:31:59 +08:00
docker 的话至少得上 AppArmor
性能不重要的话有 google 的 gvisor, 把 syscall shim 掉了, 绝对安全. 最好用虚拟机 或者 firecracker, kata 之类新轻量虚拟机也行 |
14
xyjincan 2020-12-13 15:42:50 +08:00 via Android
定期还原
|
15
renmu123 2020-12-13 16:14:19 +08:00 via Android
自己实现分分钟被黑掉
|
16
helsonxiao 2020-12-13 16:15:26 +08:00 via Android
可以参考一下青岛大学开源的 OJ 项目
|
17
laravel OP 这么复杂吗?我以为就是用 docker 那个原理,做下隔离、限制资源使用就行了
|
18
FS1P7dJz 2020-12-13 16:32:32 +08:00
虚拟机啊...
vmware 本身就有现成的技术从模板创建新的虚拟机 根据性能几分钟左右就可以创建出一个完全隔离且全新的环境 |
19
sirgod 2020-12-13 16:40:00 +08:00
go 的话可以用 playground https://github.com/golang/playground
|
20
cmdOptionKana 2020-12-13 17:14:11 +08:00 via Android
go 好像问题不大,官方给出了 play.golang.org 的源码
|
21
pythonee 2020-12-13 17:35:06 +08:00
有意思的话题,MARK
|
22
lrh3321 2020-12-13 18:20:49 +08:00 via Android
虚拟机里跑
|
23
learningman 2020-12-13 21:01:02 +08:00
@laravel 有那种本事的人不会问这种问题
|
24
KnownRock 2020-12-14 09:04:02 +08:00 via Android
Openfaas
|
25
xuboying 2020-12-14 12:46:07 +08:00
op 是要做服务去执行未知的用户的未知的 UGC 代码,还是和固定的用户有合作关系是集成开发?
|