Doskonałe pytanie. Jak na ironię, ta właśnie funkcjonalność została ujawniona w starszej JVM Microsoft (10 lat temu).
Kontrolowanie Java w Internet Explorerze
https://blogs.msdn.com/b/ieinternals/archive/2011/05/15/controlling-java-in-internet-explorer.aspx
Ostatnio pojawiło się zainteresowanie sposobem kontrolowania korzystania z Java w Internet Explorerze. Java jest unikalną formą rozszerzalności, ponieważ można ją wywoływać na dwa sposoby:
- Korzystanie z elementu APPLET
- Używanie elementu OBJECT z CLSID JVM
Te dwie metody wywoływania podlegają różnym kontrolom bezpieczeństwa, które opiszę w dzisiejszym poście.
Kontrolowanie tagów apletów
Kiedy Internet Explorer napotka znacznik APPLET, sprawdza wartość URLACTION_JAVA_PERMISSIONS, aby ustalić, czy APPLET powinien zostać załadowany. Jeśli wartość wynosi URL_POLICY_JAVA_PROHIBIT, tag APPLET nie może załadować maszyny JVM. We wcześniejszych wersjach programu Internet Explorer, gdy dostępna była maszyna Microsoft JVM, ta URLAction była widoczna w oknie dialogowym Narzędzia> Opcje internetowe> Zabezpieczenia> Niestandardowe…
Za pomocą Edytora zasad grupy można kontrolować URLAction w węźle \ Szablony administracyjne \ Składniki systemu Windows \ Internet Explorer \ Internetowy panel sterowania \ Strona bezpieczeństwa \ ZoneID:
Alternatywnie możesz wprowadzić małe poprawki rejestru, aby dodać pozycję Opcje JVM z powrotem do Internetowego panelu sterowania:
Skrypt rejestru korzysta z faktu, że interfejs Internetowego panelu sterowania jest rozszerzalny przez rejestr; tworzy po prostu nowy element, który dostosowuje wartości URLACTION_JAVA_PERMISSIONS URLAction.
Jeśli zmienisz ustawienia strefy internetowej z „High Security” na Disable (URL_POLICY_JAVA_PROHIBIT), każda strona próbująca użyć tagu APPLET stwierdzi, że aplet się nie ładuje i wyświetli się powiadomienie:
Kontrolowanie znaczników obiektu
Niestety, gdy witryna używa znacznika OBJECT do ładowania Java, wykonywana jest zupełnie inna ścieżka kodowa. W przypadku znacznika OBJECT nie jest sprawdzana JAVA_PERMISSIONS URLAction, ponieważ w przypadku przeglądarki Internet Explorer może to być dowolny typ OBJECT. Zamiast tego sprawdzane są tradycyjne funkcje kontrolujące ActiveX (np. Filtrowanie ActiveX, ActiveX dla poszczególnych witryn, Zarządzanie dodatkami itp.). Możesz użyć narzędzia IE> Zarządzaj dodatkami, aby zbadać lub dostosować stan obiektu wtyczki Java:
Uwaga: Powiedziano mi, że obiekt Pomocnika przeglądarki Java Plug-In SSV Helper Browser Helper nie powinien być wyłączany, ponieważ zapewnia, że strony internetowe nie będą mogły próbować załadować starszych (niezabezpieczonych) wersji JVM, które mogły być zainstalowane. Zauważysz jednak, że płacisz za obniżenie wydajności podczas uruchamiania karty, aby załadować to BHO - jest to jeden z wielu powodów, dla których nie instaluję Java na moich komputerach.
Po wybraniu wtyczki Java można kliknąć przycisk Wyłącz , aby zapobiec ładowaniu Java przez znacznik OBJECT. Alternatywnie, jeśli klikniesz link Więcej informacji , możesz usunąć * z listy witryn, na których może działać wtyczka Java:
Jeśli następnie odwiedzisz witrynę, która próbuje wywołać Javę jako znacznik OBJECT, zobaczysz pasek powiadomień z prośbą o pozwolenie na uruchomienie Java w bieżącej witrynie.
Jeśli więc chcesz zezwolić Javie na działanie tylko w strefach intranetowych i witryn zaufanych:
- Dostosuj URLAction dla strefy internetowej, aby wyłączyć
- Usuń * z listy kontrolek ActiveX dla poszczególnych witryn
Krok 1 zapewni, że tylko witryny Intranet Zone i Strefa zaufana mogą ładować Javę dla tagów APPLET. Krok 2 zapewni, że wtyczka Java nie zostanie załadowana jako OBIEKT w witrynach strefy internetowej; zamiast tego zostanie wyświetlone powiadomienie. Ponieważ intranet i zaufane witryny ignorują listę ActiveX dla poszczególnych witryn, nie zobaczysz żadnych dodatkowych ostrzeżeń na tych stronach.