ActiveX

Praktisch aber inkompatibel

ActiveX ist eine Technologie des Software-Marktführers. Damit ist es u.a. möglich, kleine wiederverwendbare Programm-Teile (Plugins) für viele verschiedene Aufgaben herzustellen. Die größten Nachteile sind die Beschränkung auf Systeme des Herstellers und das fehlende Sicherheits-Konzept.
Anwendung Informatik-Themen aus Sicht der AnwenderInnen
ActiveX Allgemeine Bemerkungen
Dynamische Webseiten Anwendung von ActiveX in einem (M$IE)-Browser
Browser Konfiguration Kompliziert und mühsam
Demonstration Live-Demo mit Javascript & ActiveX
Verwandte Themen: Entwicklung mit ActiveX und Javascript, VBA
Alternative: Dynamische Webseiten mit Perl, PHP
Links Ausgewählte Links Links zum Thema ActiveX

ActiveX

ActiveX
ist eine von Microsoft entwickelte Software-Technologie.
Damit können u.a. Hilfsprogramme und Plugins hergestellet werden. Solche ActiveX-Controls sind in großer Zahl verfügbar.

Typische Anwendungen sind z.B. ActiveX-Plugins für den M$IE Browser des gleichen Herstellers oder ActiveX-DAO-Controls für den Zugriff auf Datenbanken.

ActiveX-Objekte sind Programme mit allen Vor- und Nachteilen: Damit lassen sich alle denkbaren Aufgaben (nur auf Win-PC) ausführen, aber auch Viren und Schnüffler programmieren.

Die Anwendung von ActiveX ist auf M$-Betriebssysteme beschränkt. Da in diesem Web internationale Standards und System-unabhängige Technologien bevorzugt werden, ist hier für ActiveX nur wenig Platz.

ActiveX-Objekte können von allen auf M$-Betriebssystemen laufenden Programmen eingesetzt werden. Sinnvoll sind z.B. Controls für Standard-Aufgaben, die in gleicher Form von mehreren verschiedenen Programmen benutzt werden können.
In vielen Fällen können ActiveX Controls optionbal als Programm-Erweiterungen (Plugins) geladen werden.
Ein Sonderfall ist der M$IE Browser (nächstes Kapitel).

Dynamische Webseiten

Webseiten-Programme
Dynamische Webseiten haben (im Gegensatz zu statischen = gleichbleibenden Seiten) einen variablen Inhalt.
Da auf allen heutigen PC Browser-Programme installiert oder zumindest verfügbar sind, liegt es nahe, Webseiten auch für die Verwaltung des eigenen PC einzusetzen.

Für Verwaltungs-Aufgaben ist es notwendig, dass (dynamische) Webseiten Daten des eigenen PC anzeigen und Befehle ausführen können.
Dieses Konzept erlaubt die rasche und sparsame Entwicklung von Webseiten-Programmen. Dabei gibt es allerdings einige spezielle Aspekte:
M$IE Browser
Nach allgemeinen Internet-Standards dürfen Browser nicht auf Resourcen des eigenen PC zugreifen. Genau diese wichtige Sicherheits-Schranke wird bei Anwendung von ActiveX mit dem M$IE-Browser durchbrochen.

Das hat einige Konsequenzen:
Mit ActiveX Plugins, -Controls und -Scripts sind viele bequeme Funktionen zur Verwaltung des eigenen (Windows)-PC mit Webseiten möglich
Mit ActiveX können sämtliche Sicherheits-Schranken des eigenen PC (und der zugänglichen Netzwerk-Resourcen) durchbrochen werden
Daher wurden die ursprünglich freudig begrüßten Möglichkeiten von ActiveX im Laufe der Zeit durch eine Vielzahl von Browser-Optionen wieder begrenzt.
In der Standard-Installation aktueller M$IE-Versionen ist ActiveX praktisch vollständig abgeschaltet.
ActiveX Programme sind teilweise von der Version des Betriebssystems und der darin installierten Komponenten abhängig.
ActiveX-Controls sind binäre Dateien und daher für Menschen nicht lesbar. Die Verwendung ist reine Vertrauens-Sache.
Eine Ausnahme sind nur Javascript-Programme, die als einzige zur Live-Demonstration von ActiveX in diesem Web verwendet werden. Der Javascript Quelltext ist frei zugänglich, lesbar, kontrollierbar und kopierbar.
ActiveX Komponenten müssen nicht ausdrücklich am eigenen PC installiert werden. Sie können auch als Bestandteile von Webseiten geladen werden, wenn die Konfiguration des Browsers (Kapitel auf dieser Seite) es erlaubt.
Webserver
Ein Webserver am eigenen PC bietet die Möglichkeit, alle strategischen Vorteile von ActiveX zu nutzen, ohne die Nachteile in Kauf nehmen zu müssen. Nicht der Browser sondern der Webserver greift auf die Resourcen des eigenen PC zu.

