2010-11-09 25 views
0

平臺:Windows XP中/的Sun Java 6JVM DNS緩存禁用只能從屬性文件工作

它的工作原理,當我在java.security文件中禁用DNS緩存: networkaddress.cache.ttl = 0

但是,當我試圖從applet通過這個PARAM,它似乎不工作:

<applet id="MiaApplet" 
    ..... 

    <property name="networkaddress.cache.ttl" value="0"/> 

</applet> 

同樣的問題,當我使用的setProperty編程。我沒有讀過關於JVM實現中的錯誤。

有關如何使用系統屬性將方法傳遞給applet的方法(如上所述)或編程方式的任何指針?文件的方式是一件麻煩事。

回答

0

一個applet是外部的代碼,因此JVM通常在安全管理器的限制下運行它。

DNS欺騙是攻擊系統的常用方式,您想要更改的屬性networkaddress.cache.ttl置於安全管理器的權限之下;該值可以在C:\Programme\Java\jre6\lib\security\java.security中配置。

Java 6的Java文檔頁面「網絡屬性」表示,在安全管理器的存在下,此屬性的默認值爲-1,這意味着永遠。

安全經理可能會否決您的小程序嘗試更改此屬性。

Java安全:如何安裝安全管理器和自定義的安全策略 http://www.javaworld.com/javaworld/jw-11-1997/jw-11-hood.html