[问题] java.security的使用方式

楼主: 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:00
leetcode
作者: qrtt1 (有些事,有时候。。。)   2015-05-19 00:25:00
作者: pttworld (批踢踢世界)   2015-05-19 01:10:00
该不会要做judge server吧
作者: Killercat (杀人猫™)   2015-05-19 02:26:00
这不难阿,你抽掉本机端的rt.jar里面你不要的东西换成同样函数,会丢exception就好...不过有些能抽,有些是不能抽的,要一个个试试看只要你跑的VM rt.jar里面被“加料”过,这就可以达到你要的效果了,而且在对方local端不会感到异状 :D诶,不过看了一下security应该简单点我想...
楼主: LaPass (LaPass)   2015-05-19 08:34:00
感谢,我来研究一下耶,要用新的JVM起来喔? 这样有点麻烦,因为我需要他们的程式执行出来的结果...>
作者: Frozenmouse (*冰之鼠*)   2015-05-19 12:11:00
起新的VM来跑也可以拿结果啊@@
作者: Killercat (杀人猫™)   2015-05-19 13:23:00
可以动态抽换rt.jar 这个是没问题的最大的问题是,有些能抽掉有些不能,要试试看不能抽掉的主要都是因为会被其他“必跑”的class参考
楼主: LaPass (LaPass)   2015-05-19 15:18:00
抽换掉Thread的classloader不知道有没有用....
作者: Killercat (杀人猫™)   2015-05-19 16:44:00
要从classloader下手的话 不用抽掉 动态换掉即可看看Thread.currentThread.setContextClassLoader(...)这个是不是你要的。继承classloader在魔改一下就好...诶,仔细看了一下,你应该想用的方法跟我说的是一样的

Links booklink

Contact Us: admin [ a t ] ucptt.com