Ein Webserver ermöglicht die Verwaltung aller Resourcen des eigenen PC mit "Dynamischen Webseiten". Die Zugriffsrechte lassen sich einfach und strikt konfigurieren.
An Stelle der binären ActiveX-Controls werden Script-Programme (z.B. der Programmiersprachen Perl oder PHP) verwendet. Solche Programme liegen im Klartext vor und können gelesen, kontrolliert und bei Bedarf verändert werden.
Script-Programme und ganze Programm-Pakete sind in großer Zahl im Internet verfügbar.
Dynamische Webseiten des eigenen Webservers funktionieren auf jedem Betriebssystem und mit jedem gängigen Browser. Sie sind bei sauberer Programmierung unabhängig von den verwendeten Versionen.
Als Webserver sind viele verschiedene Programme einsetzbar. Den Standard Webserver Apache gibt es kostenlos für alle gängigen Betriebssysteme.
Ein Webserver benötigt nur geringe Resourcen (Festplatte, Hauptspeicher), verglichen mit der Ausrüstung moderner PC.
Der Webserver muss am eigenen PC laufen. Webserver fremder PC (sogar ein Server im eigenen Netzwerk) haben keinen Zugriff auf den eigenen PC.

Details zum Thema Webserver, Perl, PHP (speziell auf Windows: Webserver, Perl, PHP )
Webseiten-Programme werden heute bereits häufig eingesetzt, meist jedoch von "PowerUsern", z.B. AdministratorInnen und TechnikerInnen.

Auf den meisten AnwenderInnen-PC sind bereits Vorstufen von Webservern installiert, meist für spezialisierte Aufgaben und fast immer ohne Wissen der AnwenderInnen.

Die Installation kompletter professioneller Webserver auf jedem heutigen PC ist technisch kein Problem. Der Standard Webserver Apache und viele andere Produkte sind überdies kostenlos verfügbar. Webserver passen vermutlich nicht in die Marketing Konzepte des Marktführers, weil damit eigene lizensierte Produkte konkurriert werden, und zwar meist kostenlos und mit Möglichkeit zur Auswahl.
Wenn ein größerer Anteil von PC mit eigenen Webservern ausgerüstet wird, dann ist mit einer explosionsartigen Zunahme des Angebots und der Verwendung von Webseiten-Programmen zu rechnen.

Tipp: Viele Hardware-Produkte (Modems, Router, Drucker, Netzwerk-Festplatten etc.) sind mit dem Browser über Webseiten-Programme zu konfigurieren und zu verwalten. Dabei wird niemals ActiveX eingesetzt sondern fast immer ein abgespecktes Linux-System mit einem Apache Webserver.

Kapitel

Entwicklung:
Wer die Einschränkung auf Windows-Systeme und Windows-Software in Kauf nimmt, kann die Vorteile von ActiveX für eigene Entwicklungen nutzen.

