楼主:
LaPass (LaPass)
2015-05-18 23:34:38我想做到
让使用者可以自写程式(JAVA)
然后上传到SERVER上
再让我的SERVER去执行他传来的程式
我再去取得结果
我现在在想的是
在JAVA中要如何锁掉一些package的功能
例如当他的程式去呼叫 File 、 Socket或是Thread就跳错
我找到一个可能的方向
java.security 底下的东西应该就是我要找的
但是我找不到范例
请问这种功能有范例可以看吗?
作者:
mozzan (mozzan)
2015-05-18 23:49:00leetcode
作者:
qrtt1 (有些事,有时候。。。)
2015-05-19 00:25:00作者:
pttworld (批踢踢世界)
2015-05-19 01:10:00该不会要做judge server吧
这不难阿,你抽掉本机端的rt.jar里面你不要的东西换成同样函数,会丢exception就好...不过有些能抽,有些是不能抽的,要一个个试试看只要你跑的VM rt.jar里面被“加料”过,这就可以达到你要的效果了,而且在对方local端不会感到异状 :D诶,不过看了一下security应该简单点我想...
楼主:
LaPass (LaPass)
2015-05-19 08:34:00感谢,我来研究一下耶,要用新的JVM起来喔? 这样有点麻烦,因为我需要他们的程式执行出来的结果...>
可以动态抽换rt.jar 这个是没问题的最大的问题是,有些能抽掉有些不能,要试试看不能抽掉的主要都是因为会被其他“必跑”的class参考
楼主:
LaPass (LaPass)
2015-05-19 15:18:00抽换掉Thread的classloader不知道有没有用....
要从classloader下手的话 不用抽掉 动态换掉即可看看Thread.currentThread.setContextClassLoader(...)这个是不是你要的。继承classloader在魔改一下就好...诶,仔细看了一下,你应该想用的方法跟我说的是一样的