作者:
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在魔改一下就好...誒,仔細看了一下,你應該想用的方法跟我說的是一樣的