Auf dieser Seite möchte ich Ihnen die Technologien vorstellen, welche ich bei der Entwicklung dieser Homepage verwende. Es gibt Anwender, die aus Sicherheitsgründen sämtliche Funktionalitäten deaktivieren, denn es könnte ja sein, dass irgendjemand aus dem Internet die lokale Festplatte löscht, Trojaner ablegt oder sonstiges. Der Nachteil dieser Sicherheit ist, dass wichtige Funktionalitäten nicht zur Verfügung stehen könnten. Hier möchte ich ansetzten und ein wenig Klarheit schaffen.

Eine letzte Anmerkung zum Schluß
Wissenswertes Teil 2: Häufig verwendete Technologien
Wissenswertes Teil 3: Weitere Technologien
Erfahrungsbericht zu freenetKomplett bzw. 1&1
Erfahrungsbericht zu Call & Surf Comfort (Deutsche Telekom)
HTML seht für "Hypertext Markup Language" und ist die Grundlage jedes Browsers. Dies ist keine Programmiersprache, sondern lediglich eine textbasierte Auszeichnungssprache zur Strukturierung von sämtlichen Inhalten in Webseiten. Ohne HTML wäre also keine Webseite möglich, daher würde eine Deaktivierung von HTML natürlich keinen Sinn machen. Von HTML geht keine nennenswerte Bedrohung aus, es stellt also kein Sicherheitsrisiko dar. Die Standards von HTML werden vom W3C, was für "World Wide Web Consortium" steht, definiert.
Zurück zum Inhaltsverzeichnis dieser Seite
CSS steht für "Cascading Style Sheets" und ist eine Erweiterung zu HTML, um zum einen Inhalte von Webseiten auf besondere Arten darzustellen zu können und zum anderen Inhalt und Gestaltung voneinander zu trennen. Auch für CSS werden die Standards vom W3C, was für "World Wide Web Consortium" steht, definiert. Wie HTML ist CSS keine Programmiersprache sondern eine zu HTML erweiterte textbasierte Auszeichnungssprache. Auch von CSS geht keine nennenswerte Bedrohung aus.
Zurück zum Inhaltsverzeichnis dieser Seite
Hier kommen wir nun zu unserer 1. Programmiersprache. Weiter oben habe ich HTML und CSS erklärt. Daraus ging hervor, dass diese beiden Technologien nur für die Gestaltung von Webseiten nützlich sind. Eine mit HTML und CSS erstellte Webseite ist völlig statisch. Es besteht also kaum Bewegung, es ist keine Interaktion mit dem Benutzer möglich und es ist nicht möglich auf Benutzerereignisse zu reagieren. Das ändert sich nun alles mit "JavaScript". JavaScript ist eine vollständige Programmiersprache, die ausschließlich im Browser (auf dem Client) des Benutzers ausgeführt wird, also nicht auf dem Webserver. Auch hier werden, wie in HTML und CSS, die Standards vom W3C, was für "World Wide Web Consortium" steht, definiert. Mit JavaScript ist es also möglich, Benutzereingaben jeglicher Art zu verarbeiten. Es ist auch möglich, diverse Einstellungen des Browsers auszulesen und zu überwachen. Es ist möglich Cookies zu setzten und zu verarbeiten und auf alle möglichen Benutzerereignisse zu reagieren. Es wäre sogar möglich, eine Webseite fast ausschließlich in JavaScript zu schreiben (natürlich mit HTML als Grundlage), was die meisten Webbaukästen auch tatsächlich tun, dass find ich aber äußerst unpraktisch, da in solch einem Fall JavaScript zwingend aktiviert sein muss, ansonsten kann der Benutzer mit solch einer Webseite überhaupt nichts anfangen. Tja, nun gibt es aber Programmierer, die mit JavaScript allen möglichen Mist zusammenprogrammieren, was zu einem Misstrauen bei den Anwendern gegenüber JavaScript geführt hat. Dieser Mist ist einfach nur sehr lästig, schadet aber den Daten auf der Platte nicht. Grundsätzlich arbeitet JavaScript wie Java, nach den sog. "Sandbox"-Prinzip. Es besteht mit JavaScript in keiner Weise die Möglichkeit auf die Festplatte zuzugreifen, d.h. Daten anzulegen oder Daten auszulesen. Einzige Ausnahme bilden die Cookies (siehe weiter unten) und die sind ungefährlich. Grundsätzlich spricht also nichts dagegen, JavaScript standardmäßig zu aktivieren. In einigen Browsern besteht die Möglichkeit, JavaScript explizit zu sagen, was genau nicht erlaubt ist. Für den Mozilla Firefox gibt es eine wunderbare Erweiterung mit dem Namen "NoScript", mit dessen Hilfe auch explizit Aktionen erlaubt oder verboten werden können. Auch können Webseiten temporär zugelassen werden. Ich empfehle also JavaScript erstmal grundsätzlich zu aktivieren und zur gezielten Einschränkung mit Erweiterungen zu arbeiten. Datenverlust und die Installation von Trojanern ist nicht möglich. JavaScript kann nur in Verbindung mit "ActiveX" im Microsoft Internet Explorer gefährlich werden, daher ist es ratsam, im MSIE, ActiveX zu deaktivieren !
Zurück zum Inhaltsverzeichnis dieser Seite
PHP steht für "Hypertext Preprocessor" (früher "Personal Home Page"). Hier handelt es sich wiederum um eine vollständige Programmiersprache, die allerdings auf dem Webserver ausgeführt wird. Es besteht daher keine Möglichkeit, Daten auf dem Client des Benutzers zu speichern oder auszulesen, außer, wie bei JavaScript, Cookies (werden vom Webserver an den Client gesendet oder anders herum). Jede Webseite wird durch den Benutzer mittels dessen Browser von einem Webserver abgerufen. In diesem Moment besteht eine Verbindung zu einem Webserver. Ist die Endung (der Suffix) der angeforderten Datei nun mit PHP verknüpft, wird PHP ausgeführt und das im HTML-Quellcode eingebettete PHP-Script ausgeführt. Zudem liegen bei jeder Verbindung, auf dem Webserver in der Umgebung von PHP bereits einige Umgebungsvariablen bereit, die ebenfalls weiter verarbeitet werden können. Für den Benutzer hat PHP keine Nachteile und kann am Browser auch nicht deaktiviert werden.
Zurück zum Inhaltsverzeichnis dieser Seite
Und auch hier handelt es sich um eine vollständige Programmiersprache. Java ist nicht nur für den Einsatz im Web optimiert, sondern hat ein sehr umfangreiches Klassenmodell, mit dem weitaus mehr realisierbar ist, außer nur Webanwendungen. Ich verwende hier auf dieser Homepage kaum Java, nur wenn es sich ergeben sollte oder irgendetwas nicht anders lösbar wäre. Java kann auf dem Webserver oder auf dem Client ausgeführt werden. Voraussetzung dafür ist das sog. JDK und die "Java Virtual Machine" (JVM). Die JVM führt den so genannten Java-Bytecode aus. Bytecode entsteht durch Kompilierung von Programmen, die z.B. in Java geschrieben sind. Durch die JVM und des Bytecodes, sind plattformunabhängige Programme möglich. Die JVM dient dabei als Schnittstelle zwischen Java-Programm und Betriebssystem der Maschine. Der große Vorteil einer Virtual Machine ist aber neben der Plattformunabhängigkeit auch der Gewinn an Sicherheit. Eine JVM überwacht zur Laufzeit die Ausführung des Programms, verhindert also z.B. dass ein Programm in fremde Speicherbereiche liest oder schreibt. Das JDK hingegen beinhaltet die eigentliche Version von Java und somit die Funktionalität. Es gibt unterschiedliche Versionen, je nach dem, welches Java verwendet werden soll. Das alles ist in unseren Fall hier aber nicht wichtig. Wenn Java auf dem Server ausgeführt wird, geschieht dies durch sog. Servlets oder JSPs. Wird Java auf dem Client, also in einem Browser, ausgeführt, werden über den Quellcode von HTML sog. "Applets" aufgerufen oder aber es werden in Verwendung von JavaScript, Java-Funktionen angesprochen. Java arbeitet im Webbrowser nach dem "Sandbox"-Prinzip, wie JavaScript auch, und ist daher sehr sicher. Es ist nicht möglich, Daten auf die Festplatte zu schreiben oder von dort zu lesen, außer eben wieder Cookies, diese werden auch hier vom Webserver an den Client gesendet oder anders herum. Applets müssten für derartige Vorgänge signiert werden. Derartige Zertifikate sollten allerdings sehr misstrauisch begutachtet werden. Bei der Ausführung von Java-Funktionen aus JavaScript heraus, ist das Risiko -nach meinen Erkenntnissen- auch sehr gering, da bei systemnahen Funktionen der sog. "Applet Security Manager" greift. Es spricht daher nichts relevantes dafür, Java zu deaktivieren. Sie können also auch Java aktiviert lassen, passieren kann Ihnen da nichts. Vertrauen Sie nur keinen Zertifikaten oder Signaturen, welche beim Zugriff auf Java-Applets erfragt werden könnten.
Zurück zum Inhaltsverzeichnis dieser Seite
Ein Cookie kann von Programmiersprachen wie z.B. JavaScript, PHP oder auch Java gesetzt werden. Zur Speicherung eines Cookies wird normalerweise die lokale Festplatte des Benutzers verwendet. Ein Cookie ist vergleichbar mit einer -programmiertechnisch ausgedrückt- "globalen Variable". Durch das Platzieren eines Cookies ist es der Anwendung möglich, Daten zwischenzuspeichern, um im Laufe der Sitzung diese Daten weiterhin zu verarbeiten. So können mit einem Cookie Daten auch dauerhaft gespeichert werden, wie z.B. Umgebungseinstellungen oder sonstige Werte. Ein Cookie wird normalerweise mit einem Ablaufdatum versehen. Fehlt dieses Ablaufdatum, wird das Cookie nach Ablauf der aktuellen Sitzung gelöscht, ansonsten wird das Cookie mit Ablauf des dort eingetragenen Ablaufdatums automatisch entfernt. Natürlich besteht auch die Möglichkeit, die Cookies manuell zu löschen. Dies funktioniert über die Einstellungen oder Optionen des Browsers. Näheres dazu steht bestimmt in den Anleitungen der jeweiligen Browser. Grundsätzlich ist ein Cookie völlig harmlos. Es ist nur möglich, diejenigen Cookies auszulesen, die man selbst gesetzt hat. Eine Virenübertragung mit Cookies ist ausgeschlossen. Oft besteht die öffentliche Meinung, dass man durch Cookies zum gläsernen Kunde/Surfer wird, dies kann jedoch vernachlässigt werden, denn man hat jederzeit die Möglichkeit, die Cookies manuell zu löschen, wie vorhin bereits beschrieben. Für einen selbst, bieten Cookies oftmals auch einen Zugewinn an Komfort. Es ist also nicht notwendig, das Setzten von Cookies grundsätzlich zu verbieten, dazu sind die Gefahren die dadurch ausgehen könnten zu gering.
Zurück zum Inhaltsverzeichnis dieser Seite
Wie oben schon ein paar mal erwähnt, steht W3C für "World Wide Web Consortium". Hier werden u.a. die Standards für HTML, CSS oder JavaScript definiert und festgelegt. Nun sollte man meinen, dass alle Browser sich an diese Standards halten, dem ist aber leider nicht so. Ganz zum Leidwesen der Webentwickler oder solchen Leuten wir mich, die einfach mal eine Homepage zusammen basteln. Sei es nun HTML, CSS oder JavaScript, jeder Browser interpretiert irgendetwas wieder anders, so dass es zu Problemen in der Darstellung kommen kann. Aus diesem Grund erfolgt die Entwicklung einer Webseite meist auf den gängigsten Browsern, die da wären Mozilla Firefox, MSIE, Opera und in der heutigen Zeit dank Apple auch Safari. Was also in dem einen Browser funktioniert oder genau so dargestellt wird wie man es gerne hätte, muss in einem anderen Browser nicht funktionieren oder es sieht ganz anders aus. Dies finde ich ein großes Manko und gehört endlich bereinigt. Aber nun gut, so ist es einmal und so wird es wahrscheinlich auch noch eine ganze Zeit bleiben. In diesem Zusammenhang möchte ich mich bei den Menschen entschuldigen, denen ein Darstellungsfehler auf meiner Homepage auffällt. Aus den oben genannten Gründen ist eine Bereinigung aber manchmal nicht möglich. Trotzdem, die Funktion sollte zumindest gegeben sein.
Zurück zum Inhaltsverzeichnis dieser Seite
Die oben stehenden Aussagen sind von mir nach bestem Wissen und Gewissen getroffen worden. Mir ist aber durchaus bewusst, dass es Sicherheitsfanatiker gibt, denen jeder Ansatz von Sicherheitsrisiko schon zum Aufschei verhilft. Klar ist, dass es nie einen 100%igen Schutz gibt, so wie bei aller anderen Technik auch.
Man vergleiche das mit den Nebenwirkungen eines medizinischen Medikaments. Nebenwirkungen können auftreten, wenn ein bestimmtes Medikament eingenommen wird. Ist der Nutzen der Einnahme aber größer als das Risiko einer Nebenwirkung, wird das Medikament im Normalfall trotzdem eingenommen. Das Medikament entspricht in diesem Fall der Technologie, wie JavaScript, Java oder Cookies. Die Nebenwirkungen sind gleichbedeutsam mit einem Risiko. Risiken können auftreten, wenn eine dieser Technologien aktiviert wird. Wenn der Nutzen jedoch größer ist als die Möglichkeit eines potentiellen Risikos, kann die Technologie im Normalfall trotzdem aktiviert werden. Klar, stellt sich natürlich wiederum die Frage, was der Nutzen derartiger Technologien ist. Bei richtigem Einsatz mag das aber selbsterklärend sein. Nun könnten wir auch noch über den richtigen Einsatz diskutieren, aber das würde jetzt wohl zu weit führen.
Grundsätzlich gilt aber: Augen auf und bewusst im Internet surfen. Verdächtige Aktionen lieber bleiben lassen. Download bzw. Öffnen von fremden Dateien immer nur mit Bedacht und am besten mit aktuellem- und natürlich aktiviertem Virenscanner. Aufpassen welchen Links man folgt bzw. wo man rauskommen würde. Allgemeine Viren, Phishing oder ähnliches, welches hauptsächlich bei Mails vorkommt, bewirken meines Erachtens ein wesentlich höheres Risiko als die Aktivierung von JavaScript, Java oder Cookies. Das größte Risiko stellt oftmals der Benutzer selbst dar, was in den meisten Fällen auf dessen Unkenntnis zurück zu führen ist.
Copyright © 2007-2012 Andreas Niemeyer. All rights reserved.