![]() |
GeneWeb - Zugriffsbeschränkungen |
Mit GeneWeb kannst du:
Wenn deinen Datenbank auf einem Webserver gehostet wird, betreffen dich nur die ersten drei Punkte.
Die ersten beiden Punkte (globale Zugriffe) funktionieren nur im Server-Modus. Im CGI-Modus müssen die Methoden des jeweils verwendeten HTTP-Servers eingesetzt werden.
Da sich dieses Kapitel mit Zugriffsbeschränkungen beschäftigt, beschreibt der nächste Abschnitt mit dem Thema Roboter und wie man sie davon abhält, Schaden anzurichten. Der letze Abschnitt beschreibt einen noch schärferen Weg der Zugriffsbeschränkung: die schwarze Liste.
In diesem Fall können nur Personen Änderungen vornehmen, die das korrekte "Wizard"-Kennwort besitzen. Alle anderen können normal navigieren, aber sie bekommen den klickbaren "Ändern"-Text in der Personenseiten nicht angezeigt.
Um ein "Wizard"-Kennwort einzurichten, gehe wie folgt vor:
wizard_passwd=xyzzy
Wenn ein "Wizard"-Kennwort installiert ist, wird auf der Startseite (die mit den Flaggen) ein Bereich für die Kennworteingabe angezeigt.
Nachdem du das Kennwort eingegeben hast, wird die Startseite neu angezeigt. Du kannst erkennen, daß du nun im "Wizard"-Modus bist, denn die Texte "Familie hinzufügen" und "Notizen ändern" sollten nun angezeigt werden.
In the navigation, in the personal pages, you have an access to "update". Wahrend der Navigation hast du außerdem auf den Personenseiten Zugriff auf die Funktion "Aktualisieren".
Die übrigen Genealogieinformationen (Eltern, Kindern) bleiben sichtbar.
Wenn ein "Freund"-Kennwort installiert ist, können nur die Personen, die dieses Kennwort (oder das "Wizard"-Kennwort) eingegeben haben, die privaten Informationen sehen.
Um ein "Freund"-Kennwort zu installieren, gehe genau vor wie für das "Wizard"-Kennwort oben beschrieben. Falls du die Datei "meier.gwf" modifzierst, so heißt der Variablenname "friend_passwd".
Warnung: Dies funktioniert nur im Server-Modus. Wenn du im CGI-Modus arbeitest, mußt Du die Methoden nutzen, die in dem verwendeten HTTP-Server zur Verfügung gestellt werden (dies wird hier nicht beschrieben, da das Vorgehen abhängig vom verwendeten Server ist).
Zunächst mußt du eine Berechtigungsdatei erstellen. Diese Datei enthält Zeilen der Form "benutzer:kennwort". Zum Beispiel:
hugo:ex23zuu martin:2wxuz4
Um diese Berechtigungsdatei zu installieren, gehe wie folgt vor:
auth_file=meier.auth
Beim Zugriff auf diese Datenbank blendet dein Webbrowser ein Fenster auf, in dem du einen gültigen Benutzernamen und das zugehörige Kennwort eingeben mußt.
In dem obigen Beispiel mußt Du also "meier" in dem Feld "Benutzerkennung" und "ex23zuu" im "Kennwort"-Feld eingeben oder aber "martin" in dem Feld "Benutzerkennung" und "2wxuz4" im "Kennwort"-Feld.
Wenn dein Eintrag nicht gültig ist, erhältst du keinerlei Zugriff auf die Datenbank.
In diesem Fall sind dann alle Datenbanken nur über die Zugriffsbeschränkung erreichbar. Falls jedoch auf einigen der Datenbanken spezifische globale Zugriffsbeschränkungen installiert sind (siehe vorheriger Abschnitt), so gelten statt der allgemeinen die spezifischen Zugriffsbeschränkungen.
Warnung: Wie auch die der vorherige Abschitt, so funktioniert auch dieses nur im Server-Modus, nicht im CGI-Modus.
Auch hier mußt du eine Berechtigungsdatei erstellen. Dies kann nur vom Administrator durchgeführt werden. Falls deine Datenbank auf einem Webserver gehostet wird, trifft dies auf dich nicht zu.
Die globale Berechtigung wird installiert über die Parameter des "gwd"-Kommandos. Die betreffende Option heißt "-auth" und muß vom Namen der Berechtigungsdatei gefolgt werden.
Viele dieser Roboter sind eine schlechte Idee, da hier die Anzahl der Seiten nahezu unendlich sein kann. Falls zum Beispiel der Roboter von einer Personenseite aus beginnt, dann "Verwandschaft ermitteln" klickt, anschließend "ihr Ehemann" auswählt, dann alle Details dieser Links anklickt, alle Zwischenpersonen, usw.
Oft ist die Idee von Personen, die einen Roboter starten diejenige, daß sie sagen, statt eine Stunde auf einer interessanten Site herumzuklicken lade ich lieber alle Seiten und lese sie in Ruhe zu Hause, während meine Telefonleitung frei bleibt.
Da der GeneWeb-Dienst aber ein Labyrinth ohne Ausgang ist, führt dies nur zu einem Ergebnis: Es füllt die Platte der betreffenden Person mit HTML-Seiten.
Aus der Sicht des Betreibers eines Webservers ist es normalerweise nicht wünschenswert, so viele Anfragen so schnell hintereinander zu erhalten, z.B. mehr als zehn pro Sekunde, denn:
Die Seiten, die von GeneWeb generiert werden, sagen (im Übertragungsprotokoll) dem Roboter jedoch eindeutig, daß er mit dem Herunterladen dieser Seiten nicht weiter machen soll.
"Gute" Roboter, z.B. solche die Web-Seiten oder die "ganze Welt" indizieren, beachten dies Protokollanweisung und hören auf. Aber wenn jemand einen Roboter startet, ist es nahezu unmöglich im zu befehlen, aufzuhören.
Als Maßnahme gegen solche unanständigen Roboter existiert die Option "-robot_xcl" des gwd. Diese Option wertet die Geschwindigkeit aus, mit der Anfragen vom selben Ort kommen.
Parameter für die Option sind zwei Zahlen, getrennt durch ein Komma. Der erste Wert ist die Anzahl "x" der Zugriffe und der zweite Wert die Zahl "y" von Sekunden. Wenn eine Adresse mehr als "x" Zugriffe innerhalb von "y" Sekunden macht, werden alle zukünftigen Zugriffe von dort mit einer entsprechenden Meldung abgewiesen.
Beispiel:
gwd -robot_xcl 100,150
Wenn mehr als 100 Verbindungen in 150 Sekunden von der selben Adresse erkannt werden, erhält die Ursprungsadresse solange keinen Zugriff mehr, bis der Website-Betreiber sich entscheidet, sie wieder freizugeben.
Um den Zugriff von den gesperrten Adressen wieder freizugeben, muß der Website-Betreiber die Datei "robot" löschen, die im Verzeichnis "cnt" liegt. Dies wird auf jeden Fall im Zugriffslog des gwd protokolliert.
Erzeuge eine Datei namens "gwd.xcl" an und lege sie im gleichen Verzeichnis ab wie das Kommando "gwd".
Bearbeite diese Textdatei und füge die Adressen (eine je Zeile), die du sperren möchtest, ein. Du kannst einen "*" für eine beliebige Sequenz von Zeichen einsetzen. Beispiel:
big-bad@wolf.wood provider-*@of.access
Diese sperrt den Zugriff von Adressen wie "big-bad@wolf.wood", "provider-22@of.access", "provider-xx@of.access", und so weiter. Wenn du nur eine Zeile mit einem "*" einfügst, ist der Zugriff von allen Adressen (einschließlich deiner eigenen) verboten.