Galileo Computing < openbook > Galileo 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
Galileo 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


Galileo Computing

27.2 Code im Frame verstecken  toptop

Frames sind ein beliebtes Mittel, um den Inhalt einer Website zu strukturieren – oder um permanent ein Werbebanner einzublenden. Ein häufig eingesetztes Mittel sind zudem unsichtbare Frames.

Angenommen, Sie haben eine Homepage bei Ihrem ISP und Ihre URL ist http://privat.xy.de/IhrName/. Nun würden Sie gern eine Domain dazu registrieren, beispielsweise http://www.0815.de/. Als alter Schotte nehmen Sie den billigsten Anbieter, der keinerlei Webspace (Speicherplatz) anbietet, sondern nur eine Weiterleitung. Wenn ein Benutzer also http://www.0815.de/ in seinem Browser aufruft, sowll eigentlich http: //privat.xy.de/IhrName im Browser erscheinen. Damit die hässliche URL aber nicht auftaucht, werden unsichtbare Frames eingesetzt. Die Seite http://privatxy.de/IhrName wird zwar aufgerufen, allerdings in einem Frame, was dazu führt, dass die URL nicht in der Adressleiste des Browsers auftaucht. Es muss nur dafür gesorgt werden, dass der Frame möglichst das gesamte Browserfenster einnimmt:

<html>
<head>
<title>www.0815.de</title>
</head>
<frameset rows="100%">
  <frame src="http://privat.xy.de/IhrName/" />
</frameset>
</html>

Natürlich können Sie auch ein <iframe>-Element einsetzen.

Diese Methode können Sie auch für Ihre JavaScript-Bemühungen einsetzen. Einige Benutzer greifen nur über Ansicht N Quelltext anzeigen auf den Quelltext zu. Wenn Sie also nach obigem Muster Frames einsetzen, erhält der Benutzer den Quellcode mit <frameset> bzw. <iframe>, aber nicht die eigentliche Seite (mit dem geheimen JavaScript-Code).

Dieses Vorgehen lässt sich aber wie folgt besonders einfach aushebeln:

gp  durch das Kontextmenü
gp  im Netscape mit dem Menübefehl Ansicht N Rahmenquelltext bzw. View N Frame Source.

Zu Beginn des Abschnitts war von »unsichtbaren Frames« die Rede. Damit bezeichnet man im Allgemeinen Frames, die nicht sichtbar sind, also eine Breite/Höhe von einem oder null Pixeln haben. Nachfolgend ein Beispiel:

<html>
<head>
<title>Unsichtbarer Frame</title>
</head>
<frameset rows="100%, *" border="no" frameborder="0">
  <frame src="hauptseite.html" />
  <frame name="js" src="skript.html" />
</frameset>
</html>

Der untere Frame mit dem name-Attribut "js" ist unsichtbar. In ihm wird die Datei skript.html geladen, die eine Reihe von JavaScript-Funktionen enthalten kann.

Sie können nun vom Hauptframe aus die Funktionen im unsichtbaren Frame aufrufen:

<a href="javascript:if (parent.frames['js']) parent.frames['js'].funktionsname()">Funktion aufrufen
</a>

Beachten Sie die Überprüfung:

if (parent.frames['js'])

Damit können Sie sicherstellen, dass der Frame überhaupt existiert. Wenn nämlich ein Benutzer einen Link im oberen Frame im neuen Fenster öffnet, stehen die Skripten nicht mehr zur Verfügung.

Bei komplexeren Frame-Strukturen müssen Sie die Abfrage selbstredend anpassen, beispielsweise die Frame-Referenz ändern:

if (top.frames['js']){
   top.frames['js'].funktionsname()
}

Dieses Vorgehen lässt sich nicht mehr über Menübefehle aushebeln und auch nicht über das Kontextmenü, da Sie nicht in den unsichtbaren Frame klicken können.

Der Benutzer muss hier ein wenig mehr Gehirnschmalz aufwenden. Wenn er das Hauptdokument mit dem <frameset> analysiert, wird er die Referenz auf die Datei skript.html finden. Wenn diese Datei einzeln im Browser aufgerufen wird, kann sie problemlos eingesehen werden.

 <<   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 und AJAX - Das Video-Training






 JavaScript und AJAX -
 Das Video-Training


Zum Katalog: Webseiten programmieren und gestalten






 Webseiten
 programmieren
 und gestalten


Zum Katalog: XHTML, HTML und CSS






 XHTML, HTML und CSS


Zum Katalog: CSS-Praxis






 CSS-Praxis


Zum Katalog: AJAX






 AJAX


Zum Katalog: PHP 5 und MySQL 5






 PHP 5 und MySQL 5


Zum Katalog: TYPO3 4.0






 TYPO3 4.0


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de