Sinnvoll ist die Einbindung von ActiveX u.a. für die Programmiersprachen C++, Javascript und Visual Basic (VBA).
Die Programmierung von Visual Basic erfordert teure Software und laufende weitere Investitionen für neue Versionen.
Eine sparsamere Variante bieten die Office-Programme des gleichen Herstellers: Sie erlauben die Programmierung von Visual Basic for Application (VBA) Zusatz-Programmen, allerdings nicht von allein (standalone) ausführbaren Programmen. Tipp: Klicken sie in einem Office-Programm die Tasten Alt-F11).
ActiveX bietet für VBA-Programme einige Erleichterungen und Ergänzungen. Damit werden bestimmte Arbeiten erleichtert, beschleunigt bzw. überhaupt ermöglicht.
ActiveX kann aber auch dazu verwendet werden, Viren und Spione in solche "Makro"-Programme einzubauen.
Das kann viele Vorteile bringen, aber auch Viren und Spionage.
Da VBA ohnehin nur auf Windows-Systemen läuft, spielt auch die Einschränkung auf Systeme dieses Herstellers keine Rolle.
ActiveX bietet für Javascript-Programme die Möglichkeit, entgegen den Internet-Richtlinien mit dem Browser auf alle Resourcen des AnwenderInnen-PC zuzugreifen.
Mit ActiveX ist das komplette Dateisystem zugänglich: Alle Volumes (Laufwerke), Verzeichnisse (Ordner) und Dateien.
Mit ActiveX ist die Registry-Datenbank zugänglich und damit alle Daten zur Konfiguration des PC und viele andere sensible Daten.
Die Verwendung von ActiveX auf Webseiten ist eingeschränkt:
- Auf PC mit Windows-Betriebssystem
- Auf M$IE-Browser
Wegen der potentiellen Gefährlichkeit sind jedoch die ActiveX-Möglichkeiten von M$IE Browsern weitgehend abgeschaltet. Nur bei Durchforsten der relativ komplizierten Browser-Optionen ist es möglich, Javascript mit ActiveX tatsächlich zu nutzen.

Browser-Konfiguration

Die Verwendung von ActiveX erweitert die Fähigkeiten des M$IE-Browsers. Mit ActiveX ist für den Browser der volle Zugriff auf alle Resourcen des eigenen PC möglich, z.B. auf das Dateisystem, auf alle Dateien und auf die Regsistry-Datenbank. Diese enormen Fähigkeiten werden jedoch kaum genutzt, da die potentiellen Gefahren enorm sind.
Daher wurden die ActiveX-Möglichkeiten der M$IE Browser im Laufe ihrer Versionen immer mehr eingeschränkt und heute nur selten wirklich angewendet.
Wer heute ActiveX mit seinem M$IE-Browser auf einem Windows-PC verwenden will, der muss sich den Mühen einer umständlichen Konfiguration unterziehen.
Alle folgenden Angaben sind unverbindlich, die Details ändern sich erfahrungsgemäß mit jeder Version.
Leider sind einige der vielen Optionen schlecht dokumentiert oder wurden von den ÜbersetzerInnen nicht verstanden.
Sicherheits-Philosophie
Die totale Sicherheit vor Angriffen auf den eigenen PC kann man nur erreichen, wenn man ihn niemals einschaltet - und selbst dann kann er verbrennen, zerbrechen oder gestohlen werden.

Weil es so mühsam und zeitraubend ist, einen PC (mit System, Programmen und Daten) wiederherzustellen, treibt man einen enormen Aufwand, um ihn gegen Störungen jeder Art zu schützen. Heutige PC verwenden bereits mehr Resourcen für ihren Schutz als für ihren Betrieb, d.h. für den eigentlichen Nutzen.

Trotzdem werden Millionen PC-AnwenderInnen von Spam und Viren geplagt. Es ist bemerkenswert, dass fast nichts gegen die Verursacher unternommen wird, sehr viel dagegen für die Abwehr - Nur damit lässt sich nämlich ein blendendes Geschäft machen.

Die Gefahren für ihren PC sind zwar vorhanden, jedoch lange nicht so groß wie sie glauben sollen. Vernünftiges Verhalten ist allerdings vorausgesetzt, d.h. sie sollten nicht jeden Link anklicken, der raschen Reichtum verspricht.
Große Konzerne versuchen zunehmend, aus der Verunsicherung Kapital zu schlagen. Das sollte man berücksichtigen, bevor man seinen PC bis zur Unbrauchbarkeit "sichert".
Sicherheits-Software
Fast jeder PC ist heute mit mehreren Programmen zur Absicherung gegen Viren, Spione usw. ausgerüstet.
Diese Programme sind natürlich konfigurierbar, allerdings wird diese Möglichkeit nur von sehr wenigen AnwenderInnen genutzt.

