Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Webbrowser
3 JavaScript einbauen
4 Programmieren mit JavaScript
5 Datum
6 Zufall
7 Browserinformationen
8 Fenster
9 Formulare
10 Frames und Iframes
11 Grafiken
12 Cookies
13 Objekte und Arrays
14 Ereignisbehandlung
15 Fehlerbehandlung
16 DOM
17 DHTML und CSS
18 AJAX
19 XML
20 Web Services
21 AJAX-Frameworks
22 Plugins
23 Multimedia
24 Java
25 Serverseitige Technologien
26 JavaScript goes .NET
27 Code schützen
28 Top Secret: Passwortschutz
29 Signierte Skripte
30 JavaScript und Sicherheit
31 Navigation
32 Warenkorb
33 JavaScript-Bibliotheken
34 Referenz
35 Quellen im Web
36 Die Zukunft von JavaScript
Index
Download: - ZIP, ca. 9,2 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / JavaScript und AJAX | vor >>
JavaScript und AJAX von Christian Wenz Das umfassende Handbuch
JavaScript und AJAX 839 S., mit DVD, 39,90 Euro Galileo Computing ISBN 3-89842-859-1 |
| Kapitel 27 Code schützen
|  | 27.1 Quellcode einsehen
|  |  | 27.1.1 Menübefehle
|  |  | 27.1.2 Tastenkürzel
|  |  | 27.1.3 Kontextmenü
|  |  | 27.1.4 Dateisystem
|  | 27.2 Code im Frame verstecken
|  | 27.3 Mausklick verhindern
|  | 27.4 Code codieren
|  |  | 27.4.1 Optisch verschleiern
|  |  | 27.4.2 Inhaltlich verschleiern
|  | 27.5 Dateien auslagern
|  | 27.6 Caching verhindern
|  | 27.7 Code serverseitig generieren
## 27.3 Mausklick verhindern Mit JavaScript lassen sich Fenster ohne Menüleiste erstellen (siehe Kapitel 8). Die naheliegendste Variante, auf den Quelltext zuzugreifen, besteht dann in der Verwendung des Kontextmenüs. Dazu muss die rechte Maustaste betätigt werden. Diesen Mausklick kann man bei Browsern ab Version 4 abfangen:
| Für den Internet Explorer muss aufgrund des dortigen Event-Handlings beim Eintreten der Ereignisse mousedown und mouseup die entsprechende Behandlungsfunktion aufgerufen werden:
>     if (document.all) {
>        document.onmouseup = kein_kontext;
>        window.onmouseup = kein_kontext;
>     }
| Für Mozilla-Browser muss die Funktion ebenfalls mit den Event-Handlern verknüpft werden; zusätzlich jedoch wird die Funktion captureEvents() benötigt:
>     if (document.getElementById) {
>        window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
>        window.onmousedown = kein_kontext;
>        window.onmouseup = kein_kontext;
>     }
| Die Funktion kein_kontext() fragt zunächst ab, ob Maustaste 2 oder 3 gedrückt worden ist (je nach Browser hat die rechte Maustaste eine andere Nummer). Falls ja, wird eine Warnmeldung ausgegeben und die Funktion mit return false verlassen. So wird sichergestellt, dass das Ereignis nicht an den Browser weitergereicht wird, der dann das Kontextmenü öffnen würde.
>     function kein_kontext(e) {
>        if (document.all) {
>           if (event.button >= 2) {
>              alert("Kein Rechtsklick!");
>              return false;
>           }
>        } else if (document.getElementById) {
>           if (e.which >= 2) {
>              alert("Kein Rechtsklick!");
>              return false;
>           }
>        } else {
>           return true;
>        }
>     }
Nachfolgend finden Sie das gesamte Skript, wieder in einer Funktion gekapselt, zum einfachen Einbau in Ihre HTML-Seiten:
    function codeschutz_kontext(){
       if (document.all) {
          document.onmouseup = kein_kontext;
          window.onmouseup = kein_kontext;
       } else if (document.getElementById) {
          window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
          window.onmousedown = kein_kontext;
          window.onmouseup = kein_kontext;
       }
    }

    function kein_kontext(e) {
       if (document.all) {
          if (event.button >= 2) {
             alert("Kein Rechtsklick!");
             return false;
         }
       } else if (document.getElementById) {
          if (e.which >= 2) {
             alert("Kein Rechtsklick!");
             return false;
          }
       } else {
          return true;
       }
    }
Der Einbau in ein HTML-Dokument gestaltet sich sehr einfach. Die Funktion muss nur eingebunden und aufgerufen werden:
    <html>
    <head>
    <title>Codeschutz</title>
    <script language="JavaScript" src="codeschutz.js"></script>
    <script language="JavaScript"><!--
    codeschutz_kontext();
    //--></script>
    </head>
    <body oncontextmenu="return false;">
    </body>
    </html>
Hier klicken, um das Bild zu Vergrößern Abbildung 27.5 Die »Fehlermeldung« bei einem Rechtsklick Der Event-Handler oncontextmenu ist ein Feature ab Internet Explorer 5.0. Dieser Event-Handler wird aktiv, sobald das Kontextmenü aufgerufen wird. Durch return false; kann dies sinnvoll unterbunden werden – in halbwegs aktuellen Versionen des Internet Explorers, wohlgemerkt. Gegen das oben vorgestellte Skript gibt es die folgenden Gegenmittel:
| Deaktivierung von JavaScript
| Menübefehl (Ansicht N Quelltext anzeigen beim Internet Explorer, Ansicht N Seitenquelltext bzw. View N Page Source im Mozilla)
| Tastenkürzel ((Strg)+(U) im Netscape)
| Verwendung einer speziellen Taste auf Windows-Tastaturen (außer beim Internet Explorer mit oncontextmenu="return false;")
| Durchsuchen des Browser-Caches
<< zurück | <top> | vor >>
Zum Katalog
JavaScript und AJAX bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| JavaScript und AJAX - Das Video-Training
| Webseiten programmieren und gestalten
| XHTML, HTML und CSS
| CSS-Praxis
| AJAX
| PHP 5 und MySQL 5
| TYPO3 4.0
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

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