作者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/m.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