Пользователь
0,0
рейтинг
8 октября 2010 в 13:48

Разработка → Как правильно отключить среду исполнения Java в Opera for Windows

Казалось бы, тривиальная задача – отключить Java в одном из популярных в нашей стране браузере.
Первое решение, приходящее в голову (opera:config#Java) неверное:



Если снять галочку с пункта «Java» и перезапустить браузер – Java останется включенной!
Это стоило мне нескольких переустановок операционной системы, из-за свеженького Trojan-Downloader, который не детектился ни «Кристаллом» Касперского, ни CIS от Comodo.
Троян отправлен на исследование в вирусные лаборатории вендоров антивирусов, и написано письмо в службу поддержи Opera.

Суть ответа Opera Software ASA заключается в том, что начиная с версии 10.50 опция opera:config#Java|Enabled не имеет никакого действия. А обработка Java осуществляется через API плагинов и отключать необходимо плагины: opera:config#Extensions|Plugins.
Причем, плагины отключаются все сразу, а хотелось бы например, оставить Flash, но выключить Java. В соответствующей оснастке панели управления Java тоже нет опции по выключению Java в браузере Opera (есть Internet Explorer и Mozilla Family).

Поэтому, до появления механизма, позволяющего прозрачно контролировать включение/отключение отдельных плагинов, пользователям браузера Opera for Windows следует быть особо внимательными. Здоровая паранойя не помешает.
Альберт Умеров @Albertum
карма
46,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (42)

  • +1
    плагины отключаются по отдельности на opera:plugins, еще можно вручную в disable прописать в ini в папке с плагинами.
    • +4
      Это в 10.7x, в 10.6 только все сразу.
      • +2
        ой, да точно ) забыл ) давно сижу на dev сборках.
    • +2
      там только список плагинов, никаких контролов для отключения не увидел
  • 0
    До сих пор, кстати, не детектится — ни НОД'ом, ни ДрВеб'ом, ни Аваст'ом
    Ждём светлого момента когда троян будет внесён в базу сигнатур.
    • 0
      Какой именно не детектится, господин телепат? А у меня он есть?
      • –1
        Это господа, угадывающие конкретный вирус по словам «свеженький Trojan-Donwloader» изволят минусовать?
        • 0
          Я не знаю, как назвать то, что сейчас на вирус тотале даёт 0/ 43 (0.0%) срабатываний :)
          Файл апплета (который загружается шифрованным javascript-ом) на сервере имеет имя love.mp3
          • +1
            А Quiz ваш виртуал, что ли, что он в курсе?
            • 0
              Я, вот, поставил «Диалог загрузки» на содержимое по всем плагинам, кроме Flash — регулярно недетектируемые вирусы скачиваю и отсылаю в Dr.Web.
              • 0
                На флешках тоже периодически неизвестные экземпляры приносят.
                Всегда отсылаю нескольким вендорам.
            • 0
              Думаю, он сталкивался с подобным зловредом, ну или обладает телепатическими способностями :)
              • 0
                В том и дело, что «подобных» по такому описанию — вагон и тележка, так что без телепатических способностей тут точно не обошлось.
  • 0
    Варианты:

    1. Разложить плагины в разные папки и в пути поиска плагинов указать только безопасные.
    2. Включить использование placeholder вместо плагинов (типа flashblock, только распространяется на все плагины). Плагины будут загружаться только после щелчка.
    • 0
      опера поддерживает только np_api плагины, которые позволяют только обрабатывать конкретные mime типы и всякие флэшблокеры реализуются в ней через usercss или userjs.
      • +1
        Попробуйте включить opera:config#UserPrefs|EnableOnDemandPlugin
        • 0
          это вообще ядро оперы и возможность оттуда, она блокирует все скрипты, то есть загрузка идёт по клику, в 10.70 её наконец пофиксили. Это не плагин, это ядро.
          • 0
            Я вас перестал понимать. Да, это функция ядра — блокировать плагины, и включать их только по клику, только в нужных местах. Разве не этого самого мы пытаемся добиться?
            • 0
              бр, моя неточность просто употребление плэсхолдера заместо ссылки на нужную опцию в настройках, которая и зовётся по другому, тут ваша неточность.
              Корректно деманд работает в последних сборках, ниже глючит. Для них лучше жс.
  • +4
    Для этого я создал файл plugins-ignore.ini, в который записал:
    ; This file is part of the Opera browser.
    ; Filenames of plugins we ignore and don't initialize

    [Plugins to Ignore]
    WEBHDLL.DLL = WebHancer, crashes Opera
    NP32COMET.DLL = CometCursor, crashes Opera
    NPAUDIO.DLL = Netscape audio plugin, steals audio file types
    NPJava11.dll = Java plugin, conflicts with Java VM started by Opera
    NPJava12.dll = Java plugin, conflicts with Java VM started by Opera
    NPJava13.dll = Java plugin, conflicts with Java VM started by Opera
    NPJava14.dll = Java plugin, conflicts with Java VM started by Opera
    NPJava32.dll = Java plugin, conflicts with Java VM started by Opera
    NPJPI141.dll = Java plugin, conflicts with Java VM started by Opera
    NPJPI142.dll = Java plugin, conflicts with Java VM started by Opera
    NPOJI610.dll = Java plugin, conflicts with Java VM started by Opera
    NPMOZAX.DLL = ActiveX plugin, requires Mozilla
    NPNUL32.DLL = Mozilla default plugin, requires Mozilla
    NPOFF12.DLL = Shit!
    npdsplay.dll = Shit!
    npwmsdrm.dll = Shit!
    npdeploytk.dll = Shit!
    npdivx32.dll = Shit!
    nppdf32.dll = Shit!
    npdeploytk.dll = Shit!
    npjp2.dll = Shit!
    npqtplugin.dll = Shit!
    npqtplugin2.dll = Shit!
    npqtplugin3.dll = Shit!
    npqtplugin4.dll = Shit!
    npqtplugin5.dll = Shit!
    npqtplugin6.dll = Shit!
    npqtplugin7.dll = Shit!
    npitunes.dll = Shit!
    NPWPF.dll = Shit!
    nppl3260.dll = Shit!
    nprpjplug.dll = Shit!
    npGoogleOneClick8.dll = Shit!


    После чего он был прописан в opera:config#Network|PluginIgnoreFile

    Внимание: не используйте стандартное местоположение этого файла, иначе он будет затерт при обновлении.

    Название длл-ок для отключения можно найти на странице opera:plugins. Очень хотелось бы видеть отключение плагинов в интерфейсе браузера!!!
    • +1
      Оно уже есть в 10.7 на opera:plugins
      • 0
        Круто! Это действительно полезная фича, а то замучался родительский комп лечить…
        • 0
          1. Почему на родительском компе родители серфят с админскими правами?
          2. Поделитесь сайтами (не клиентбанковскими), на которых реально используется java?
  • 0
    opera:config#Java отключает Java:

    доступ Javascript'а к объектам Java не работает — попробуйте в этой настройке включить Джаву, затем тут посмотреть, что пишут, затем выключите и обновите страницу — получите вместо mac-адреса сообщение об ошибке.

    И то же с аплетами — откройте, к примеру, сие со включённой Джавой, затем с отключенной.

    Т.е. данная настройка отключает не плагин, а поддержку Java в браузере — о наличии аплета скриптам сообщается, но navigator.javaEnabled() ставится в false.
    • 0
      Волшебный местный парсер первую ссылку со словом «Джаваскрипт» превратил в нерабочую. Альтернавная версия ссылки )
    • 0
      *… о наличии плагина…
    • 0
      Прошу прощения, проверял на древней 10.0, на 10.6-10.70 действительно не работает.
  • +2
    интересно по каким-таким сайтам вы ходите, несколько раз наступая на одни и те же грабли в виде эксплоит связки? впечатление дурака не производите :)
    • +1
      В первый раз было открыто более десятка вкладок с результатами поиска (рецензии на книги по фотографии), источник не определил. «Отключил» яву и успокоился.
      Во второй раз это был w w w. a p h o r i s m. r u Сейчас, кажется, его вылечили — по крайней мере того ифрейма с зашифрованным javascript, который загружал апплет не наблюдаю.
    • +2
      На эксплойт паки нынче можно наткнуться и на вполне белых сайтах. Вспомним относительно недавние истории с expert.ru и mosmetro.ru. Да и, собственно, ими далеко не ограничивается, иногда попадается заражённая реклама (iframe, Flash, JS) в баннерообменных сетях.
  • +1
    Я правильно понимаю, что заражение происходит через дыру в JRE, которую никто не чешется закрывать?
    • 0
      Да, и через акробат тоже. Причем полгода назад заражало через них же.
  • 0
    Закройте java.exe фаерволом, а на mimу type application/pdf выбирайте «диалог загрузки» вместо обработки плагином.
    • +1
      а на mimу type application/pdf выбирайте «диалог загрузки» вместо обработки плагином

      Данная страница откроет PDF в ассоциированном приложении без каких-либо вопросов (сам PDF файл безопасен). Настройки MIME types и Javascript на это действие не оказывают никакого влияния.
      Так что наиболее надёжный способ обезопаситься от диких вредоносов — не пользоваться браузером вообще. :)
      • 0
        Ага, сёрфить телнетом :)
      • 0
        А как это должно проявиться? У меня не открылось никаких программ, а в полях объектов либо alt текст, либо содержимое plain text'ом.
        • 0
          Должен открываться PDF файл в ассоциированном системой приложении. В Opera 10.10 по крайней мере работает.
          • –2
            Использование 10.10, мне кажется, попахивает если и не некро-, то уж точно геронтофилией.
            • 0
              А вы, должно быть, поклонник pre-beta? :)
              • 0
                Нет — использую, практически, только стабильные версии. Релиз 10.50 состоялся больше полугода назад, 2 марта. Релиз 10.10 — почти год назад, 23 ноября.
                С тех пор минуло уже как минимум 2 релиза (10.50, 10.60) и 4 обновления безопасности (10.51, 10.52, 10.61, 10.62) — и это не считая лабораторных выпусков, «пре-альф» и «пре-бет». (см. историю версий 10-й ветки)
  • +2
    А ведь предупреждали
    Разработчики Opera как будто сами по себе и делают только то, что им самим в голову взбрело.
    Прежде хотя бы была возможность избирательного включения/отключения Java для определённых сайтов.
  • 0
    мой способ заключается в том, чтобы поставить 64-битную ява и 32-битную оперу, тогда она физически не сможет загрузить библиотеки, необходимые java :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.