Отличный вопрос. По иронии судьбы, именно эта функциональность была представлена в более ранней версии Microsoft JVM (10 лет назад).
Управление Java в Internet Explorer
https://blogs.msdn.com/b/ieinternals/archive/2011/05/15/controlling-java-in-internet-explorer.aspx
В последнее время возник интерес к тому, как контролировать использование Java в Internet Explorer. Java является уникальной формой расширяемости, потому что она может быть вызвана двумя способами:
- Использование элемента APPLET
- Использование элемента OBJECT с CLSID JVM
Эти два метода вызова подчиняются различным мерам безопасности, которые я опишу в сегодняшнем посте.
Управление тегами апплета
Когда Internet Explorer обнаруживает тег APPLET, он проверяет значение URLACTION_JAVA_PERMISSIONS, чтобы определить, должен ли загружаться APPLET. Если значением является URL_POLICY_JAVA_PROHIBIT, то тегу APPLET запрещается загружать JVM. В более ранних версиях Internet Explorer, когда была доступна Microsoft JVM, это действие URLAction отображалось в диалоговом окне «Инструменты> Свойства обозревателя> Безопасность> Пользовательские…», но с тех пор оно было удалено.
Редактор групповой политики можно использовать для управления действием URLAction в узле \ Административные шаблоны \ Компоненты Windows \ Internet Explorer \ Панель управления Интернетом \ Страница безопасности \ ZoneID:
Кроме того, вы можете сделать небольшую настройку реестра, чтобы добавить запись параметров JVM обратно в панель управления Интернетом:
Сценарий реестра использует тот факт, что интерфейс панели управления Интернетом можно расширить с помощью реестра; он просто создает новый элемент, который корректирует значения URLAction URLACTION_JAVA_PERMISSIONS.
Если для параметра «Зона Интернета» установить значение «Высокий уровень безопасности» на «Отключить» (URL_POLICY_JAVA_PROHIBIT), любой сайт, пытающийся использовать тег APPLET, обнаружит, что апплет не загружается, и отобразится уведомление:
Управление тегами объектов
К сожалению, когда сайт использует тег OBJECT для загрузки Java, выполняется совершенно другой путь кода. В случае тега OBJECT, URLAction JAVA_PERMISSIONS не используется, потому что для Internet Explorer это может быть OBJECT любого типа. Вместо этого используются традиционные функции управления ActiveX (например, фильтрация ActiveX, ActiveX для отдельных сайтов, управление надстройками и т. Д.). Вы можете использовать IE Инструменты> Управление надстройками, чтобы проверить или отрегулировать состояние объекта Плагина Java:
Примечание. Мне сообщили, что объект Java Plug-In SSV Helper Browser Helper не следует отключать, поскольку он гарантирует, что веб-сайты не могут пытаться загрузить более старые (небезопасные) версии JVM, которые вы, возможно, установили. Однако вы заметите, что платите штраф за производительность при запуске вкладки, чтобы загрузить это BHO - это одна из многих причин, по которым я не устанавливаю Java на своих ПК.
Если вы выберете Плагин Java, вы можете нажать кнопку Отключить , чтобы запретить загрузку Java тегом OBJECT. В качестве альтернативы, если вы нажмете ссылку « Дополнительная информация» , вы можете удалить * из списка сайтов, на которых может работать плагин Java:
Если вы впоследствии посетите сайт, который пытается вызвать Java в качестве тега OBJECT, вы увидите панель уведомлений, запрашивающую разрешение на запуск Java на текущем сайте.
Итак, если вы хотите разрешить запуск Java только в зонах интрасети и доверенных сайтов:
- Настройте действие URLAction для зоны Интернета, чтобы отключить
- Удалите * из списка для каждого элемента управления ActiveX
Шаг # 1 гарантирует, что только сайты зоны интрасети и доверенной зоны могут загружать Java для тегов APPLET. Шаг № 2 гарантирует, что Плагин Java не будет загружаться как ОБЪЕКТ на сайтах зоны Интернета; вместо этого будет показано уведомление. Поскольку интрасеть и доверенные сайты игнорируют список ActiveX для отдельных сайтов, вы не увидите никаких дополнительных предупреждений на этих сайтах.