the | ||||
GATEKEEPER | ||||
v3.2 | ||||
Teil 3 | ||||
Teil 1 | Teil 2 | Teil 3 | Teil 4 (GateKeeper-II) |
Version 2.2
Installationsüberblick | HTTP Authentifizierung | Die Gruft | ||||
Bevor wir weiter machen möchte ich noch etwas erläutern, was für den Erfolg von GateKeeper sehr wichtig ist. Auf den meisten Servern ist zum Verhindern der Anzeige des Verzeichnisses ein Dokument namens index.html notwendig. Das ist das Standarddokument.
Lass mich weiter erklären. Wenn Du auf ein bestimmtes Dokument des Servers zugreifen möchtest, würdest Du folgendes eingeben (oder verlinken)...
http://yada.yada.com/mystuff/mypage.html
Du gelangst zur Seite mypage.html.
Nehmen wir an, Du schneidest den Dateinamen ab und gibst nur die Adresse des Verzeichnisses an...
http://yada.yada.com/mystuff/
Bei den meisten Servern erhältst Du dann eine Auflistung jeder einzelnen Datei in diesem Verzeichnis ... falls es nicht ein Standarddokument in diesem Verzeichnis gibt. Normaleweise nennt man es index.html (auf ein paar Servern muss dieses Dokument default.htm oder index.htm oder ähnlich heißen).
Was kannst Du noch mit GateKeeper tun? Nun, Du kannst die Mouseover Nachricht ändern, wenn Du die Maus über den Link führst. Schau Dir noch mal Deine letzte Übung an. Beachte die Statusleiste, wenn die Maus über dem Link ist...
Beachte, dass sie Passwortgeschützer Bereich heißt. Lass uns das in Chatbereich nur für Mitglieder ändern. Öffne die index.html und ändere die folgende Zeile...
[Ausschnitt]... // Du kannst die folgende Zeile bearbeiten, um die Statuszeilenanzeige zu ändern. var statusMsg = "Chatbereich nur für Mitglieder" ...[Ausschnitt] |
Nehmen wir mal an, Du hast eine Seite nur für Mitglieder. Und nehmen wir an, jemand möchte auf diese Seite, ohne Mitglied zu sein. Er gibt ein falsches Passwort ein und wird abgewiesen. Wäre es nicht schön, wenn er dann direkt zur Anmeldeseite geleitet würde?
Zuerst brauchst Du eine andere Seite. Speichere das folgende als signup.html. Speichere es im Verezeichnis stuff.
<HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY BGCOLOR="#CCCC99"> <H2 ALIGN="center">Anmeldeseite für neue Mitlgieder</H2> </BODY> </HTML> |
Öffne nun die gatemain.html und füge die Umleitungsseite hinzu...
[Ausschnitt]... /*=============================================================== Definition einiger Variabeln ================================================================*/ var storedays = "90"; // Zeitdauer (in Tagen) die die Passworte gespeichert werden var webmasterEmail = ""; // Webmaster's Email Adresse var defaulttimer = 10; // Standardzeitdauer für GateKeeper, um das Passwortdokument zu finden. var redirectpage = "signup.html" // Schicke Nutzer bei falschem Passwort zu dieser Seite komplette oder relative URL ...[Ausschnitt] |
Jetzt schau Dir an was passiert, wenn jemand ein falsches Passwort eingibt...
Kriege ich das auch in Frames zum Laufen?
Sicher doch. Nehmen wir an, Du hast zwei Frames nebeneinander. Du möchtest links auf einen Link klicken, das GateKeeper Pop-up öffnet sich und bei Eingabe eines gültigen Passwortes öffnet sich die Zielseite im rechten Frame
Hier ist ein Beispiel. (Das Passwort ist frumpy)
Und hier ist eine ZIP-Datei mit dem Beispiel.
Es ist einfach, unser erstes Beispiel in eine Frame-Variante zu ändern. Zuerst musst Du index.html in left.html umbenennen. Dann brauchst Du noch zwei Dokumente, eins für den rechten Frame und eine Hauptseite. Speichere folgendes als right.html.
<HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H3 ALIGN="center">right.html</H3> </BODY> </HTML> |
Und speichere folgendes als index.html (Du hast doch die andere index.html in left.html umbenannt, nicht wahr?)
<HTML> <HEAD> <TITLE></TITLE> </HEAD> <FRAMESET COLS="20%,80%"> <FRAME SRC="left.html" NAME="leftframe"> <FRAME SRC="right.html" NAME="rightframe"> </FRAMESET> </HTML> |
Jetzt öffne die frumpy.html und füge folgendes hinzu.
[Ausschnitt]... function letThrough() { parent.opener.parent.rightframe.location.href = target; if(parent.keeperBoxStayOpen == 0) { parent.close(); } } ...[Ausschnitt] |
Das sagt dem Script einfach nur, dass es im Hauptframe namens rightframe geladen werden soll.
Wenn Du die Umleitung bei Eingabe eines falschen Passwortes nutzt, musst Du noch eine andere Zeile ändern. (Fast am Ende der gatemain.html)
[Ausschnitt]... if (redirectpage.length > 2) { parent.opener.parent.rightframe.location.href = redirectpage; } ...[Ausschnitt] |
Es gibt noch einen Konfigurationspunkt, den ich erwähnen möchte, obwohl Du ihn nur bei Problemen ändern solltest. Nachdem Du die Anforderung für die frumpy.html abgesendet hast, pausiert das Skript für 10 Sekunden, um dem Server Zeit zugeben, die Seite zu senden, und dem Browser, um die Seite zu laden. Erst nachdem die 10 Sekunden vorbei sind, wird das Passwort geprüft. Denk daran, dass die Pause nur auftaucht, wenn ein falsches Passwort eingegeben wurde. Wenn ein richtiges Passwort eingegeben wurde, wird sofort nach Laden der frumpy.html die Zielseite in den Browser geladen und das GateKeeper Fenster geschlossen. Normalerweise beendet dies das erste Skript, bevor die 10 Sekunden um sind.
Denke auch daran, dass diese Möglichkeit durch den Nutzer angepasst werden kann. Wenn der Nutzer eine langsame Verbindung hat, kann er die Verzögerung selbst über die Hilfeseite anpassen.
Wenn Du glaubst, dass viele Deiner Nutzer eine langsame Verbindung haben oder Du Beschwerden über "falsche" Passworte erhältst und Du das für das Problem hältst, kannst Du die Verzögerung für alle Nutzer verlängern. Öffne die gatemain.html und ändere folgende auf die gewünschte Sekundenzahl ...
[Ausschnitt]... var storedays = "90"; // Zeitdauer (in Tagen) die die Passworte gespeichert werden var webmasterEmail = ""; // Webmaster's Email Adresse var defaulttimer = 10; // Standardzeitdauer für GateKeeper, um das Passwortdokument zu finden. var redirectpage = "" // Schicke Nutzer bei falschem Passwort zu dieser Seite komplette oder relative URL ...[Ausschnitt] |
Jetzt ist eine gute Gelegenheit, sich die Einstellungen der Hilfedatei anzusehen und damit zu experimentieren. Wenn das GateKeeper Fenster aufgeht, klicke auf den Link Help. Das erste, was Du siehst ist ein Ort, um das Passwort zu speichern oder zu löschen. Probier es aus, um zu sehen, wie es funktioniert. Weiter unten siehst Du den Bereich, wo der Nutzer die Verzögerung der Passwortabfrage erhöhen kann. Noch weiter unten ist ein Bereich, wo der Nutzer Dir, mir oder uns beiden ein Problem melden kann. Meine Email Adresse steht schon drin. Wenn Du auch eine Nachricht haben möchtest, musst Du Deine Email Adresse zur gatemain.html hinzufügen.
Also, öffne die gatemain.html und füge Deine Email Adresse hinzu...
[Ausschnitt]... var storedays = "90"; // Zeitdauer (in Tagen) die die Passworte gespeichert werden var webmasterEmail = "du@dein.provider"; // Webmaster's Email Adresse var defaulttimer = 10; // Standardzeitdauer für GateKeeper, um das Passwortdokument zu finden. var redirectpage = "" // Schicke Nutzer bei falschem Passwort zu dieser Seite komplette oder relative URL ...[Ausschnitt] |
Da wir die Datei gerade offen haben, beachte die erste Zeile. Sie definiert die Variable storedays. Das ist die Anzahl Tage, die das Nutzerpasswort gespeichert bleibt. Nach 90 Tagen muss er es wieder eingeben. Du kannst es auf eine beliebige Anzahl Tage verändern.
Nun meine Damen und Herren, das war ungefähr alles über die Nutzung von GateKeeper v3.2. Ich zeige noch mal einen Überblick über die Dinge, an die Du denken musst, wenn Du ihn einrichtest...
Ich dachte, Du sagtest etwas über die Verwendung von Passwort UND Nutzernamen? Hast Du das vergessen?
Überhaupt nicht. Ich hab's mir nur für den nächsten Teil aufgehoben. Es ist keine Anpassung von GateKeeper. Es ist so anders, dass ich entschieden habe, es GateKeeper-II zu nennen und ihm einen eigenen Teil zu widmen. Du kannst mehr darüber in Teil 4 lernen.