Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 <<   zurück
JavaScript und AJAX von Christian Wenz
Das umfassende Handbuch
Buch: JavaScript und AJAX

JavaScript und AJAX
839 S., mit DVD, 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-859-1
gp Kapitel 27 Code schützen
  gp 27.1 Quellcode einsehen
    gp 27.1.1 Menübefehle
    gp 27.1.2 Tastenkürzel
    gp 27.1.3 Kontextmenü
    gp 27.1.4 Dateisystem
  gp 27.2 Code im Frame verstecken
  gp 27.3 Mausklick verhindern
  gp 27.4 Code codieren
    gp 27.4.1 Optisch verschleiern
    gp 27.4.2 Inhaltlich verschleiern
  gp 27.5 Dateien auslagern
  gp 27.6 Caching verhindern
  gp 27.7 Code serverseitig generieren

Das Wesentliche ist für die Augen unsichtbar, man muss es mit dem Herzen sehen. – Antoine de Saint-Exupéry, Der kleine Prinz

Kapitel 27 Code schützen

Beim Lesen von JavaScript-Newsgroups und in Diskussionslisten sowie in den Gängen von Web-Agenturen taucht immer wieder eine Frage auf: Wie kann ich meinen JavaScript-Code schützen? Wie kann ich verhindern, dass andere Personen meinen Code auslesen, kopieren, abändern und dann als ihr geistiges Eigentum ausgeben können?

Um die Antwort vorwegzunehmen: gar nicht.

Sie haben richtig gelesen – es ist nicht möglich, den Code hundertprozentig zu schützen. Es gibt mehrere Ansätze, und manche Programmierer behaupten tatsächlich, ihr Ansatz würde funktionieren. Bis jetzt konnte aber noch niemand nachweisen, dass seine Lösung auch wirklich funktioniert.

Denken Sie daran: JavaScript ist eine clientseitige Skriptsprache. Das heißt, sie wird vom Client, also vom Webbrowser, interpretiert. Die Daten müssen daher irgendwie beim Browser ankommen. Man kann die Daten auf mehrere Arten und Weisen abfangen; manchmal bietet der Browser sogar Möglichkeiten an, auf den Quellcode zuzugreifen.

Im Folgenden werden wir einige Möglichkeiten vorstellen, wie Sie es dem Benutzer möglichst schwer machen, auf die Daten zuzugreifen. Mögliche Illusionen wollen wir Ihnen jedoch vollständig nehmen. Aus diesem Grund erfahren Sie jedes Mal, wie das vorgestellte Verfahren ausgehebelt werden kann.

Bei den Methoden zum Datenzugriff beschränken wir uns auf die Browser Internet Explorer und Mozilla, aber auch mit anderen Browsern ist es sehr einfach, an Quellcodeinformationen zu gelangen.


Rheinwerk Computing

27.1 Quellcode einsehen  downtop

Von einem Webserver übertragene Dateien werden von den verschiedenen Browsern an unterschiedlichen Stellen zwischengespeichert. Es gibt mehrere Möglichkeiten, auf diese Dateien zuzugreifen:

gp  über Menübefehle
gp  mit Tastenkürzeln
gp  durch Kontextmenüs
gp  über das Dateisystem

Im Folgenden stellen wir die erfolgreichsten Methoden vor.


Rheinwerk Computing

27.1.1 Menübefehle  downtop

Jeder Browser, der etwas auf sich hält, bietet Menübefehle an, um auf den Quelltext von einzelnen HTML-Seiten zuzugreifen.

Im Microsoft Internet Explorer steht dazu das Kommando Ansicht N Quelltext anzeigen zur Verfügung. Der Browser öffnet dann den Standard-Texteditor des Systems (unter Windows: Notepad). Für größere Dateien wird unter einigen Windows-Versionen bei Bedarf WordPad geöffnet, weil Notepad dort eine Größenbeschränkung hat.

Mozilla-Browser bieten die Menüoption Ansicht N Seitenquelltext bzw. View N Page Source. Hierzu wird ein neues Browserfenster ohne jeglichen Schnickschnack geöffnet (also ohne irgendwelche Leisten; nur die Titelleiste und gegebenenfalls Scrollbalken sind sichtbar). In diesem Fenster wird der Seitenquelltext angezeigt.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 27.1     Quellcode einsehen im Firefox


Rheinwerk Computing

27.1.2 Tastenkürzel  downtop

Die wichtigsten Menübefehle einer Applikation können auch mit Tastenkürzeln aufgerufen werden. Das ermöglicht erfahreneren Benutzern, auf die wichtigsten Funktionen einer Applikation möglichst schnell zuzugreifen. Ein Tastenkürzel kann schneller ausgeführt werden als ein Mausklick, denn mit der Maus muss zunächst das zu klickende Element gesucht und mit dem Cursor erreicht werden. Diese »Arbeit« entfällt bei Tastenkürzeln, weil versiertere Benutzer blind tippen können und dabei die Augen nur auf den Bildschirm richten müssen. Wo sich die einzelnen Tasten befinden, verrät das Gefühl.

