2009-12-10 32 views
4

我剛開始使用Java ScriptEngine對我的應用程序進行小擴展,然後我發現我可以導入腳本中的所有java類並無任何限制地使用它們。有沒有辦法指定腳本可以使用哪些類?我不想讓他們做像java.lang.System.exit(1);Java的安全性問題ScriptEngine

回答

2

那麼,你似乎需要了解Java SecurityManager。這是一個相當大的話題,你可能想要閱讀它,然後發佈一個更具體的問題,如果你難以爲你工作。

+0

SecuritiyManager聽起來不錯,我會看看它。你對我有何啓示從哪裏開始討論這個重大話題? – lucidd

1

我通過在所有腳本的頂部放置「importPackage = null」來解決這個問題,它似乎能夠工作,但我不確定是否可以避免這種黑客行爲。

+0

看起來像這樣是限制所有importPackage調用的最簡單方法 – webber

+0

在這種情況下,仍然可以這樣做:'java.lang.System.exit(1);'。程序將會退出。 –