一個可以禁用從classpath導入東西放到Java腳本API的腳本的能力嗎? 的目標是訪問的編劇只留下什麼是發動機的結合,當腳本運行。在某些情況下,將隨機類導入腳本可能是一個安全問題。禁用importPackage,importClass和JavaImporter中的Java腳本
2
A
回答
1
一個可以覆蓋這些函數的定義和消毒這樣的腳本:
private String sanitizeScript(String script) {
if (containsMoreThanOneStatement(script)) {
throw new ScriptedPermissionsException("Scripts may only contain one statement!!");
}
return new StringBuilder()
.append("function importPackage(a){ throw 'Cannot import!'};").append('\n')
.append("function importClass(a){ throw 'Cannot import!'};").append('\n')
.append("function JavaImporter(a){ throw 'I said, no importing!!'};").append('\n')
.append(script).append(';')
.toString();
}
然而,這仍然需要提醒的是一個還可以做
java.lang.Class.forName('foo.bar.Zap')
0
如果你的意圖在於限制在導入函數的調用則只是空他們當,該ScriptEngine初始化
engine.eval("importPackage = null;");
相關問題
- 1. ImportPackage com.itextpdf到一個Java類中的XPages
- 2. 爲java腳本禁用css
- 3. Java腳本DrobDown禁用馬克
- 4. System.Windows.Forms.WebBrowser似乎是禁用Java腳本?
- 5. Java腳本隨機圖像禁用翻轉和鏈接
- 6. 禁用腳本WordPress的
- 7. 如何在Java腳本日曆中禁用以前的日期..?
- 8. Java和Eclipse腳本
- 9. Java腳本和JMeter
- 10. java腳本和html
- 11. PyQtWebkit和java腳本
- 12. 的Java腳本和jQuery
- 13. 如何使用旋轉木馬的java腳本禁用箭頭
- 14. 爲bridge.php腳本禁用mod_security
- 15. 爲手機禁用腳本
- 16. 禁用重定向腳本
- 17. 禁用TSQL腳本檢查?
- 18. 腳本禁用重定向
- 19. 爲python腳本禁用IPv6
- 20. 用腳本httpclient的java腳本
- 21. 確認腳本中的Java腳本IIF
- 22. 在WebBrowser控件中禁用腳本
- 23. 如何在腳本中禁用RequiredFieldValidator
- 24. 在Joomla 2.5中禁用JS腳本
- 25. 在WebBrowser控件中禁用腳本?
- 26. 禁止使用PHP或Java腳本或jQuery的
- 27. Java腳本禁用循環表上的按鈕
- 28. 在Java腳本API中的腳本中調用Javascript函數
- 29. 使用onload函數禁用按鈕,java腳本
- 30. Java腳本緩存和PHP