Wenn eine (vermeintliche) Bedrohung erkannt wird, dann ragieren die meisten Programme mit einem Meldungs-Fenster. Das Programm speichert ihre Reaktion und verwendet sie automatisch und ungefragt für alle weiteren ähnlichen Zugriffe.

Überlegen sie daher genau, ob sie z.B. das Laden einer Webseite zulassen oder nicht.

Diese Seite wird daraufhin entweder immer ungefragt geöffnet oder niemals wieder zugelassen.

Zur Änderung dieses Verhalten gibt es nur ein Mittel: Öffnen sie die betreffende Software und versuchen sie bis zu jenem Punkt vorzudringen, wo eine Änderung der gespeicherten Einstellung möglich ist.
Vertrauens-Gruppen für Webserver
Es ist heute allgemein üblich, Web-Anbieter nach Vertrauen in mehrere Gruppen einzuteilen, z.B.: Eigener PC - Lokales Netzwerk (LAN) - Internet(vertrauenswürdig) - Internet (normal) - Nicht vertrauenswürdig (bedenklich, gefährlich)
Das Kriterium für die Einteilung ist normalerweise die Web-(IP)-Adresse des Anbieters bzw. seines Webservers. In speziellen Fällen können einzelne Webseiten in einer anderen Vertrauens-Gruppe geführt werden.

Nur für den eigenen PC und für das Lokale Netzwerk (LAN) kann die Einteilung automatisch erfolgen. Alle anderen Einteilungen müssen mit mehr oder weniger eigenem Aufwand manuell erfolgen.

Wenn sie ActiveX anwenden wollen, dann sollte der Server des Anbieters (mindestens jedoch die gewünschte Webseite) in die Gruppe der Vertrauenswürdigen Sites eingetragen werden.

Öffnen sie ein Fenster ihres M$IE-Browsers und laden sie am besten eine beliebige Webseite des gleichen Anbieters (für eine ActiveX-Demonstration in diesem Web z.B. die jetzt angezeigte Seite).

Verwenden sie Menü Extras | Internetoptionen | Sicherheit
Markieren sie die Gruppe Vertrauenswürdige Sites, klicken sie den Button Sites.

Bei neueren Browser-Versionen ist die Adresse des Webservers bereits eingetragen, bei älteren Versionen müssen sie selbst eintippen: Im Falle dieser Webseite lautet der Eintrag:
http://www.topsoft.at
Das Kästchen für Serverüberpfüfung (https) lassen sie normalerweise unmarkiert.
Bestätigen sie mit Schließen, OK oder äquivalenten Buttons.
Sicherheit konfigurieren:

Alle Vorschläge zur Konfiguration sind unverbindlich, d.h. für allfällige unangenehme Folgen sind sie selbst verantwortlich.

Führen sie (wenn überhaupt) nur wenige Änderungen durch und prüfen sie sofort die Wirkung, z.B. mit der hier angebotenen Demo-Webseite.

Sie können die Einstellung zu jedem Zeitpunkt widerrufen und mit dem Button Standardstufe auch nach vielen Änderungen wieder auf die relativ sichere Ausgangs-Position direkt nach der Installation zurückkehren.

Verwenden sie Menü Extras | Internetoptionen | Sicherheit
Markieren sie die Gruppe Vertrauenswürdige Sites, klicken sie den Button Stufe anpassen.

