GeneWeb

GeneWeb - Zugriffsbeschränkungen



Wenn deine Datenbank im Web sichtbar ist, möchtest du vielleicht Maßnahmen ergreifen, um den Zugriff auf die darin enthaltenen Informationen einzuschränken.

Mit GeneWeb kannst du:

Wenn deine Datenbank in eine Website eingebunden ist, betreffen dich nur die ersten drei Punkte.

Die letzten beiden Punkte (globaler Schutz) funktionieren nur im Servermodus. Im CGI-Modus müssen die Methoden des jeweils verwendeten HTTP-Servers eingesetzt werden.

Da sich dieses Kapitel mit Zugriffsbeschränkungen beschäftigt, behandelt der nächste Abschnitt das 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.


Online-Änderungen einschränken: "Wizard"-Zugriff

Wenn du nicht möchtest, daß jemand Änderungen an deiner Datenbank vornehmen kann, mußt du ein "Wizard"-Kennwort auf deine Datenbank legen.

In diesem Fall können nur Personen Online-Änderungen vornehmen, die das korrekte "Wizard"-Kennwort besitzen. Alle anderen können normal navigieren, aber sie bekommen den klickbaren "Ändern"-Text in den Personenseiten nicht angezeigt.

Um ein "Wizard"-Kennwort einzurichten, gehe wie folgt vor:

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" werden nun angezeigt.

Beim Navigieren hast du auf den Personenseiten außerdem Zugriff auf die Funktion "Aktualisieren".


Private Informationen schützen: "Freund"-Zugriff

Wenn du die privaten Informationen in deiner Datenbank schützen möchtest, mußt du ein "Freund"-Kennwort eintragen. Die privaten Daten betreffen nur die Personen, die vor weniger als hundert Jahren geboren wurden und sind:

Die übrigen Genealogieinformationen (Eltern, Kindern) bleiben immer sichtbar.

Wenn es ein "Freund"-Kennwort gibt, können nur die Personen, die dieses Kennwort (oder das "Wizard"-Kennwort) eingegeben haben, die privaten Informationen sehen.

Um ein "Freund"-Kennwort einzurichten, verfahre wie oben beim "Wizard"-Kennwort beschrieben. Falls du die Datei "meier.gwf" modifzierst, so setze nun die Variable "friend_passwd".


Zugriff auf eine Datenbank global schützen

Wenn du möchtest, daß deine Datenbank nur für einige Personen sichtbar ist, kannst du eine globale Zugriffsbeschränkung einrichten.

Warnung: Dies funktioniert nur im Servermodus. 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:

Beim Zugriff auf diese Datenbank öffnet dein Webbrowser ein Fenster, 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.


Zugriff auf den gwd-Dienst global schützen

Wenn du möchtest, daß der gwd-Dienst nur von einigen Personen nutzbar ist, kannst du eine globale Zugriffsbeschränkung für den gwd-Dienst installieren. Diese gilt dann für alle enthaltenen Datenbanken.

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 im vorherigen Abschitt, so funktioniert auch dieses nur im Servermodus, nicht im CGI-Modus.

Du mußt wiederum eine Berechtigungsdatei erzeugen. Dies kann nur durch den Webserver-Administrator erfolgen: wenn deine Datenbank anders untergebracht ist, betrifft dich das nicht.

Die globale Berechtigung wird installiert über die Parameter des "gwd"-Kommandos. Die Option "-auth" muß gefolgt werden vom Namen der Berechtigungsdatei.


Roboter

Gelegentlich kommt es vor, daß jemand einen "Roboter" auf deine Website schickt. Diese Roboter sind Programme, die deine Website methodisch durchsuchen, z.B. indem sie auf einer spezifischen Seite anfangen und dann alles "anklicken" was irgendwie anklickbar aussieht und mit den resultierenden Seiten fortfahren.

Die Anwendung eines Roboters auf eine GeneWeb-Seite ist in der Regel eine schlechte Idee, da hier die Anzahl der Seiten nahezu unendlich sein kann. Falls zum Beispiel der Roboter von einer Personenseite aus beginnt, auf "Verwandtschaft ermitteln" klickt, dann auf die Ehefrau, berechnet er alle Verwandtschaftsbeziehungen zwischen der Person und seiner Gattin, dann kann er auf die Details all dieser Links klicken, und auf alle Personen dazwischen usw.

Oft ist der Gedanke von Leuten, die einen Roboter starten derjenige, daß sie sagen, statt eine Stunde auf einer interessanten Website herumzuklicken, lade ich lieber alle Seiten und lese sie in Ruhe zu Hause, während meine Telefonleitung frei bleibt.

Da GeneWeb aber ein Labyrinth ohne Ausgang ist, führt dies nur zu einem Ergebnis: Es überlädt 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 weitermachen soll.

"Gute" Roboter, z.B. solche, die die Webseiten oder die "ganze Welt" indizieren, respektieren diese Protokollanweisung und bestehen nicht darauf, weiterzumachen. Aber wenn jemand einen Roboter startet, ist es nahezu unmöglich, ihm zu befehlen, die Regeln zu beachten.

Als Maßnahme gegen solche ungezogenen 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 derselben 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.


Die schwarze Liste

Die schwarze Liste erlaubt es, den Zugriff auf einen GeneWeb-Server für einzelne oder Gruppen von Internetadressen zu sperren.

Erzeuge eine Datei namens "gwd.xcl" im gleichen Verzeichnis wie "gwd".

Editiere diese Textdatei und trage darin die auszuschließenden Adressen ein (eine pro Zeile), die du abweisen willst. Du kannst auch einen "*" eintragen, um eine Menge von Zeichen anzugeben. Beispiel:

     grosser-böser@wolf.wald
     provider-*@kein.zugriff
Das verbietet den Zugang von Adressen wie "grosser-böser@wolf.wald", "provider-22@kein.zugriff", "provider-xx@kein.zugriff", und so weiter. Wenn du lediglich eine Zeile mit "*" einträgst, wird allen Adressen der Zugriff verweigert (einschließlich deiner eigenen).



Zurück zur Gebrauchsanweisung.


© Copyright 2001 INRIA - GeneWeb