Excelente pregunta Irónicamente, esta misma funcionalidad se expuso en la versión anterior de Microsoft JVM (hace 10 años).
Control de Java en Internet Explorer
https://blogs.msdn.com/b/ieinternals/archive/2011/05/15/controlling-java-in-internet-explorer.aspx
Recientemente, ha habido cierto interés en cómo controlar el uso de Java dentro de Internet Explorer. Java es una forma única de extensibilidad porque se puede invocar de dos maneras:
- Usando un elemento APPLET
- Usar un elemento OBJECT con un CLSID de una JVM
Estos dos métodos de invocación están sujetos a diferentes controles de seguridad, que describiré en la publicación de hoy.
Control de etiquetas de applet
Cuando Internet Explorer encuentra una etiqueta APPLET, comprueba el valor URLACTION_JAVA_PERMISSIONS para determinar si se debe cargar el APPLET. Si el valor es URL_POLICY_JAVA_PROHIBIT, entonces la etiqueta APPLET no puede cargar la JVM. En versiones anteriores de Internet Explorer, cuando un JVM de Microsoft estaba disponible, esta URLAction estaba expuesta en el cuadro de diálogo Herramientas> Opciones de Internet> Seguridad> Personalizado ... pero desde entonces se ha eliminado.
Puede usar el Editor de directivas de grupo para controlar la acción URL en el nodo \ Plantillas administrativas \ Componentes de Windows \ Internet Explorer \ Panel de control de Internet \ Página de seguridad \ ZoneID:
Alternativamente, puede hacer un pequeño ajuste de registro para agregar la entrada de Opciones de JVM al Panel de control de Internet:
El script de registro aprovecha el hecho de que la interfaz de usuario del Panel de control de Internet es extensible a través del registro; simplemente crea un nuevo elemento que ajusta los valores de URLACTION_JAVA_PERMISSIONS URLAction.
Si ajusta la configuración de la zona de Internet de "Alta seguridad" a Desactivar (URL_POLICY_JAVA_PROHIBIT), cualquier sitio que intente usar una etiqueta APPLET encontrará que el applet no se carga y se muestra una notificación:
Control de etiquetas de objeto
Desafortunadamente, cuando un sitio usa una etiqueta OBJECT para cargar Java, se ejecuta una ruta de código completamente diferente. En el caso de la etiqueta OBJECT, la URLAction JAVA_PERMISSIONS no se consulta, porque en lo que respecta a Internet Explorer, este podría ser cualquier tipo de OBJECT. En cambio, se consultan las características tradicionales de control de ActiveX (por ejemplo, filtrado ActiveX, ActiveX por sitio, Administrar complementos, etc.). Puede usar la función Herramientas> Administrar complementos de IE para examinar o ajustar el estado del objeto de complemento de Java:
Nota: Me dijeron que el objeto Helper Browser Helper Helper de Java Plug-In no debería deshabilitarse, ya que garantiza que los sitios web no intenten cargar versiones anteriores (inseguras) de la JVM que haya instalado. Sin embargo, notará que paga una penalización de rendimiento al iniciar la pestaña para cargar este BHO; esta es una de las muchas razones por las que no instalo Java en mis PC.
Si selecciona el complemento de Java, puede hacer clic en el botón Deshabilitar para evitar que Java se cargue con una etiqueta OBJECT. Alternativamente, si hace clic en el enlace Más información , puede borrar el * de la lista de sitios en los que se puede ejecutar el complemento Java:
Si posteriormente visita un sitio que intenta invocar Java como una etiqueta OBJETO, verá una barra de notificación que le solicita permiso para ejecutar Java en el sitio actual.
Entonces, si desea permitir que Java se ejecute solo en las zonas de Intranet y Sitios de confianza:
- Ajuste la URLAction para la zona de Internet para deshabilitar
- Elimine el * de la lista por sitio del control ActiveX
El paso n. ° 1 garantizará que solo los sitios de Intranet Zone y Trusted Zone puedan cargar Java para las etiquetas APPLET. El paso 2 asegurará que el complemento de Java no se cargue como un OBJETO en los sitios de la zona de Internet; se mostrará una notificación en su lugar. Debido a que Intranet y Sitios de confianza ignoran la lista ActiveX por sitio, no verá ninguna advertencia adicional en esos sitios.