Excelente pergunta. Ironicamente, essa mesma funcionalidade foi exposta na Microsoft JVM mais antiga (10 anos atrás).
Controle de Java no Internet Explorer
https://blogs.msdn.com/b/ieinternals/archive/2011/05/15/controlling-java-in-internet-explorer.aspx
Recentemente, houve algum interesse em como controlar o uso de Java no Internet Explorer. Java é uma forma exclusiva de extensibilidade porque pode ser invocada de duas maneiras:
- Usando um elemento APPLET
- Usando um elemento OBJECT com um CLSID de uma JVM
Esses dois métodos de chamada estão sujeitos a diferentes controles de segurança, que descreverei na postagem de hoje.
Controlando Tags de Applet
Quando o Internet Explorer encontra uma marca APPLET, ele verifica o valor URLACTION_JAVA_PERMISSIONS para determinar se o APPLET deve ser carregado. Se o valor for URL_POLICY_JAVA_PROHIBIT, a tag APPLET será impedida de carregar a JVM. Nas versões anteriores do Internet Explorer, quando uma JVM da Microsoft estava disponível, esse URLAction era exposto na caixa de diálogo Ferramentas> Opções da Internet> Segurança> Personalizada ..., mas foi removida.
Você pode usar o Editor de Diretiva de Grupo para controlar a URLAction no nó \ Modelos Administrativos \ Componentes do Windows \ Internet Explorer \ Painel de Controle da Internet \ Página de Segurança \ ZoneID:
Como alternativa, você pode fazer um pequeno ajuste no registro para adicionar a entrada Opções da JVM ao Painel de Controle da Internet:
O script do registro tira proveito do fato de que a interface do usuário do Painel de Controle da Internet é extensível via registro; ele simplesmente cria um novo item que ajusta os valores da URLACTION_JAVA_PERMISSIONS URLAction.
Se você ajustar as configurações da Zona da Internet de "Alta segurança" para Desativar (URL_POLICY_JAVA_PROHIBIT), qualquer site que tente usar uma tag APPLET descobrirá que o applet não carrega e uma notificação é exibida:
Controlando Tags de Objeto
Infelizmente, quando um site usa uma marca OBJECT para carregar Java, um caminho de código totalmente diferente é executado. No caso da marca OBJECT, a JAVA_PERMISSIONS URLAction não é consultada, porque, no que diz respeito ao Internet Explorer, esse pode ser qualquer tipo de OBJECT. Em vez disso, os recursos tradicionais de controle do ActiveX são consultados (por exemplo, Filtragem ActiveX, ActiveX por site, Gerenciar complementos, etc.). Você pode usar o recurso Ferramentas> Gerenciar complementos do IE para examinar ou ajustar o estado do objeto Java Plug-in:
Nota: Foi-me dito que o objeto Auxiliar do Navegador SSV Helper do Plug-in Java não deve ser desativado, pois garante que os sites não tentem carregar versões mais antigas (inseguras) da JVM que você instalou. No entanto, você perceberá que paga uma multa de desempenho na inicialização da guia para carregar este BHO - esse é um dos muitos motivos pelos quais não instalo o Java nos meus PCs.
Se você selecionar o Plug-in Java, poderá clicar no botão Desativar para impedir que o Java seja carregado por uma marca OBJECT. Como alternativa, se você clicar no link Mais informações , poderá limpar o * da lista de sites nos quais o Plug-in Java pode ser executado:
Se você visitar um site posteriormente que tentar chamar Java como uma marca OBJECT, verá uma barra de notificação solicitando permissão para executar o Java no site atual.
Portanto, se você deseja permitir que o Java seja executado apenas nas zonas Intranet e Sites Confiáveis:
- Ajuste o URLAction para a zona da Internet para desativar
- Remova o * da lista por site do controle ActiveX
A etapa 1 garantirá que apenas sites da Zona da Intranet e da Zona Confiável possam carregar o Java para Tags APPLET. A etapa 2 garantirá que o Java Plug-in não seja carregado como OBJETO nos sites da Zona da Internet; uma notificação será exibida. Como a Intranet e os sites confiáveis ignoram a lista ActiveX por site, você não verá nenhum aviso adicional nesses sites.