2014-09-04 52 views
0

在我的java程序中,我使用的是System.set屬性,它工作正常。但在我的整個項目中,我沒有使用任何System.get屬性。但是,當我使用Hp fortify工具時,它顯示錯誤爲設置操作。使用像這樣設置屬性:System.setProperty("java.net.useSystemProxies", "true");是否是錯誤的使用方法,如果有的話,任何人都可以引導我。在java中使用System.set屬性時出了什麼問題?

+0

請問能告訴我爲什麼投票下來? – abdul 2014-09-04 03:46:01

+0

在代碼中設置系統屬性並不是錯誤,但它不是最好的方法。系統類是爲了訪問外部定義的屬性。可能這就是爲什麼你的HP工具顯示代碼錯誤。希望這可以幫助。順便說一句,我沒有投票 – 2014-09-04 03:50:10

+0

謝謝你的寶貴意見。 – abdul 2014-09-04 03:56:49

回答

0

從Java代碼操作系統設置是一個潛在的安全問題。請參閱description of the alert here。下面是該文件的簡要摘錄:

摘要

允許的系統設置外部控制可以導致服務中斷或導致應用程序以意外的方式行事。

說明

設置操縱脆弱時候出現攻擊者可以控制支配系統的行爲價值觀,管理特定的資源,或以某種方式影響應用程序的功能。

由於設置操作涉及多種功能,因此任何試圖說明它的嘗試都不可避免地會不完整。不要在設置操作類別中尋址的功能之間尋找緊密的關係,而應該退一步考慮不應允許攻擊者控制的各種系統值。