Sie erhalten eine lange Liste einstellbarer Optionen.
Ändern sie keine Option, deren Sinn sie nicht verstehen. Der folgende Absatz zeigt jenen Ausschnitt, der für die Konfiguration des ActiveX-Verhaltens zuständig ist.
Konfigurations-Beispiel für M$IE Version 6
(1) ActiveX Steuerelemente ausführen, die für Scripting sicher sind → Aktivieren
(2) ActiveX Steuerelemente initialisieren und ausführen, die nicht sicher sind → Eingabeaufforderung
(3) ActiveX Steuerelemente und Plugins ausführen → Aktivieren
(4) Automatische Eingabeaufforderung für ActiveX Steuerelemente → Aktivieren
(5) Binär- und Scriptverhalten → Aktivieren
(6) Download von signierten ActiveX Steuerelementen → Eingabeaufforderung
(7) Download von unsignierten ActiveX Steuerelementen → Eingabeaufforderung
Konfigurations-Beispiel für M$IE Version 7
(1) ActiveX Steuerelemente initialisieren und ausführen, die für Scripting sicher sind → Aktivieren
(2) ActiveX Steuerelemente initialisieren und ausführen, die nicht als sicher für für Scripting markiert sind → Bestätigen
(3) ActiveX Steuerelemente und Plugins ausführen → Aktivieren
(4) Ausführung von bisher nicht verwendeten ActiveX Steuerelementen ohne Eingabeaufforderung zulassen → Aktivieren
(5) Automatische Eingabeaufforderung für ActiveX Steuerelemente → Aktivieren
(6) Binär- und Scriptverhalten → Aktivieren
(7) Signierte ActiveX Steuerelemente herunterladen → Bestätigen
(8) Scriptlets zulassen → Aktivieren oder Bestätigen
(9) Unsignierte ActiveX Steuerelemente herunterladen → Bestätigen
Die vorgeschlagene Einstellung sollte dieses Verhalten bewirken:
Wenn eine Webseite ActiveX Komponenten enthält, dann werden sie jedesmal gefragt, ob ActiveX ausgeführt werden darf.
Ihre Antwort wird nicht gespeichert, d.h. sie können die Seite mehrmals mit unterschiedlicher Anweisung laden.
Die Punkte (2) und (3) sind teilweise voneinander abhängig, d.h. Änderung eines Punktes setzt den anderen manchmal außer Kraft - Das wird jedoch nicht angezeigt ! Die hier vorgeschlagene Einstellung enthält nach Erfahrung keine Widersprüche, d.h. die Einstellung ist so wirksam wie angezeigt.
Test
Nach Konfiguration von Vertrauens-Gruppe und Anpassung der Sicherheits-Stufe ist ein Test angebracht.
Verwenden sie z.B. die ActiveX-Demo Seite dieses Webs.

Auch nach der ersten Konfiguration kann es noch zahlreiche Hindernisse geben, welche die ActiveX Ausführung verhindern.
Der Test ist ein Hinweis darauf, ob solche zusätzliche Einschränkungen existieren.
Weitere Hindernisse:
Zusätzliche Beschränkungen können durch zahlreiche Sicherheits-Programme auftreten. Rechts einige häufige Fälle.
Zur Behebung gibt es kein allgemeines Rezept. Am besten für fremde Webs sind meist jene Einstellungen, bei denen sie jedesmal einzeln gefragt werden. Für eigene Webseiten am eigenen Server schalten sie alle Einschränkungen ab.
Der M$IE Browser, z.B. Menü Extras | Datenschutz, Menü Extras | Erweitert
Ein Virenschutz-Programm
Ein Firewall
Andere Browser
Ein Ausweg auf moderne Browser ist nicht möglich. Wie bei allen Produkten dieses Herstellers sollen seine Produkte möglichst nur mit der eigenen Software funktionieren.
Es gibt Versuche, ActiveX und andere Komponenten auch auf andere Browser und sogar auf andere Betriebssysteme zu portieren. Diese sind bisher über das Experiment nicht hinausgekommen und scheitern möglicherweise auch an juristischen Hürden (Lizenz).
Alternative
Ein Webserver am eigenen PC bietet die gleiche Funktionalität wie ActiveX, allerdings ohne die Nachteile:
Die Browser-Konfiguration entfällt - jeder gängige Browser ist ohne Änderung der Einstellung sofort verwendbar.

Ausgewählte Links zum Thema 'ActiveX'

Microsoft Microsoft: ActiveX, Wikipedia Wikipedia: ActiveX,