看板 java 關於我們 聯絡資訊
我想做到 讓使用者可以自寫程式(JAVA) 然後上傳到SERVER上 再讓我的SERVER去執行他傳來的程式 我再去取得結果 我現在在想的是 在JAVA中要如何鎖掉一些package的功能 例如當他的程式去呼叫 File 、 Socket或是Thread就跳錯 我找到一個可能的方向 java.security 底下的東西應該就是我要找的 但是我找不到範例 請問這種功能有範例可以看嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.73.184 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1431963282.A.31B.html
mozzan: leetcode 05/18 23:49
qrtt1: http://bit.ly/1QXmxXQ 05/19 00:25
pttworld: 該不會要做judge server吧 05/19 01:10
Killercat: 這不難阿,你抽掉本機端的rt.jar裡面你不要的東西 05/19 02:26
Killercat: 換成同樣函數,會丟exception就好... 05/19 02:27
Killercat: 不過有些能抽,有些是不能抽的,要一個個試試看 05/19 02:27
Killercat: 只要你跑的VM rt.jar裡面被「加料」過,這就可以達到你 05/19 02:28
Killercat: 要的效果了,而且在對方local端不會感到異狀 :D 05/19 02:28
Killercat: 誒,不過看了一下security應該簡單點我想... 05/19 02:29
LaPass: 感謝,我來研究一下 05/19 08:34
LaPass: 耶,要用新的JVM起來喔? 這樣有點麻煩,因為我需要他們的 05/19 08:39
LaPass: 程式執行出來的結果...> 05/19 08:39
Frozenmouse: 起新的VM來跑也可以拿結果啊@@ 05/19 12:11
Killercat: 可以動態抽換rt.jar 這個是沒問題的 05/19 13:23
Killercat: 最大的問題是,有些能抽掉有些不能,要試試看 05/19 13:23
Killercat: 不能抽掉的主要都是因為會被其他「必跑」的class參考 05/19 13:24
LaPass: 抽換掉Thread的classloader不知道有沒有用.... 05/19 15:18
Killercat: 要從classloader下手的話 不用抽掉 動態換掉即可 05/19 16:44
Killercat: 看看Thread.currentThread.setContextClassLoader(...) 05/19 16:45
Killercat: 這個是不是你要的。 05/19 16:45
Killercat: 繼承classloader在魔改一下就好... 05/19 16:45
Killercat: 誒,仔細看了一下,你應該想用的方法跟我說的是一樣的 05/19 16:45