Obiekt pomocnika przeglądarki (BHO) to moduł biblioteki dołączanej dynamicznie (DLL) zaprojektowany dla przeglądarki Microsoft Internet Explorer w celu zwiększenia jej możliwości. Został opracowany przez firmę Microsoft, aby umożliwić programistom tworzenie wtyczek i rozszerzeń, które mogą modyfikować zachowanie przeglądarki, przechwytywać żądania internetowe lub dodawać nowe funkcje.
Narodziny i historia obiektu pomocniczego przeglądarki (BHO)
BHO zostało po raz pierwszy wprowadzone przez firmę Microsoft wraz z wydaniem przeglądarki Internet Explorer 4.0 w 1997 r. To wprowadzenie było częścią szerszych wysiłków firmy Microsoft mających na celu stworzenie bardziej konfigurowalnego i wszechstronnego środowiska przeglądania sieci Web dla użytkowników. BHO są częścią systemu operacyjnego Windows, co czyni je unikalnymi dla przeglądarki Internet Explorer i nie są kompatybilne z innymi przeglądarkami, takimi jak Mozilla Firefox, Google Chrome czy Safari. Jednak dla tych innych platform opracowano podobne technologie, takie jak rozszerzenia dla przeglądarki Chrome i dodatki do przeglądarki Firefox.
Dogłębne spojrzenie na obiekt pomocniczy przeglądarki (BHO)
BHO to zasadniczo obiekt COM (Component Object Model), który Internet Explorer ładuje przy każdym uruchomieniu. BHO mogą mieć różne formy, od pasków narzędzi i rozszerzeń po bardziej wyrafinowane narzędzia zaprojektowane w celu poprawy wydajności przeglądania. Działają w tej samej przestrzeni procesowej co przeglądarka, co czyni je niezwykle potężnymi.
Jednak ich moc wiąże się również z potencjalnymi słabymi punktami. Organizacje BHO mają nieograniczony dostęp do wszystkich zdarzeń i właściwości przeglądarki, co oznacza, że mogą monitorować i manipulować ruchem internetowym, modyfikować strony internetowe, a nawet kontrolować nawigację. Niestety ten potencjał uczynił je atrakcyjnymi celami dla autorów szkodliwego oprogramowania i cyberprzestępców.
Struktura wewnętrzna i działanie obiektu pomocniczego przeglądarki (BHO)
Wewnętrzne działanie BHO obejmuje implementację interfejsu IObjectWithSite. Dzięki temu interfejsowi BHO wie, kiedy jest ładowany lub wyładowywany z pamięci przeglądarki Internet Explorer. BHO otrzymuje powiadomienia o zdarzeniach, na podstawie których może podjąć działania w celu realizacji swojej funkcji.
Po uruchomieniu Internet Explorer wysyła zapytanie do wszystkich zarejestrowanych BHO w rejestrze Windows i ładuje je do przestrzeni procesowej przeglądarki. Stąd BHO mogą wchodzić w interakcję z obiektowym modelem dokumentu (DOM) stron internetowych, modyfikować zawartość i wchodzić w interakcję z innymi interfejsami COM udostępnianymi przez przeglądarkę Internet Explorer.
Kluczowe cechy obiektu pomocniczego przeglądarki (BHO)
Kluczowe cechy BHO obejmują:
-
Rozszerzalność: BHO oferują wszechstronną platformę do rozszerzania i dostosowywania funkcjonalności przeglądarki Internet Explorer.
-
Moc: Ponieważ BHO działają w przestrzeni procesowej przeglądarki, mają szeroki dostęp i kontrolę nad zdarzeniami i właściwościami przeglądarki.
-
Elastyczność: BHO mogą wykonywać szeroki zakres funkcji, od prostych zadań, takich jak modyfikowanie treści internetowych, po bardziej złożone, takie jak obsługa zdarzeń i żądań.
-
Wszechstronność: BHO można wykorzystać do opracowania różnych narzędzi przeglądarki, w tym pasków narzędzi, rozszerzeń i innych funkcji interaktywnych.
Typy obiektów pomocniczych przeglądarki (BHO)
Biorąc pod uwagę szeroki wachlarz możliwości oferowanych przez BHO, występują one w wielu różnych formach:
Typ | Opis |
---|---|
Paski narzędzi | BHO, które dodają dodatkową funkcjonalność paska narzędzi do przeglądarki Internet Explorer |
Rozszerzenia | BHO, które zapewniają dodatkowe możliwości przeglądarki |
Oprogramowanie reklamowe | BHO zaprojektowane do wyświetlania reklam lub gromadzenia danych marketingowych |
Złośliwe oprogramowanie | BHO przeznaczone do szkodliwych celów, takich jak kradzież danych lub uszkodzenie systemu |
Użycie, problemy i rozwiązania
BHO są szeroko stosowane do tworzenia funkcji, takich jak automatyczne wypełnianie formularzy, blokowanie reklam lub dodatkowe paski narzędzi. Jednak wykorzystywano je również do tworzenia oprogramowania szpiegującego i reklamowego, co prowadziło do problemów związanych z bezpieczeństwem i prywatnością.
Aby zarządzać BHO i ograniczać potencjalne ryzyko, użytkownicy mogą korzystać z menedżerów BHO. Narzędzia te pozwalają użytkownikom włączać, wyłączać lub usuwać BHO z ich systemów. Aktualizowanie oprogramowania i poprawek zabezpieczeń, korzystanie z niezawodnego oprogramowania antywirusowego i regularne skanowanie w poszukiwaniu złośliwego oprogramowania może również pomóc w ochronie przed złośliwymi BHO.
Porównanie z podobnymi terminami
Termin | Opis |
---|---|
BHO | Obiekty COM specyficzne dla przeglądarki Internet Explorer, umożliwiające rozszerzenia przeglądarki |
Rozszerzenia Chrome | Oparte na HTML, CSS i JS, rozszerzają funkcjonalność przeglądarki Google Chrome |
Dodatki do Firefoksa | Napisane w JavaScript, dodają funkcjonalności do przeglądarki Mozilla Firefox |
Rozszerzenia Safari | Używają kombinacji HTML, CSS, JavaScript i kodu natywnego, aby zwiększyć możliwości Safari |
Przyszłe perspektywy i technologie
Od momentu zakończenia mojej wiedzy we wrześniu 2021 r. przyszłość przedsiębiorstw BHO wydawała się niepewna ze względu na wycofanie przeglądarki Internet Explorer przez firmę Microsoft. Microsoft Edge, jego następca, korzysta z innego modelu opartego na Chromium, który obsługuje rozszerzenia podobne do Google Chrome, a nie BHO. To przejście oznacza, że programiści prawdopodobnie skupią się na technologiach rozszerzeń zgodnych ze sobą, a nie na BHO.
Serwery proxy i obiekt pomocniczy przeglądarki (BHO)
Serwery proxy i BHO mogą się ze sobą krzyżować na różne sposoby. Na przykład można opracować BHO do zarządzania ustawieniami proxy w przeglądarce Internet Explorer, automatycznie przełączając się między różnymi serwerami proxy w oparciu o wcześniej zdefiniowane reguły lub dane wprowadzone przez użytkownika. Jednak tę funkcjonalność coraz częściej zapewniają wbudowane funkcje przeglądarki lub kompatybilne rozszerzenia.