作者LaPass (LaPass)
看板java
标题[问题] java.security的使用方式
时间Mon May 18 23:34:38 2015
我想做到
让使用者可以自写程式(JAVA)
然後上传到SERVER上
再让我的SERVER去执行他传来的程式
我再去取得结果
我现在在想的是
在JAVA中要如何锁掉一些package的功能
例如当他的程式去呼叫 File 、 Socket或是Thread就跳错
我找到一个可能的方向
java.security 底下的东西应该就是我要找的
但是我找不到范例
请问这种功能有范例可以看吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.38.73.184
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1431963282.A.31B.html
1F:→ mozzan: leetcode 05/18 23:49
3F:推 pttworld: 该不会要做judge server吧 05/19 01:10
4F:推 Killercat: 这不难阿,你抽掉本机端的rt.jar里面你不要的东西 05/19 02:26
5F:→ Killercat: 换成同样函数,会丢exception就好... 05/19 02:27
6F:→ Killercat: 不过有些能抽,有些是不能抽的,要一个个试试看 05/19 02:27
7F:→ Killercat: 只要你跑的VM rt.jar里面被「加料」过,这就可以达到你 05/19 02:28
8F:→ Killercat: 要的效果了,而且在对方local端不会感到异状 :D 05/19 02:28
9F:→ Killercat: 诶,不过看了一下security应该简单点我想... 05/19 02:29
10F:→ LaPass: 感谢,我来研究一下 05/19 08:34
11F:→ LaPass: 耶,要用新的JVM起来喔? 这样有点麻烦,因为我需要他们的 05/19 08:39
12F:→ LaPass: 程式执行出来的结果...> 05/19 08:39
13F:推 Frozenmouse: 起新的VM来跑也可以拿结果啊@@ 05/19 12:11
14F:→ Killercat: 可以动态抽换rt.jar 这个是没问题的 05/19 13:23
15F:→ Killercat: 最大的问题是,有些能抽掉有些不能,要试试看 05/19 13:23
16F:→ Killercat: 不能抽掉的主要都是因为会被其他「必跑」的class参考 05/19 13:24
17F:→ LaPass: 抽换掉Thread的classloader不知道有没有用.... 05/19 15:18
18F:→ Killercat: 要从classloader下手的话 不用抽掉 动态换掉即可 05/19 16:44
19F:→ Killercat: 看看Thread.currentThread.setContextClassLoader(...) 05/19 16:45
20F:→ Killercat: 这个是不是你要的。 05/19 16:45
21F:→ Killercat: 继承classloader在魔改一下就好... 05/19 16:45
22F:→ Killercat: 诶,仔细看了一下,你应该想用的方法跟我说的是一样的 05/19 16:45