Unter dem Microsoft Internet Explorer steht kein Tastenkürzel für die Anzeige des Quelltextes zur Verfügung. Die Mozilla-Versionen dagegen kennen (Strg)+(U), was denselben Effekt hat wie Ansicht N Seitenquelltext bzw. View N Page Source.

Eine besondere Bedeutung kommt hier den Frames zu. Bei mehreren Frames ist oft nicht der Quellcode des Hauptdokuments mit dem <frameset>-Element interessant, sondern der Code in den einzelnen Frames. Sobald Sie mit der Maus in einen Frame klicken, erhalten Sie bei Mozilla-Browsern über Ansicht N Rahmenquelltext bzw. View N Frame Source den Quelltext des ausgewählten Frames.


Rheinwerk Computing

27.1.3 Kontextmenü  downtop

Wenn Sie mit der rechten Maustaste in einen leeren Bereich eines HTML-Dokuments klicken, erhalten Sie ein Kontextmenü, über das Sie unter anderem auch den Quelltext des aktuellen Dokuments anzeigen können. Das funktioniert durchgängig bei allen Browsern, seien es der Internet Explorer, Netscape Navigator oder Opera. Lediglich die Bezeichnung des entsprechenden Menüeintrags ist anders:

gp  Beim Internet Explorer heißt der Eintrag Quelltext anzeigen.
gp  Bei Mozilla-Browsern heißt der Eintrag Seitenquelltext anzeigen bzw. View Page Source (siehe Abbildung 27.2).

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 27.2     Das Kontextmenü im Firefox

Sie müssen nur darauf achten, dass Sie nicht mit der rechten Maustaste auf eine Grafik klicken; der Internet Explorer streicht dann den Eintrag Quelltext anzeigen aus dem Kontextmenü.

Was wenige wissen: Das Kontextmenü lässt sich auch per Tastendruck aufrufen, wenn die Tastatur das unterstützt. Windows-Tastaturen haben nämlich rechts von (AltGr) noch eine spezielle Taste (), die das Kontextmenü aufruft. So kann auch ohne Mausbetätigung der Quelltext einer Seite über das Kontextmenü angezeigt werden.


Rheinwerk Computing

27.1.4 Dateisystem  toptop

Wenn ein Browser Daten von einem Webserver anfordert, hält er diese in der Regel nicht im Speicher (der wäre sonst schnell voll), sondern legt sie auf der Festplatte ab. Wenn Sie also Ihre Festplatte durchsuchen, stoßen Sie auf eine Reihe von HTML-Dateien, Grafiken und eben auch auf JavaScript-Files. Sie müssen nur wissen, wo Sie zu suchen haben:

gp  Der (Windows-)Internet Explorer speichert die Dateien in einem Ordner namens Temporary Internet Files zwischen. Dieser Ordner befindet sich:
    gp  bei Windows 9x/Me unterhalb des Verzeichnisses C:\windows
    gp  bei Windows NT/2000/XP/2003/Vista im Profilverzeichnis des Benutzers (z.  B. C:\winnt\profiles\benutzername oder C:\Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten)
Die genauen Ordnerbezeichnungen sind auch von der jeweiligen Systemkonfiguration abhängig.
gp  Mozilla-Browser speichern (unter Windows) die Dateien im Verzeichnis C:\windows\Anwendungsdaten\ (beziehungsweise C:\Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten) ab; der genaue Pfad hängt natürlich unter anderem davon ab, welches Mozilla-Derivat Sie einsetzen.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 27.3     Im Cache des Internet Explorer befinden sich auch .js-Dateien.

Sie können also Ihren Cache über das Dateisystem durchsuchen und dort abgelegte Dateien beispielsweise in einem Texteditor öffnen. Schon haben Sie Zugriff auf den dortigen Code.

In Mozilla-Browsern haben Sie über die Pseudo-URL about:cache die Möglichkeit, einen Einblick in die im Cache abgelegten Dateien zu erhalten, sogar inklusive Einblick in den Speicher-Cache (siehe Abbildung 27.4).

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 27.4     Zugriff auf den Cache eines Mozilla-Browsers leicht gemacht

Sie haben nun einen Überblick darüber erhalten, wie Sie an den Code herankommen können. In den folgenden Abschnitten werden verschiedene Ansätze vorgestellt, wie Sie den Zugriff auf die Daten zumindest erschweren können.

 <<   zurück
  
  Zum Katalog
Zum Katalog: JavaScript und AJAX
JavaScript und AJAX
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: JavaScript






 JavaScript


Zum Katalog: jQuery






 jQuery


Zum Katalog: Einstieg in JavaScript






 Einstieg in JavaScript


Zum Katalog: Responsive Webdesign






 Responsive Webdesign


Zum Katalog: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de