2010-11-09 14 views
0

Plate-forme: Windows XP/Sun Java 6machine virtuelle Java invalidante cache dns fonctionne uniquement à partir du fichier de la propriété

Il fonctionne lorsque je désactive la mise en cache DNS dans le fichier java.security: networkaddress.cache.ttl = 0

mais quand j'ai essayé de transmettre cette applet d'un param, il ne semble pas fonctionner:

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

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

</applet> 

même problème quand je l'utilise setProperty programme. J'ai lu des bugs dans l'implémentation de la JVM.

Des pointeurs sur la façon de faire ce travail en utilisant la propriété System en passant l'approche à une applet comme ci-dessus ou de manière programmatique? La manière de classer est un tracas.

Répondre

0

Une applet est un code provenant de l'extérieur, donc la JVM l'exécute généralement sous restriction par un gestionnaire de sécurité.

L'usurpation DNS étant un moyen populaire d'attaque d'un système, la propriété networkaddress.cache.ttl, que vous souhaitez modifier, est placée sous l'autorité du gestionnaire de sécurité; la valeur peut être configurée en C:\Programme\Java\jre6\lib\security\java.security. La page de documentation Java "Propriétés de mise en réseau" pour Java 6 indique que la valeur par défaut de cette propriété est -1 en présence d'un gestionnaire de sécurité, ce qui signifie pour toujours.

Le gestionnaire de sécurité mettra probablement son veto sur la tentative de votre applet pour modifier cette propriété.

Java sécurité: Comment installer le gestionnaire de sécurité et de personnaliser votre politique de sécurité http://www.javaworld.com/javaworld/jw-11-1997/jw-11-hood.html