2013-01-09 28 views
0

我有一個Java程序,它使用user.home系統屬性來獲取用戶主目錄。 該程序不應允許在命令行上使用user.home屬性。如果用戶從user.home(java -Duser.home)的命令行傳遞錯誤的目錄,那麼我的程序就會有安全漏洞。如何在命令行上避免Java系統屬性?

那麼如何限制user.home從命令行,它應該只使用通過程序?

+5

如果您的設計依賴於'user.home'來確保安全,則無論用戶是否可以在命令行中將其指定爲屬性,您的程序都將是不安全的。 –

+2

如果用戶有權訪問另一個用戶的主目錄,則無需運行Java就會有潛在的安全問題。 –

+0

我建議在你的用例中詳細描述'user.home'對安全敏感的原因。 –

回答

3

無法保證user.home設置正確。

user.home$HOME環境變量初始化,如果它不直接傳遞給JVM。

不可能阻止用戶修改他們自己的環境。

相關問題